6

感谢stackoverflow,我解决了很多我的javascript问题,但现在我停在了这一点上,没有希望。很难描述,有清晰的视频显示我的拖放跨域 iframe 问题。

http://www.youtube.com/watch?v=v65mO27h75E

  • Iceweasel(和 FF、Opera)的第一部分 = iframe d&d 工作正常。
  • Chromium(和 Chrome)的第二部分 = iframe d&d 不起作用。

并且有指向示例 iframe 集和 iframe 源的链接:

  • 父页面:http://msdrop.com/msdrop-jquery-test-iframe-frameset.htm
  • iframe A:http://msdrop.com
  • iframe B:http://nextgd.com/msdrop-jquery-test-iframe.htm

是 Chrome 错误,还是“同源策略”下的安全性?这很奇怪,因为 d&d 在两个窗口之间工作得很好,并且根本不想从父窗口到 iframe 工作。

感谢您的建议。彼得

编辑:Chrome/Chromium 安全缓解措施可能过于广泛。问题 251718:https ://code.google.com/p/chromium/issues/detail?id=251718

4

3 回答 3

2

现在,在: http: //msdrop.com/msdrop-jquery-test-iframe-frameset.htm有 4 个 iframe

  • IFRAME A:与父域相同的域
  • IFRAME B:其他域
  • IFRAME C: 同域 + sandbox="allow-scripts"
  • IFRAME D:其他域 + 沙箱 =“允许脚本”

在 FF 中,所有帧都按我的预期工作。

在 Chrome 中,Chromium 仅在 iframe A 上适用于所有 dragover、dragenter、dragleave 和 drop 事件。

于 2013-06-19T12:16:36.583 回答
1

将 sandbox="allow-scripts" 添加到 iframe 元素为我解决了这个问题。

例如:

<iframe sandbox="allow-scripts" src=".." />
于 2013-06-18T09:10:34.517 回答
1

我想我找到答案,当打开 Chromium 或 Chrome 时,拖放事件在 iframe 上有效,没有限制。

铬浏览器——禁用网络安全

谷歌浏览器——禁用网络安全

但如果它是关于谷歌浏览器“网络安全”,为什么 JavaScript 控制台不显示任何信息或警告,为什么拖放在两个窗口之间工作得很好,拖放甚至从 firefox 到 chrome 也能工作。

编辑:谷歌浏览器:“您正在使用不受支持的命令行标志:--disable-web-security。稳定性和安全性将受到影响。” 所以标志有效但不受支持?

我不明白。

于 2013-06-07T12:27:45.783 回答