我开发了一个用于投影360°图像的jQuery插件,其中主要的交互方式是鼠标/触摸拖动。当图像在iframe
内时,现在社区面临问题,在拖动图像时鼠标指针滑出iframe
“框架相对容易,从而停止了帧锁定< strong> "mousemove"
和"mouseup"
事件。 DOM事件根本不会在帧中冒泡。频繁的令人不快的结果是卡住了(在jsFiddle iframe
$.unique( $(window).add(window.top) )
内运行 - 支持用户界面就是最佳示例。
要围绕它进行路由,请使用[ window ]
我根据具体情况绑定[ window, window.top ]
或iframe
。而且效果很好。如果全部在同一个域中。
如果域名不同,Same Origin Policy将升级并阻止绑定到包含页面,从而导致安全错误,最终导致脚本失败。
假设上述情况,我的问题是:有没有办法从window.top.onmousemove =
跨域抓听外部拖动事件?
window.top.addEventListener("mousemove"
... $( window.top ).bind("mousemove"
... 答案 0 :(得分:1)
如果不是让最终用户嵌入iframe,您可以让它们包含一个js脚本文件,然后您可以从中编写iframe,并在父文档的领域中管理事件,与您并行iframe事件。然后,您可以通过服务器会话将事物传递回iframe(即,将脚本动态添加到修改用户会话的当前页面,从iframe中轮询更改)。这是一个完全不理想的情况......但它会使事情发挥作用,并让您访问父环境。它会因多个嵌入而变得混乱,但我认为这对于专家来说是额外的。