2011-04-10 99 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