如何在浏览器中模拟按键来使用JavaScript控制跨域iframe

How to simulate keystrokes in a browser to control cross-domain iframe using JavaScript?

本文关键字:JavaScript 控制 iframe 浏览器 模拟      更新时间:2023-09-26

我对模拟箭头键特别感兴趣。

虽然有很多方法可以模拟键,像这样按键模拟在Chrome火焰正常,但不是正确的键

如果是在iframe

想象下面的场景。

  • Bob正在上网并访问您的网站。
  • Eve的网站打开了一个iframe,内容来自http://bobsbank.com
  • Eve的网站开始向该网站注入按键和点击,将Bob的所有钱发送到Eve的账户

这种情况就是为什么你想做的事情是不可能的。

同源策略将阻止它。

如果您可以在iframe中修改页面的HTML,则可以使用所谓的跨文档消息传递。http://caniuse.com/#feat=x-doc-messaging你将从顶部框架触发一个事件,iframe页面将接收该事件并解释输出并触发一个事件(例如在框架内的按键)。

如果你想让它在旧的浏览器上工作,有一个jquery插件可以在新的和旧的浏览器上工作:http://benalman.com/projects/jquery-postmessage-plugin/