2016-01-31 2 views
-1

Я пытаюсь сделать расширение хром Google. когда пользователь нажимает значок действия браузера, он предположительно «снег» на текущей веб-странице. У меня есть javascript, но я не могу понять, как использовать скрипт контента или фоновый скрипт. как я могу привнести свои JavaScript snow.js и файл snow.htmlgoogle chrome extensions content script и background

<canvas id="canvas"></canvas> 

ответ

0

Первое, вы не можете вводить HTML-файл на веб-страницу с функцией содержание сценария. То есть JavaScript и CSS доступны в качестве сценария контента. Если вы хотите поместить новый тег canvas на веб-сайт, вам необходимо создать тег с кодом JavaScript. В этом случае, его сценарий будет стать snow.js на как следующий код:

var canvas = document.createElement("canvas"); 
canvas.setAttribute("id", "canvas"); 
var body = document.querySelector("body"); 
body.appendChild(canvas); 

При внутривенном введении сценария против текущей вкладки, вам необходимо определить разрешение в файле manifest.json:

{ 
    ... 
    "permissions": [ 
    "activeTab", 
    ... 
    ], 
    ... 
} 

И вы регистрируете обработчик события клика для своей кнопки браузера. В функции обработчика вы можете ввести свой файл JavaScript в текущую вкладку.

chrome.browserAction.onClicked.addListener((tab) => { 
    chrome.tabs.executeScript(tab.id, { 
    file: "snow.js" 
    }); 
}); 

Вы увидите падающий снег на вкладке, если удалось ...

+0

спасибо! просто еще один вопрос: он отлично работает на сайте, как стартовая страница google, но не на веб-сайте с обширным фоном (например, nytimes.com). Что я могу сделать, чтобы снег выпал «впереди» элементов сайтов и, таким образом, всегда был видимым? – user3465370

+0

Имеет ли слой, отображающий снег, значение z-индекса css? Я думаю, что это проблема в отношении CSS. –

Смежные вопросы