wsxedcrfv: bitte um hilfe für ein greasemonkeyscript (js anfänger)

hi.
ich habe mit javascript erst angefangen und habe jetzt ein problem:
mein script soll auf linkbucks-seiten einen link mit der weiterführenden url am seitenanfang einfügen.

der script:

  
// ==UserScript==  
// @name           	bc script linkbucks  
// @namespace     	bc script linkbucks  
// @description		Skip/Bypass linkbucks page or etc without waiting  
// @include		*  
// ==/UserScript==  
  
//url  
var _url_="";  
  
if(document.title=="LinkBucks.com - Get your share!"){  
//hier lese ich die url aus (sie steht leider in einem javascripttag):  
_url_ = document.all.innerText.split("Lbjs.TargetUrl = '")[1].split("'")[0];  
  
//insert url  
//hier will ich den alten body durch einen neuen ersetzen, der am anfang  
//meinen link stehen hat  
var _newBody_='<a href="'+_url_+'">WEITER</a></br>'+document.all.innerText;  
document.all.innerText = _newBody_;  
}  

hier bekomme ich den fehler: document.all.innerText is undefined
leider weiß ich nicht, was ich falsch mache.

  1. document.all.innerText = _newBody_;

    Weil du das ganze Dokument referenzierst und nicht ein beinhaltendes Element

  2. Ich dachte document.all sollte man längst nicht mehr nutzen?!

    Das hier

    if(document.title=="LinkBucks.com - Get your share!")

    ist eine absolute Fehlerquelle!
    Nenne deine Seite einmal um und dein Script wird nicht mehr funktionieren. Das findest du so schnell nicht mehr.

  3. Ich dachte document.all sollte man längst nicht mehr nutzen?!

    was dann?

    ok nun sieht mein script so aus:

      
    ...  
    	//hier lese ich die url aus (sie steht leider in einem javascripttag):  
    	var _bdy_=document.body.innerHTML;  
    	var _url_ = _bdy_.split("Lbjs.TargetUrl = '")[1].split("'")[0];  
      
    	//insert url  
    	//hier will ich den alten body durch einen neuen ersetzen, der am  
    	//anfang meinen link stehen hat  
    	var _newBody_='<a href="'+_url_+'">WEITER</a></br>'+_bdy_;  
    	_bdy_ = _newBody_;  
    
    

    mein problem:
    document.body.innerText ist undefined.
    document.body.innerHTML.split gibt es nicht.
    kann ich irgendwie document.body.innerHTML als string behandeln, sodass ich split benutzen kannn? (bzw wie sollte ich das angehen, was sollte ich anders machen?)

    1. ok funktioniert doch mit:

      //hier lese ich die url aus (sie steht leider in einem javascripttag):  
      		var _bdy_=document.body.innerHTML;  
      		var _url_ = _bdy_.split("Lbjs.TargetUrl = '")[1].split("'")[0];  
        
      		alert(_url_);  
        
      		//insert url  
      		//hier will ich den alten body durch einen neuen ersetzen, der am anfang  
      		//meinen link stehen hat  
      		var _newBody_='<a href="'+_url_+'">WEITER</a></br>'+_bdy_;  
      		_bdy_ = _newBody_;
      

      nur am anfang wird kein link eingefügt.....

      1. ok jetzt wird der link eingefügt und das restliche htmldokument zerschossen (hier nicht so schlimm, nur unschön)

        		//hier lese ich die url aus (sie steht leider in einem javascripttag):  
        		var _bdy_=document.body.innerHTML;  
        		var _url_ = _bdy_.split("Lbjs.TargetUrl = '")[1].split("'")[0];  
          
        		//alert(_url_);  
          
        		//insert url  
        		//hier will ich den alten body durch einen neuen ersetzen, der am anfang  
        		//meinen link stehen hat  
        		var _newBody_='<a href="'+_url_+'">WEITER</a></br>'+_bdy_;  
        		document.body.innerHTML = _newBody_;
        

        ps: sry für die mehrfachen posts... hatte nur zu spät die entsprechende idee

        1. 	//hier lese ich die url aus (sie steht leider in einem javascripttag):  
          
            var _bdy_=document.body.innerHTML;  
            var _url_ = _bdy_.split("Lbjs.TargetUrl = '")[1].split("'")[0];  
          
            //alert(_url_);  
          
            //insert url  
            //hier will ich den alten body durch einen neuen ersetzen, der am anfang  
            //meinen link stehen hat  
            var _newBody_='<a href="'+_url_+'">WEITER</a></br>'+_bdy_;  
            document.body.innerHTML = _newBody_;
          
            
          Macht den Eindruck als ginge das auch einfacher:  
          ~~~javascript
            
          var a = document.createElement('a');  
          a.href = Lbjs.TargetUrl;  
          a.textContent = 'weiter';  
            
          document.body.insertBefore( a, document.body.firstChild );