У меня все более неприятная проблема с реализацией Firefox той же политики происхождения.
Я разрабатываю интегрированную систему с поддержкой сенсорного экрана, и у нас есть возможность загружать веб-страницы в фреймах в нескольких местах на экране. Веб-страницы могут быть веб-страницами любого типа из любого домена и местоположения (страницы 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 для получения свойства Window.document от http://google.com.
Я знаю, почему я получаю это сообщение об ошибке, и мой вопрос прост. Как мне это убрать?
Это интегрированная система, я могу скомпилировать Firefox из исходного кода, я могу редактировать исходный код, если необходимо, я могу изменить prefs.js и т.д., Но мне нужно использовать Firefox (я знаю, что во всех других разумных веб-браузерах есть хороший переключатель командной строки чтобы отключить его ...) но у нас есть (довольно) тесная интеграция с платформой Firefox, которую было бы трудно удалить.
В настоящее время мы используем Firefox v.3.5.16 (я знаю, что это EOL, мы собираемся обновить его в другой раз) на платформе Debian Squeeze. При необходимости я могу перейти на более новую версию Firefox, но из того, что я нашел, кажется, что в этом вопросе дела идут еще хуже.
TL; DR Помогите мне закрыть ту же политику происхождения, любым возможным способом на Firefox 3.5.16 для интегрированной платформы, которая должна изменять код через междоменные фреймы.