2010-02-16 113 views
2

我想要設置一個小書籤,它將轉到網頁,輸入一些登錄信息,然後自動爲我登錄按鈕。我的問題是,如果我只是轉到頁面,然後按順序輸入登錄信息,那麼腳本通常會在加載表單元素之前完成執行。所以,我需要一些方法讓腳本等待,直到頁面已經加載,然後將我的登錄信息輸入到表單中。到目前爲止,我嘗試了一些方法,但都沒有成功。當頁面加載完成時執行小書籤代碼

例如:

javascript:window.location = "http://www.msn.com"; 
window.onload=function(){alert("Page Loaded");}; 

的警告對話框中一直沒有出現。我一直在使用,我稱之爲定期使用window.setTimeout函數也嘗試過,但不起作用或者:

javascript:function doLogin() { 
    if (document.getElementsByName("login").length > 0) { 
     document.getElementsByName("login")[0].value = "myUserName"; 
    } 
    else { 
     window.setTimeout(doLogin,100); 
    } 
} 
window.location="http://my.web.page"; 
doLogin(); 

再次,登錄信息永遠不會被輸入。有誰知道我該怎麼做?

回答

3

我認爲問題是,一旦你改變了窗口的位置(順便說一下,它應該是window.location.href = 'http://www.msn.com';,因爲location實際上是一個對象),你的JavaScript的其餘部分將被清除。

您可能需要將JavaScript放在隱藏框架(或iframe)中,然後在可見框架(或iframe)中打開目標站點。然後,您可以從隱藏的(i)框架中操作頁面的內容。

聲明:我沒有測試過,所以我不完全確定它會工作。