Плагин jQuery Asual Address, вызывающий предупреждение IE6 «небезопасные элементы»

#jquery #jquery-plugins #ssl #internet-explorer-6

#jquery #jquery-плагины #ssl #internet-explorer-6

Вопрос:

Название в значительной степени говорит само за себя. Если я включаю плагин Asual Address для jQuery в свой проект, IE6 предупреждает пользователя о «как безопасных, так и небезопасных элементах». Я сократил страницу до ничего, кроме:

 <html xmlns="http://www.w3.org/1999/xhtml">
   <head runat="server">
        <title>Title</title>
   </head>
<body>
    <script src="js/jquery.1.4.4.min.js" type="text/javascript"></script>

    <script src="js/jquery.address-1.3.min.js" type="text/javascript"></script>

</body>
</html>
  

Поместите это на защищенный сайт, и IE6 выдаст предупреждение. Я поискал в источнике распространенного виновника, который является тегом iframe with "about:blank" src , но не увидел ничего, что выглядело бы как проблема.

Любая помощь приветствуется.

Обновление: я попробовал Fiddler, чтобы определить, откуда поступает незащищенный элемент. Перечислены только три вещи:

 200   HTTPS   CONNECT         *websiteurl*:443
200   HTTPS   *websiteurl*    Default.aspx
200   HTTPS   *websiteurl*    /js/jquery.1.4.4.min.js
200   HTTPS   *websiteurl*    /js/jquery.address-1.3.min.js
  

Разница возникает, если я нажимаю «Нет» для загрузки незащищенных элементов. Я получаю

 200   HTTPS   CONNECT         *websiteurl*:443
200   HTTPS   *websiteurl*    Default.aspx
200   HTTPS   *websiteurl*    /js/jquery.1.4.4.min.js
200   HTTPS   *websiteurl*    /js/jquery.address-1.3.min.js
400   HTTPS   *websiteurl*    pagerror.gif
  

Я исследовал pagerror.gif , но это происходит после того, как я сказал IE не загружать небезопасные элементы, поэтому я не уверен, что это связано с моей проблемой.

Комментарии:

1. ой, извините за мой поддельный (удаленный) ответ — я совершенно неправильно понял это предложение о <iframe> тегах 🙂

Ответ №1:

Хорошо, я наконец-то нашел это. Оказывается, это была проблема с исходным кодом iframe.

Для будущих читателей: в плагине вам нужно будет присвоить iframe src при его создании. javascript:false; работает отлично. Итак, найдите строку, которая гласит

  _frame = _d.createElement((frameset ? '' : 'i')   'frame');
  

и измените его на

 _frame = _d.createElement((frameset ? '' : 'i')   'frame');
_frame.src = 'javascript:false;';
  

Надеюсь, это кому-то поможет!

Ответ №2:

1 — Загрузите веб-отладчик Fiddler или HttpFox (или любой подходящий прокси-сервер веб-отладки).

2. Очистите кэш вашего браузера.

3 — Используя одну из этих программ, просмотрите все, что получено с вашего сайта. Виновником является запрошенный ресурс, отличный от https.

Комментарии:

1. Да, я должен был сказать, я пробовал это. Я обновлю вопрос.