【问题标题】:Simulate real mouse click模拟真实的鼠标点击
【发布时间】:2011-04-10 03:58:53
【问题描述】:

我想要做的是在页面加载时在 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,这样用户就不必自己单击它。我已经尝试了很多类似上面的方法,但都没有成功。在此之后我的程序将完成,所以我真的很想得到一些帮助,谢谢:]

【问题讨论】:

  • 我真的不认为你可以这样做。由于安全限制,这可能会受到限制。
  • 这更像是我在对提交的答案的评论中给出的第二个示例。我真的需要一种模拟鼠标点击某物的方法。
  • 您是否在页面加载时尝试过$('#your_elem').trigger('click')? (jQuery)
  • 是的,它不起作用我正在尝试捕获 x-webkit-speech 对象并查看是否可以触发/更改其状态

标签: javascript google-chrome triggers click


【解决方案1】:

一般来说,浏览器不会让模拟鼠标点击触发“真实”动作,例如jQuery click() 不会导致浏览器跟随链接。否则,垃圾邮件发送者可能会在每次页面加载时触发横幅点击(以及其他更多恶意使用)。

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

最终,可以使用 startSpeechInput() 方法直接调用语音识别,但据我所知,这在当前的任何浏览器中都没有实现。

我建议等待 Chrome 实现 API,以便您可以从 JavaScript 触发语音输入。

【讨论】:

  • 是的,这就是我所担心的......我想我会等待进一步的发展,然后发布我目前拥有的东西,谢谢你的帮助
【解决方案2】:
<button id="myButton" onClick="alert('You clicked me!');">Click me</button>


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

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

不过,这是常规的可点击项目。但是对于 YouTube 视频,您还可以将 &amp;autoplay=1 附加到 url 的末尾(如果它嵌入到页面中)。

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

【讨论】:

  • 是的,这只是一个例子,我可以用另一种方式表达它,如果你有一个警报弹出自动按下 ok 或类似的东西。我只想模拟鼠标点击。
  • 您应该写一些关于事件调度的文章,因为这样的解决方案不适用于大多数事件。
猜你喜欢
  • 2013-10-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多