Kod
"content_scripts":
[
{
"matches": ["*://moja-strona.pl/*"],
"js": ["js/insertPanel.js"]
}
],
[
{
"matches": ["*://moja-strona.pl/*"],
"js": ["js/insertPanel.js"]
}
],
Wstawiam sobie na stronę panel (głownie złożony z buttonów) poprzez skrypt insertPanel.js:
Kod
// insertPanel.js
//...
var panel = document.createElement("div");
panel.setAttribute("id", "idbleble");
panel.innerHTML = "<button type="button">xyz</button>...";
//...
//...
var panel = document.createElement("div");
panel.setAttribute("id", "idbleble");
panel.innerHTML = "<button type="button">xyz</button>...";
//...
Ok, to działa.
W tym panelu, np. po kliknięciu na button chcę, aby wykonała się jakaś funkcja (napisana przeze mnie). No i to działa tylko wtedy, kiedy umieszczę te funkcje w <head>:
Kod
var panelScripts = document.createElement("script");
panelScripts.setAttribute("type","text/javascript");
panelScripts.innerHTML = "function somethink() {...}";
document.getElementsByTagName("head")[0].appendChild(panelScripts);
panelScripts.setAttribute("type","text/javascript");
panelScripts.innerHTML = "function somethink() {...}";
document.getElementsByTagName("head")[0].appendChild(panelScripts);
Próbowałem tak:
Kod
"content_scripts":
[
{
"matches": ["*://moja-strona.pl/*"],
"js": ["js/insertPanel.js", "js/myFunctions.js"]
}
],
...skrypt się ładuje (sprawdzam poprzez "narzędzia dla programistów"), ale po kliknięciu na button otrzymuję błąd:[
{
"matches": ["*://moja-strona.pl/*"],
"js": ["js/insertPanel.js", "js/myFunctions.js"]
}
],
Cytat
Uncaught ReferenceError: somethink is not defined
Mógłby mi ktoś wyjaśnić dlaczego przeglądarka "nie widzi" tych funkcji - pomimo tego, że skrypt jest załadowany? Bo ja chyba o czymś zapominam...
