2012-06-04 3 views
0

Я проектирую панель инструментов для хром. Это мой код в background.html:Как выполнить скрипт каждый раз, когда загружается новая страница?

<script> 
function addToolbar() { 
    return function(info, tab) { 
     chrome.tabs.executeScript(tab.id, {file: "toolbar.js"}) 
    }; 
}; 

addToolbar(); 
</script> 

В toolbar.js есть код для создания IFRAME и добавить его в документ. Проблема заключается в том, что функция «addToolbar()» не выполняется автоматически, поэтому панель инструментов не появляется. Как я могу это сделать?

EDIT: мой toolbar.js код:

var iframe = document.createElement("iframe"); 
iframe.setAttribute("src", "http://www.example.com/mytoolbar.html"); 
iframe.style.cssText='position:fixed;width:100px;height:50px;bottom:0px;left:0px;'; 
(document.body||document.documentElement).appendChild(iframe); 

ответ

0

Ваша функция addToolbar просто возвращает другую функцию. Он не выполняет его.

Если вы хотите выполнить возвращенную функцию, вы можете сделать это следующим образом:

addToolbar()(); 

Или вы должны выполнить то, что вы должны быть выполнены непосредственно в addToolbar функции:

function addToolbar(info, tab) { 
    chrome.tabs.executeScript(tab.id, {file: "toolbar.js"}) 
}; 
+0

Я только что попробовал оба ваших решения, но он не работает :( – xRobot

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