如何在浏览器中模拟击键以使用javascript控制跨域iframe?

时间:2013-05-28 13:17:55

标签: javascript html html5 iframe javascript-events

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

虽然有很多方法可以模拟密钥,比如这个 Keydown Simulation in Chrome fires normally but not the correct key

如果它位于iframe

,则无效

2 个答案:

答案 0 :(得分:3)

想象一下以下场景。

  • Bob正在网上冲浪并前往您的网站。
  • Eve的网站会打开一个包含http://bobsbank.com
  • 内容的iframe
  • Eve的网站明星向该网站注入击键和点击,将所有Bob的钱发送给Eve的帐户

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

same origin policy会阻止它。

答案 1 :(得分:0)

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

如果您希望在旧浏览器上使用此功能,可以使用适用于较新旧浏览器的jquery pluing:http://benalman.com/projects/jquery-postmessage-plugin/