我試圖在Javascript中創建一個小型自動化腳本,我想使用Opera的用戶腳本功能來定義外部腳本運行。我之前使用過這個功能來運行我用外部網站編寫的腳本,效果很好。頁面加載後運行Javascript函數
我需要等到頁面加載腳本運行,但我似乎無法得到這個工作。代碼目前是:
if (addEventListener in document) { // use W3C standard method
document.addEventListener('load', meerfirst(), false);
} else { // fall back to traditional method
document.onload = meerfirst();
}
function meerfirst(){
nameForm = document.forms['aspnetForm'];
nameForm.elements('ctl00$CPH1$NewQuoteView$TitlesView$DropDownListTitles').value = 'MR:TRUE:MR';
nameForm.elements('ctl00$CPH1$NewQuoteView$TextBoxFirstName').value = 'James';
}
這是我自己的函數,加上通過另一個問題在這裏找到的if語句。我也試過window.onload,但它仍然沒有工作。
奇怪的是,Opera似乎並沒有真正執行腳本,就好像我在if語句中設置了一個斷點,它從來沒有真正打斷它。該網站是否具有內置的反使用者腳本功能?還是有可能我做錯了,以阻止這個執行?
這是立即調用meerfirst,而不是負載。看到這裏:http://jsfiddle.net/ThinkingStiff/6ajFz/。刪除parens,如下面提到的@missingo。它似乎並沒有叫meerfirst,因爲nameForm在加載頁面之前首次調用它時返回undefined。 – ThinkingStiff