Можем ли мы вызывать функции расширения из скриптов страниц?

Этот поток довольно старый, но я определил вариант, который может оказаться полезным.

Вместо использования библиотеки Java AudioStream вы можете использовать внешнюю программу, такую ​​как Windows Media Player или VLC, и запускать ее с консольной командой через Java.

String command = "\"C:/Program Files (x86)/Windows Media Player/wmplayer.exe\" \"C:/song.mp3\"";
try {
    Process p = Runtime.getRuntime().exec(command);
catch (IOException e) {
    e.printStackTrace();
}

Это также создаст отдельный процесс, которым можно управлять программой.

p.destroy();

Конечно, это займет больше времени, чем использование внутренней библиотеки, но могут быть программы, которые могут запускаться быстрее и, возможно, без графического интерфейса, заданного некоторыми командами консоли.

Если время не имеет смысла, это полезно.

1
задан InteXX 2 March 2019 в 03:08
поделиться

1 ответ

Сначала вы должны добавить следующий код в файл manifest.json:

{
  "name": "My extension",
  ...
  "content_scripts": [
    {
      "matches": [ "http://*/", "https://*/" ],
      "js": ["content.js"],
      "run_at": "document_start"
    }
  ],
  "permissions": [
    "http://*/",
    "https://*/"
  ]
  ...
}

Теперь вы должны создать файл content.js, содержимое которого:

const injectedScript = document.createElement('script');
injectedScript.src = chrome.extension.getURL('injected.js');
(document.head || document.documentElement).appendChild(injectedScript);

Затем создайте файл injected.js и напишите свой код в этом файле, например:

function doStuff() {
  // Do stuff
}

Надеюсь, я понимаю, что вы имеете в виду. Если есть проблема, пожалуйста, дайте мне знать.

0
ответ дан Black-Hole 2 March 2019 в 03:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: