2010-06-19 65 views
1

我想这样做:拖放跨框架与jQuery UI

  • 将从包含一个IFRAME

  • 掉落此DIV元素插入到第二第一文档DIV元素文档,在IFRAME中。

有没有办法使用jQuery UI可拖拽& droppable来实现这个?或以其他方式以跨浏览器的方式执行此操作,可能还需要另一个JS库?

$('your-iframe').contents().find('elements-to-find').droppable(); 

为了确保iframe的内容被加载时运行脚本,你必须等待jQuery的负载事件:

+0

此功能将在HTML5中可用:http://www.w3.org/TR/html5/comms.html(请参阅:跨文档消息传递)有一些使用javascript和canvas的示例(http:// www.chromeexperiments.com/detail/browser-ball/),但如果您在HTML5标准化之前强制执行HTML5支持,则会限制用户。 – 2010-06-19 14:12:42

+0

@JimSchubert为什么同一个Web应用程序的两个不同的iframe会成为不同的域? – NoBugs 2016-03-10 07:17:21

+0

@NoBugs我不是100%确定,但我似乎记得,如果您的iframe正在加载来自不同域的资产,那么存在安全限制。我已经看到使用localStorage来克服iframe的安全限制,但还没有实现类似的东西。我倾向于避免iframe。 – 2016-03-10 15:56:23

回答

1

您可以轻松地访问内容的iframe中使用jQuery这样做的iframe。

$('your-iframe').load(function() { 

    $('your-iframe').contents().find('elements-to-find').droppable(); 

}); 

我有你同样的必要性和管理做拖动和iframe中之间的下降就这样了,一切运行正常。