2011-04-10 142 views
13

我想要做的是在頁面加載時,在YouTube上執行鼠標點擊說。如何點擊該特定位置(假設它始終位於同一位置)?模擬真實的鼠標點擊

我曾嘗試與

var e = document.getElementById('myelem'); e.click(); 
var e = new jQuery.Event("click");e.pageX=x;e.pageY=y;$("#elem").trigger(e); 

之類的東西失敗。沒有什麼真的有用有什麼建議麼?我正在使用谷歌瀏覽器


好吧好像好像有點混亂,所以我會進一步解釋。我創建了一個與按鍵事件綁定的彈出窗口,我想要通過單擊彈出窗口中的麥克風來觸發x-webkit-speech,以便用戶不必單擊它自己。我已經嘗試了一堆如上所述的方法,但都沒有成功。這是我的計劃將完成之後,所以我真的很喜歡一些幫助的感謝:]

+0

我真的不認爲你被允許這樣做。由於安全限制,這可能會受到限制。 – s3v3n 2011-04-10 04:05:35

+0

這是更多的例子,我給了第二個在提交的答案評論。我真的需要一種模擬鼠標點擊的方法。 – eric 2011-04-10 04:14:28

+1

你試過'$('#your_elem')。觸發('點擊')'在頁面加載? (jQuery) – tradyblix 2011-04-10 06:58:55

回答

3

一般情況下,瀏覽器不會讓模擬鼠標點擊觸發的「真實」的行動,例如jQuery click()不會導致瀏覽器跟隨鏈接。否則,垃圾郵件發送者可能會觸發每個頁面加載的橫幅點擊(以及其他更多惡意用途)。

根據http://www.filosophy.org/2011/03/talking-to-the-web-the-basics-of-html5-speech-input/

最終,將有可能直接與startSpeechInput()方法調用語音識別,但是據我所知,這是不以任何當前瀏覽器的實現。

我建議等待Chrome實現API,以便您可以觸發JavaScript語音輸入。

+0

是的,這是我所擔心的......我想我會等待進一步的發展,只是發佈我迄今爲止感謝您的幫助 – eric 2011-04-11 03:23:41

1
<button id="myButton" onClick="alert('You clicked me!');">Click me</button> 


document.getElementById("myButton").click(); 

http://fiddle.jshell.net/Shaz/HgyeZ/

與定期點擊的內容雖然是。但是對於YouTube視頻,您還可以將&autoplay=1附加到網址的末尾(如果它嵌入網頁中)。

http://fiddle.jshell.net/Shaz/tcMCa/

+0

是的,這只是一個例子,我可以說它的另一種方式是,如果你有一個警告彈出自動按OK或類似的東西。我只想模擬鼠標點擊。 – eric 2011-04-10 04:13:10

+0

您應該寫一些關於事件派發的內容,因爲像這樣的解決方案不適用於大多數事件。 – 2011-04-10 04:18:03