Ищу документ о том, почему желтая полоса IE отображается при открытии HTML-файла, содержащего JavaScript

У меня есть сайт, с которого вы можете скачать HTML-файл. Этот HTML-файл содержит форму со скрытыми полями, которая сразу же отправляется обратно на сайт с помощью JavaScript. Это способ позволить пользователям загружать на свои машины данные, которые они редактируют на сайте.

На некоторых машинах вы получаете «желтую полосу» IE при попытке открыть сохраненный файл. «Желтая полоса» в IE предупреждает, что HTML пытается запустить Active X (что не так, есть только JavaScript, выполняющий submit() в форме). Однако если вы получите точно такой же HTML-файл по электронной почте, сохраните его и откроете, у вас не возникнет этой проблемы. (Похоже, IE накладывает дополнительные ограничения на то, что можно сделать в файле HTML, который вы сохранили с веб-сайта.)

Мой вопрос: где я могу найти документацию по этому механизму безопасности IE и, возможно, как его обойти?

Алекс


person avernet    schedule 27.09.2008    source источник


Ответы (6)


Желтая полоса означает, что ваша страница выполняется в зоне безопасности локального компьютера в IE. На разных машинах зона безопасности «Локальная машина» может быть настроена по-разному, поэтому вы можете видеть желтую полосу на одних машинах и не видеть ее на других машинах.

Чтобы узнать больше о зонах безопасности URL-адресов IE, вы можете начать читать здесь: http://msdn.microsoft.com/en-us/library/ms537183.aspx

person Franci Penov    schedule 27.09.2008
comment
Спасибо за ответ! Я предполагаю, что это должно быть различием в том, как локальная зона безопасности настроена на разных машинах. Мне не ясно, как это настраивается, но поскольку делать эту настройку клиентской машины не вариант, думаю, в конце концов, это не имеет значения :). - person avernet; 27.09.2008
comment
Я могу пометить только один ответ как принятый, но, пожалуйста, посмотрите этот комментарий от mattlant о разблокировке файла: yellow-bar-shows-when-opening-a-html-file-that-contai#142594" title="ищу документ о том, почему, например, желтая полоса отображается при открытии html-файла, который содержит% 23142594"> stackoverflow.com/questions /142573/ - person avernet; 27.09.2008

Подробнее о MOTW — Mark Of The Web< /а>

Если вы добавите это на свои локально обслуживаемые страницы, IE не будет отображать желтую полосу.

http://msdn.microsoft.com/en-us/library/ms537628(VS.85).aspx

person scunliffe    schedule 27.09.2008
comment
Интересный; Я не знал, что такое существует. Но я не вижу ни одного ‹!--, сохраненного из url=... в сохраняемом HTML-файле (см. пункт 1 в разделе «Добавление знака Интернета в HTML-документы»). Поэтому мне интересно, относится ли это к IE4, даже если в статье это не указано. - person avernet; 27.09.2008

Я не знаю какой-либо конкретный документ, но если вы откроете свойства файла в проводнике Windows на вкладке «Общие», файл будет заблокирован? если это так, нажмите «Разблокировать» и попробуйте еще раз и посмотрите, возникнет ли у вас та же проблема. Это типичная защита для файлов, загруженных из Интернета.

Кроме этого, я боюсь, я не знаю, что еще предложить.

person mattlant    schedule 27.09.2008
comment
Да, скорее всего, это часть проблемы и объясняет разницу между файлами, загруженными из Интернета, и файлами, сохраненными из электронной почты. Спасибо за ответ! - person avernet; 27.09.2008

Я не слежу на 100% за тем, что отправляет ваш JavaScript, но если вы отправляете обратно на исходный сайт из загруженной копии, у вас возникнут проблемы с использованием JavaScript, поскольку все браузеры рассматривают междоменный JavaScript как нарушение безопасности.

JavaScript не разрешен для чтения или записи на любой сайт за пределами текущего домена.

person Aaron Powell    schedule 27.09.2008
comment
У меня нет проблем с этим на моем компьютере с Windows. Сценарий просто отправляет данные формы на другой сайт, но вы не находитесь на сайте с самого начала, так как вы загрузили файл HTML с диска. - person avernet; 27.09.2008

Как сказал Франси, это потому, что вы находитесь в контексте безопасности локального компьютера, и это позволяет сценариям создавать объекты и выполнять код, который может нанести вред вашему ПК. Например, вы можете создать объект файловой системы и выполнять задачи, которые обычно не должна выполнять ненадежная страница, поскольку она может быть вредоносной по своей природе.

person Quintin Robinson    schedule 27.09.2008

Пробовали ли вы изменить имя файла с yourname.html на yourname.hta, чтобы проверить, исчезнет ли проблема с безопасностью?

Дополнительные сведения о приложениях HTML (файлы .HTA): http://msdn.microsoft.com/en-us/library/ms536496%28VS.85%29.aspx

person BoltBait    schedule 27.09.2008