У меня все более неприятная проблема с реализацией Firefox той же политики происхождения.
Я занимаюсь разработкой интегрированной системы с поддержкой сенсорного экрана, и у нас есть возможность загрузки веб-страниц в фреймах в нескольких местах на экране. Веб-страницы могут быть веб-страницами любого типа из любого домена и местоположения (страницы Google, Yahoo, интранет и т. Д.), И в этом заключается моя проблема.
Мне нужно иметь возможность добавить событие onclick в iframe, которое дает мне идентификатор iframe (или некоторый другой уникальный идентификатор) в качестве ответа. Это говорит мне о том, что в iframe выполняется действие (просмотр веб-страниц) и что iframe не следует перезагружать (страницы настроены на фиксированный интервал автоматического обновления, который должен прерываться при выполнении действия.
Я прочитал почти все, что Google возвращает мне (но я бы хотел, чтобы меня опровергли в этом вопросе), и я нашел, что это лучшее (среди многих других) решение:
Я знаю, почему я получаю это сообщение об ошибке, и мой вопрос прост. Как мне это убрать?
Это интегрированная система, я могу скомпилировать Firefox из исходного кода, я могу отредактировать исходный код, если необходимо, я могу изменить prefs.js и т. Д., Но мне нужно использовать Firefox (я знаю, что все другие разумные веб-браузеры имеют хороший переключатель командной строки чтобы отключить его ...) но у нас есть (довольно) тесная интеграция с платформой Firefox, которую было бы трудно удалить.
В настоящее время мы используем Firefox v.3.5.16 (я знаю, что это EOL, мы собираемся обновить его в другой раз) на платформе Debian Squeeze. При необходимости я могу перейти на более новую версию Firefox, но из того, что я нашел, кажется, что в этом вопросе дела идут еще хуже.
TL; DR Помогите мне закрыть ту же самую политику происхождения, любым возможным способом на Firefox 3.5.16 для интегрированной платформы, которая должна изменить код через междоменные фреймы.
Да, и просто, чтобы уточнить это ** только ** нужно работать в Firefox. На данном этапе достаточно любого решения!
Knuwgljung 11 лет назад
0
[Могу ли я отключить SOP (та же политика происхождения) в любом браузере для разработки?] (Http://stackoverflow.com/questions/330427/can-i-disable-sop-same-origin-policy-on-any-browser- for-development) и, скорее всего, [функция отправки XMLHttpRequest выдает исключение 0x80004005 при вызове из локального html-файла, начиная с Gecko 5, даже с запрошенным UniversalBrowserRead] (https://bugzilla.mozilla.org/show_bug.cgi?id=667312)
Bobby 11 лет назад
0
В приведенном мной примере кода первая ссылка (и я пробовал надстройку CORS) используется бесполезно, она все еще не работает! Другая ссылка для Firefox 5, где enablePrivilege удален!
Knuwgljung 11 лет назад
0
1 ответ на вопрос
2
Knuwgljung
Я чувствую себя довольно глупо.
Это работает, когда вы используете UniversalXPConnect вместо UniversalBrowserWrite.
Кроме того, вы не можете использовать this.id или this.parentNode.id, которые все еще дают (другую) ошибку доступа. Чтобы победить эту проблему, сначала сохраните ее во временной переменной:
Это отвечает на мой собственный вопрос, дальнейшие ответы не нужны! Если бы кто-нибудь мог пометить этот вопрос как ответ, я был бы признателен (я не могу пометить свой собственный ответ в течение двух дней).
Knuwgljung 11 лет назад
0
Тогда вам придется подождать, я тоже не могу это пометить;)
Huygens 11 лет назад
0
Это все еще работает? Я думаю, нет.
erm3nda 9 лет назад
0
Если я правильно помню, мы все еще используем этот метод с Firefox 33, поэтому он все равно должен работать правильно.
Knuwgljung 9 лет назад
0