Greasemonkey(js) skript für alarm geht nicht
derdon
- javascript
hallihallo
ich hab folgendes userscript geschrieben, das in abgewandelter form später nen warnton bei bestimmten ereignissen von sich geben soll.
allerdings heult passiert bis auf die zwei alerts garnichts.
// ==UserScript==
// @name g_mod
// @namespace g_mod
// @include http://www.google.de/
window.addEventListener("load", function() { main() }, false);
function main() {
alert("start");
playSound();
alert("done");
}
function playSound()
{
body = document.getElementsByTagName("body")[0];
var emb = document.createElement("embed");
emb.src = "file://localhost/police_siren.wav";
emb.setAttribute("autostart", "true");
emb.setAttribute("loop", "true");
emb.setAttribute("hidden", "true");
emb.setAttribute("volume", "100");
body.appendChild(emb);
}
//var maxMin =2;
//var min = (Math.random()+0.1)*maxMin;
//window.setTimeout("document.location.reload();", min*60*1000);
//.user.js
weis da jemand evtl rat
mfg derdon
[/code]
weis da jemand evtl rat
mfg derdon
vielleicht solltest du den userscript tag schließen
// ==UserScript==
und deine main funktion auch aufrufen.
lg
vielleicht solltest du den userscript tag schließen
// ==UserScript==
und deine main funktion auch aufrufen.lg
hmm, eigl hatte ich ja geschrieben, dass die 2 alerts aus der main-funktion aufgerufen werden.
Daran liegts also nicht, sondern an der funktion playsound().
Ich weiss aber nicht was ich da falsch gemacht haben sollte.
Die datei ist vorhanden.
Der pfad sollte korrekt sein.
Die Attribute sind alle io.
mfg derdon
window.addEventListener("load", function() { main() }, false);
function main() {
alert("start");
playSound();
alert("done");}
Eingentlich ein ganz einfaches Problem ^^
Die Greasemonkey scripte laufen in einer sandbox. zum zeitpunkt des load ereigniss ist diese Sandbox längst wieder geschlossen und die function main() existiert nicht mehr...
folgendes würde gehen:
window.addEventListener("load", function() {
alert("start");
body = document.getElementsByTagName("body")[0];
var emb = document.createElement("embed");
emb.src = "file://localhost/police_siren.wav";
emb.setAttribute("autostart", "true");
emb.setAttribute("loop", "true");
emb.setAttribute("hidden", "true");
emb.setAttribute("volume", "100");
body.appendChild(emb);
alert("done");
}, false);
Zünni
window.addEventListener("load", function() { main() }, false);
function main() {
alert("start");
playSound();
alert("done");}
Eingentlich ein ganz einfaches Problem ^^
Die Greasemonkey scripte laufen in einer sandbox. zum zeitpunkt des load ereigniss ist diese Sandbox längst wieder geschlossen und die function main() existiert nicht mehr...
folgendes würde gehen:
window.addEventListener("load", function() {
alert("start");
body = document.getElementsByTagName("body")[0];
var emb = document.createElement("embed");
emb.src = "file://localhost/police_siren.wav";
emb.setAttribute("autostart", "true");
emb.setAttribute("loop", "true");
emb.setAttribute("hidden", "true");
emb.setAttribute("volume", "100");
body.appendChild(emb);
alert("done");
}, false);
>
> Zünni
tja, das geht auch nicht. :(
ich hab so langsam das gefühl, dass ich gar keine files von meiner festplatte einbinden kann.