Как обнаружить запросы на загрузку элементов содержимого iframe?

Я пытаюсь создать безопасный Darknet с WebRTC DataChannels в чистом HTML, поэтому мне не интересно знать, когда iframe полностью загружен, но вместо этого мне интересно захватить элементы iframe (встроенные изображения и т. д.) используя пользовательскую схему, чтобы я мог с родительской страницы (той, которая подключена к Даркнету) выполнять реальный запрос и ответ с фактическими данными. В FirefoxOS событие mozbrowserlocationchange API браузера (расширение для iframe) I мог бы захватить навигацию пользователя, отменить ее, выполнить реальный запрос в Даркнете, а затем внедрить в iframe реальный контент, полученный с родительской страницы, но как я мог бы сделать то же самое со встроенными изображениями и скриптами на эта загруженная страница? Или это в настоящее время невозможно, и я должен попросить их добавить эту функцию?

Очевидно, что у меня нет никакого контроля над страницами содержимого iframe, поэтому они будут создаваться чем угодно и каким-либо образом, а также использование API браузера просто потому, что кажется наиболее полезным для того, что я пытаюсь сделать, в идеале было бы идеально, если бы этого можно было добиться с помощью простых фреймов... :-)

Обновление:

Половинчатое решение, о котором я думаю, было бы, поскольку я мог бы зафиксировать mozbrowserlocationchange, чтобы выполнить запрос реального содержимого HTML-страницы и перед заполнением им iframe выполнить запрос связанных изображений и скриптов и установить их встроенными, чтобы iframe не выполнял дополнительный запрос. Это привело бы только к несколько очень простым веб-страницам по сравнению с текущими веб-стандартами (без AJAX, без асинхронной загрузки тегов скрипта...), но определенно это можно было бы использовать до определенного момента :-)

В любом случае, есть ли другая лучшая альтернатива?


person Piranna    schedule 13.09.2013    source источник


Ответы (1)


Это звучит как что-то, что было бы возможно (даже просто), как только будут реализованы контроллеры служб (ранее известные как NavigationControllers), но я не знаю, как это сделать с помощью любого доступного в настоящее время метода. .

Неудивительно, что вы не нашли инфы по этому поводу - предложение называется "Сервис-воркеры" (правда, раньше это называлось Event-воркеры, а еще до этого они назывались - угадайте, что - навигационными контроллерами). Это живая спецификация! ;) Найдите рабочий проект на GitHub: https://github.com/slightlyoff/ServiceWorker/ с длинный пояснительный документ, который поможет вам начать работу.

Кроме того, есть документ с текущим Chrome (мигает) планы реализации.

person Flaki    schedule 13.09.2013
comment
У вас есть какая-либо информация или ссылка об этом NavigationControllers? Все, что я нашел, касается только Apple и PS3, почти ничего для HTML5... :-/ - person Piranna; 16.09.2013
comment
О, я только что увидел ваше предложение по редактированию, рад, что вы с этим справились - извините за задержку с моим ответом! - person Flaki; 22.09.2013
comment
Не за что :-) Определенно ServiceWorkers - лучший способ решить мою проблему (предложение отличное :-D ), и я стал активным участником обсуждения спецификации :-) Добавлена ​​ссылка на Обсуждение Blink отличное, кажется, что ServiceWorkers не просто станет хорошей идеей, но, возможно, скоро будет реализован... :-) На самом деле, в текущем воплощении спецификации они очень похожи на страницы событий Chrome, поэтому они должны быть довольно простыми. чтобы двигаться дальше. Я отмечу ваш ответ как принятый, он лучше моей первоначальной идеи :-D - person Piranna; 27.09.2013