Я хочу создать вкладку, нажав кнопку действия браузера, а затем вставить сценарий содержимого или выполнить сценарий. Пока что это плохо работает.
Background.html
chrome.browserAction.onClicked.addListener(function(tab)
{
chrome.tabs.create({url: "Dreamer.html"}, function(tab) //Dreamer.html is a file in my extension
{
//Add a script
chrome.tabs.executeScript(tab.id, {file:'Dreamer.js'});
});
});
Manifest.json
{
"name" : " Dreamer",
"version" : "0.1",
"description" : "My extensionr",
"browser_action" : {"default_icon" : "App/AppData/Images/icon.png", "default_title":"Start Dreamer" },
"background_page" : "App/AppData/background.html",
"content_scripts" :[{"matches":["http://*/*"],"js":["app/view/UIManager.js"]}],
"permissions": [ "cookies", "tabs", "http://*/*", "https://*/*" ]
}
Я получаю эту ошибку на фоновой странице
Error during tabs.executeScript: Cannot access contents of url "chrome-extension://femiindgnlfpdpajimkmldpgpccngfmd/Dreamer.html". Extension manifest must request permission to access this host.
Мне бы очень хотелось узнать, как создать вкладку (новая вкладка) и сразу запустить скрипт
РЕДАКТИРОВАТЬ:
Приложение, которое я создаю, требует следующих действий:
-Разрешить пользователю создавать новую вкладку, нажав кнопку действия в браузере
-При создании новой вкладки открывается файл с моим расширением (Dreamer.html)
-Добавить сценарий содержимого или выполнить сценарий в новой вкладке
Благодарность
1 ответ
Есть ли какая-то конкретная причина, по которой вам нужно внедрить скрипт? Поскольку и Dreamer.html, и Dreamer.js кажутся жестко закодированными, вы можете просто включить <script type="text/javascript" src="Dreamer.js"></script>
в первый, верно?
В качестве дополнительного преимущества, если вам нужно отправить информацию на фоновую страницу, вы можете получить к ней прямой доступ с помощью chrome.extension.getBackgroundPage()
вместо того, чтобы настраивать сложные прослушиватели, которые обычно также поставляются со сценариями контента.
Внедрение сценариев содержимого предназначено для внедрения сценариев за пределами изолированной программной среды расширения. Однако Dreamer.html является частью расширения.
Изменить
Если вам нужен (громоздкий) пример того, как выполнить скрипт на странице расширения, см. здесь:
http://code.google.com/p/chromium/issues/detail?id=30756#c11
Однако я не думаю, что это применимо к вашему случаю.
Похожие вопросы
Новые вопросы
google-chrome
[google-chrome] предназначен для вопросов, связанных с разработкой с помощью Google Chrome, веб-браузера, использующего механизм рендеринга Blink. Предупреждение! Общая поддержка браузера не по теме: вопросы по использованию или настройке браузера следует размещать на https://superuser.com. Chrome OS и Chromium не по теме: вопросы о [google-chrome-os] или [chromium] должны использовать эти теги.