【问题标题】:Sending events to an iFrame on a different domain?将事件发送到不同域上的 iFrame?
【发布时间】:2013-12-01 22:00:18
【问题描述】:

我遇到了一个问题,即我无法访问 iFrame 上的 contentDocument,因为它位于不同的域中,但我需要找到某种方法将触摸事件发送到 UIWebView 中此 iFrame 中的元素。

基本上用户可以访问像this one 这样的页面,并且由于用户无法手动点击这些页面(UIWebView 在第二个屏幕上使用 AirPlay 镜像)我需要能够发送 click/touchstart/touchend 等事件到用户正在访问的任何页面上的元素。

有没有办法用 Javascript 做到这一点?如果没有,有没有办法以某种方式提取 UIWebView 中的 iFrame 来绕过这个限制?

【问题讨论】:

  • 同源保护将阻止您使用 javascript 与不合作的单独域进行通信。

标签: javascript ios iframe uiwebview dom-events


【解决方案1】:

您可以使用 postMessage API 执行此操作: https://developer.mozilla.org/en-US/docs/Web/API/Window.postMessage

您将不得不在两个窗口之间合并一个消息传递系统,处理事件以执行您想要的操作,您将没有 DOM 访问权限,但您应该能够通过触发每个窗口中的处理程序的事件来做到这一点。

【讨论】:

    猜你喜欢
    • 2015-08-23
    • 2012-03-17
    • 2017-11-12
    • 2018-02-01
    • 2020-05-24
    • 2020-05-17
    • 1970-01-01
    • 2011-07-05
    • 1970-01-01
    相关资源
    最近更新 更多