Я разрабатываю плагин jQuery для проекции изображений на 360 °, где основным средством взаимодействия является перетаскивание мышью / касанием.В настоящее время сообщество сталкивается с проблемами, когда изображения находятся внутри iframe
, когда указателю мыши относительно легко выскользнуть из iframe
«рамки» при перетаскивании изображения, тем самым прекратив блокировку кадра "mousemove"
и "mouseup"
события.События DOM просто не всплывают между кадрами.Частым неприятным результатом является застрявшее перетаскивание (наилучшим примером может служить запуск внутри jsFiddle 'iframe
-приведенного в действие пользовательского интерфейса).
Чтобы обойти его, используйте$.unique( $(window).add(window.top) )
Я привязываюсь либо к [ window ]
, либо к [ window, window.top ]
в зависимости от ситуации.И это работает очень хорошо.Если все в одном домене.
Если домены различаются, Одинаковая политика происхождения активизируется и предотвращает привязку к содержащейся странице, что приводит к ошибкам безопасности, которые в итоге приводят к сбоям сценария.
Итак, исходя из вышесказанного, мой вопрос: есть ли способ прослушивания внешних событий перетаскивания из междоменной области iframe
?
Неудачные попытки:
window.top.onmousemove =
... window.top.addEventListener("mousemove"
... $( window.top ).bind("mousemove"
...