我創建了運行下面的JavaScript功能的HTML文件:如何使用Javascript單擊網頁上的按鈕?
window.location="url";
document.getElementById('button-id').click();
腳本加載作爲URL中提到的網頁。但是,它不響應第二個陳述即點擊。我通過Chrome瀏覽器JavaScript控制檯運行相同的代碼,並且完美運行。
我創建了運行下面的JavaScript功能的HTML文件:如何使用Javascript單擊網頁上的按鈕?
window.location="url";
document.getElementById('button-id').click();
腳本加載作爲URL中提到的網頁。但是,它不響應第二個陳述即點擊。我通過Chrome瀏覽器JavaScript控制檯運行相同的代碼,並且完美運行。
完成文檔之前加載這將無法正常工作。
它可以在控制檯上工作,因爲文檔已經被加載了,但是當瀏覽器執行它時,它爲時尚早。
試試這個作爲一個概念證明:
<body onload='document.getElementById('clickme').click();'>
<button type='button' id='clickme' onclick='window.location="wherever";'>
</body>
謝謝你的幫助。 – squeak
沒問題。事件可能會非常棘手。 –
如果你加載一個新的URL,如何找到第一頁上存在的元素「button-id」? 如果這個元素存在於第二頁,使用jquery的document.onload或$(document).ready()來自動執行與你的「點擊」動作相關的動作。
在觸發之前省略window.location
。例如,在此頁面上,document.getElementById('nav-questions').click()
工作。
在你的情況,如果有必要一起寫這些語句,使用像if
或類似的控制流分離兩條線。當執行click()
時,以前不能有window.location
。
例子:
if (redirect) {
window.location = url;
} else {
document.getElementById('nav-questions').click();
}
你可以發表你的HTML與按鈕 – Ljubisa
你** **假期與'window.location'的頁面。 – elclanrs
你不能這樣做。你的頁面*不能*在另一頁面上運行代碼。一旦你做了'window.location',你的頁面被卸載*並且新的被加載。你想要的是不可能的。 –