Firefox без политики origin

У меня все более неприятная проблема с реализацией firefox той же политики origin.

Я разрабатываю интегрированную систему с поддержкой сенсорного экрана, и у нас есть пользовательская опция загрузки веб-страниц в iframes в нескольких местах на экране. Веб-страницы могут быть любой вид веб-страниц из любого домена и местоположения (google, yahoo, интранет-страницы и т. д.), И в этом заключается моя проблема.

Мне нужно иметь возможность добавить onclick событие в iframe, что дает мне идентификатор iframe (или какой-либо другой уникальный идентификатор) в качестве ответа. Это говорит мне, что действие (просмотр веб-страниц) выполняется в iframe и что iframe не должен быть перезагружен (страницы установлены для фиксированного интервала автоматического обновления, который должен быть прерван на деятельности.

Я прочитал почти все, что Google возвращает мне (но я хотел бы быть опровергнутым в этом вопросе), и я нашел это лучшим (среди многих другое) решение:

<iframe src='http://google.com' id='iframe1' onload='netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserWrite"); this.contentWindow.document.addEventListener("click", function(event) {alert(this.id);}, false)'></iframe>

Это просто дает мне регулярные разрешения запрещен http://localhost чтобы получить окно свойств.документ от http://google.com

Я знаю Почему я получаю это сообщение об ошибке, и мой вопрос прост. Как я могу удалить его?

это интегрированная система, я могу скомпилировать firefox из источника, я могу редактировать исходный код, если это необходимо, я могу изменить префы.Яш и т. д. но мне нужно используйте firefox (я знаю, что все другие разумные веб-браузеры имеют хороший переключатель командной строки, чтобы отключить его...) но у нас есть (довольно) тесная интеграция с платформой firefox, которую было бы трудно удалить.

В настоящее время мы используем Firefox V.3.5.16 (я знаю, что это EOL, мы собираемся обновить его в другой раз) на платформе Debian Squeeze. При необходимости я могу перейти на более новую версию Firefox, но из того, что я нашел, кажется, тариф еще хуже в этом вопрос.

TL; DR
Помогите мне закрыть же происхождения политики, в любым возможным способом в Firefox 3.5.16 для интегрированной платформы, которая должна изменять код через междоменные iframes.

19
задан Bobby
25.01.2023 7:03 Количество просмотров материала 2806
Распечатать страницу

1 ответ

Я чувствую себя довольно глупо.

работает при использовании UniversalXPConnect вместо UniversalBrowserWrite.

например: компания Netscape.безопасность.PrivilegeManager.enablePrivilege ("UniversalXPConnect");

кроме того, вы можете не используйте это.id или это.родитель.id, который все еще дает (другую) ошибку доступа. Чтобы решить эту проблему, сначала сохраните ее во временной переменной:

onload='var tempstuff = this.id; this.contentWindow.document.addEventListener("click", function(event) {alert(tempstuff);}, false)'
2
отвечен Knuwgljung 2023-01-26 14:51

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх