2014-01-10 96 views
2

我創建了運行下面的JavaScript功能的HTML文件:如何使用Javascript單擊網頁上的按鈕?

window.location="url"; 
    document.getElementById('button-id').click(); 

腳本加載作爲URL中提到的網頁。但是,它不響應第二個陳述即點擊。我通過Chrome瀏覽器JavaScript控制檯運行相同的代碼,並且完美運行。

+1

你可以發表你的HTML與按鈕 – Ljubisa

+2

你** **假期與'window.location'的頁面。 – elclanrs

+1

你不能這樣做。你的頁面*不能*在另一頁面上運行代碼。一旦你做了'window.location',你的頁面被卸載*並且新的被加載。你想要的是不可能的。 –

回答

0

完成文檔之前加載這將無法正常工作。

它可以在控制檯上工作,因爲文檔已經被加載了,但是當瀏覽器執行它時,它爲時尚早。

試試這個作爲一個概念證明:

<body onload='document.getElementById('clickme').click();'> 
<button type='button' id='clickme' onclick='window.location="wherever";'> 
</body> 
+0

謝謝你的幫助。 – squeak

+0

沒問題。事件可能會非常棘手。 –

0

如果你加載一個新的URL,如何找到第一頁上存在的元素「button-id」? 如果這個元素存在於第二頁,使用jquery的document.onload或$(document).ready()來自動執行與你的「點擊」動作相關的動作。

0

在觸發之前省略window.location。例如,在此頁面上,document.getElementById('nav-questions').click()工作。

在你的情況,如果有必要一起寫這些語句,使用像if或類似的控制流分離兩條線。當執行click()時,以前不能有window.location

例子:

if (redirect) { 
    window.location = url; 
} else { 
    document.getElementById('nav-questions').click(); 
} 
相關問題