Приложение GWT, генерирующее предупреждение о небезопасном элементе IE - PullRequest
2 голосов
/ 26 ноября 2010

Наш сервис работает по HTTPS, и в настоящее время мы экспериментируем с запуском в нем скомпилированного GWT-приложения, только на стороне клиента, без RPC: s.

Он включен в IFRAME, который, кажется,рекомендуется (здесь, например: http://developerlife.com/tutorials/?p=231 под заголовком HTTPS и HTTP).

При выполнении определенных операций в GWT-приложении IE генерирует предупреждение о небезопасном элементе.

http://bagonca.com/insecure_item.png

Вы можете спросить себя, почему я не использую некоторыеотличный плагин Firefox, чтобы увидеть, какой запрос может быть через http.Или почему я не использую HTTPWatch в Internet Explorer по той же причине.Я имею.Я не могу найти где-либо небезопасных запросов.

С другой стороны, я прочитал о том, что Internet Explorer выдает это предупреждение для фреймов без установленного атрибута src.И что потенциальное исправление использует src = "javascript: false" для любого iframe, который заполняется динамически.

Как я уже сказал, все приложение включено через IFRAME, и внутри него GWT генерирует скрытое IFRAME, которое выглядит ниже.

<iframe tabIndex="-1" id="gwt-app" src="javascript:''" style="border-bottom: medium none; position: absolute; border-left: medium none; width: 0px; height: 0px; border-top: medium none; border-right: medium none;">

Я пробовал жесткое кодированиеатрибут src выше для пустой страницы, которая фактически существует и вызывается с HTTPS в том же домене.Я пробовал JavaScript: ложь;подход.Неудачно.Приложение работает как чудо, но IE выдает бесполезное и ложное предупреждение.

Предупреждение появляется, когда я выполняю определенные действия в приложении, а не когда оно загружено.На самом деле при перетаскивании встреч внутри компонента http://code.google.com/p/gwt-calendar/.

Кто-нибудь сталкивался с подобной проблемой раньше?Любые подсказки?

Ответы [ 3 ]

2 голосов
/ 29 ноября 2010

Есть и другие фрагменты Javascript, которые также могут вызвать проблемы. Пожалуйста, смотрите:

http://blog.httpwatch.com/2009/09/17/even-more-problems-with-the-ie-8-mixed-content-warning/

Кроме того, просмотрите кучу комментариев:

http://blog.httpwatch.com/2009/04/23/fixing-the-ie-8-warning-do-you-want-to-view-only-the-webpage-content-that-was-delivered-securely/

Некоторые комментаторы также нашли и исправили другие причины предупреждения.

2 голосов
/ 26 ноября 2010

Есть какие-нибудь подсказки?

Я не уверен в этом случае, но я провел несколько экспериментов с iframe (на несколько похожую тему) около года назад.Я предполагаю, что gwt-calendar пытается связаться со страницей хоста через ссылку parent в javascipt.AFAIR, это не разрешено, если страница хоста не загружена из одного источника (включая протокол).

0 голосов
/ 29 ноября 2010

Это может произойти, если ваше приложение работает с HTTPS и загружает изображения или какой-либо другой ресурс поверх простого HTTP . Проверьте, есть ли у вас изображения или пути CSS, жестко запрограммированные на http: //.

Например, если ваше приложение работает на https://example.com и вы хотите загрузить изображение foo.jpg, HTML-код, который вы должны использовать:

<img src="https://example.com/images/foo.jpg"/>

или (в идеале)

<img src="images/foo.jpg"/>

, а не

<img src="http://example.com/images/foo.jpg"/>

Обратите внимание, что в третьем примере изображение foo.jpg выбирается по http вместо https . Следовательно, это вызовет проблему, с которой вы столкнулись.

Чтобы избежать таких проблем, рекомендуется использовать ImageResources и относительные URL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...