derdon: Greasemonkey(js) skript für alarm geht nicht

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

  1. [/code]

    weis da jemand evtl rat

    mfg derdon

    vielleicht solltest du den userscript tag schließen
    // ==UserScript==
    und deine main funktion auch aufrufen.

    lg

    1. 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

  2. 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

    1. 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.