拖放跨域,iframe,浏览器窗口

时间:2013-06-06 17:50:09

标签: javascript jquery iframe cross-domain drag

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

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

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

并且存在指向示例iframes和iframes源的链接:

  • 父页面: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

3 个答案:

答案 0 :(得分:1)

向iframe元素添加sandbox =“allow-scripts”为我解决了这个问题。

例如:

<iframe sandbox="allow-scripts" src=".." />

答案 1 :(得分:1)

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

  • IFRAME A:与父母相同的域名
  • IFRAME B:其他域名
  • IFRAME C:相同的域+ sandbox =“allow-scripts”
  • IFRAME D:其他域+ sandbox =“allow-scripts”

在FF中,所有帧都能满足我的期望。

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

答案 2 :(得分:0)

我想我找到了答案,拖放事件可以在没有限制的情况下打开Chromium或Chrome时在iframe上运行。

chromium-browser --disable-web-security

google-chrome --disable-web-security

但如果它是谷歌Chrome“网络安全”,为什么JavaScript控制台不会显示任何信息或提醒,以及为什么拖放在两个窗口之间工作非常好,拖放工作甚至从firefox到chrome。

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

我不明白。