4

У меня есть проблема, которая недавно началась на работе, и сетевой менеджер уверен, что он ничего не изменил с групповой политикой. В любом случае, вот подробное описание проблемы.

На моей машине установлена Windows XP SP3, и я использую IE8 для просмотра. У нас есть антивирусное программное обеспечение McAffee, которое я не могу настроить. Я использую следующий файл для проверки ...

<!DOCTYPE html>
<html>
  <head>
    <title>Javascript Test</title>
  </head>
  <body>
    <script type="text/javascript">
      document.write("<h1>PASS</h1>");
    </script>
    <noscript>
      <h1>FAIL</h1>
    </noscript>
  </body>
</html>

Когда я открываю этот файл с диска C:, он каждый раз терпит неудачу. Если я выполню его где-либо еще (локальный / удаленный веб-сервер или на подключенном сетевом диске), он работает просто отлично. Когда я просто просматриваю Интернет, Javascript на веб-сайтах работает просто отлично. Это сбой только на файлы, запущенные с моего диска C:. Кроме того, у меня была пара других программистов в отделе, которые пробовали этот файл на своем диске C:, и он прекрасно работает для них. Поэтому я не верю, что это групповая политика.

Мне нужно это исправить, потому что я провожу всестороннее тестирование с моего диска C: и я привык к этому. Я не хочу привыкать перемещать файлы на другой диск просто для тестирования.

Вещи, которые я пробовал:

  • Включено "Разрешить активному содержимому запускать файлы на моем компьютере" в Параметры | Расширенный | Безопасность
  • Включено "Разрешить активные сценарии" в настройках | Безопасность | Пользовательский уровень
  • Проверено, что "Сценарий" не был отмечен как отключенный в панели инструментов разработчика
  • Добавлен локальный хост для надежных сайтов в настройках
  • Полностью отключил McAffee (на мгновение, с помощью администратора сети)
  • Использовал старый DOCTYPE в моей тестовой HTML-странице
  • Переустановил IE8 полностью
  • Запустил regsvr32 на JScript.dll
  • Хлопнувшая клавиатура

Я уверен, что где-то есть настройка, которая решит эту проблему, возможно, в реестре. Я не удивлюсь, если это будет связано с панелью инструментов разработчика. На данный момент я не знаю, где еще искать.

Может ли кто-нибудь помочь мне решить эту проблему?

РЕДАКТИРОВАТЬ: Независимо от щедрости, эта проблема все еще продолжается.

12 ответов12

4

Вы пытались добавить "Метку Интернета" в свой источник HTML?

Просто добавьте что-то вроде:

<!DOCTYPE html>
<!-- saved from url=(0021)http://www.google.com -->
<html>

Знак Интернета находится после тега DOCTYPE, отдельно в отдельной строке, перед <html> .

См. Документацию MSDN на веб-сайте Mark для полной помощи.

4

Открыть ключ реестра

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\n

Где n - это индекс зоны, где 0 означает « My Computer . Эта зона недоступна в окне «Свойства обозревателя». Установите значение 1400 на 0 чтобы включить Javascript.

1

Если на компьютер распространяются корпоративные политики безопасности, вы можете подумать о настройке виртуальной машины (например, с Virtual Box или MS Virtual PC) для тестирования ваших java-скриптов.

Microsoft предлагает различные предварительно активированные виртуальные жесткие диски (они работают с VirtualBox и VPC) с Vista или XP и IE6, 7 и 8. Совместимость приложений Internet Explorer VPC Изображения бесплатны, и текущий набор действителен до 1 апреля 2010 года.

1

Я знаю других людей, у которых была эта проблема, поэтому я исследовал ее.

После долгих попыток повторить ошибку, я нашел виновника.

Прочитайте это:http://social.answers.microsoft.com/Forums/en-US/InternetExplorer/thread/2a0b55bf-6807-4f72-b10c-53f958af9b42 и http://social.technet.microsoft.com/Forums/en -US/w7itprosecurity/ резьба / 90c3202c-448b-42b7-acf7-dab8dba7b000

Кажется, что-то (вирус, или какое-то обновление программного обеспечения) портит зоны интернета.

Чтобы решить эту проблему, я экспортировал весь реестр и с помощью редактора (ultraedit) искал "\Internet Settings\Zones\", найдя ключ типа "{Exadecimal-USER-IDENTITY} ...\Internet Settings\Zones\L ", где L - странный символ, который отображается как верхний индекс L, когда вы удаляете этот ключ, JavaScript возобновит работу.

0

Единственный способ обойти это - зайти в Internet Ooptions и поместить localhost в доверенные зоны, однако я действительно не рекомендую этого, так как это может привести к множеству проблем.

Я бы порекомендовал вам установить Apache, Wamp Server (содержащий Apache в простом в использовании пакете) или IIS / Web Platform Installer (содержащий IIS в простом в использовании пакете).

Затем, в зависимости от того, как вы его настроите, вы сможете получить доступ к сайту через http:// имя_компьютера - или настроить дополнительные записи DNS для интрасети или аналогичные. Если у вас есть несколько компьютеров, которым требуется доступ к этому сценарию, он также сделает обновление и все остальное намного проще.

Редактировать -

Посмотрите на этот параметр в Свойствах обозревателя -

альтернативный текст

0

Если вы перейдете в Свойства обозревателя / Вкладка «Безопасность» / «Интернет» / «Пользовательские», а затем прокрутите вниз до раздела «Разное», вы найдете несколько записей, управляющих движком JavaScript в IE8.

Вы можете сравнить их на своем компьютере с этими на компьютере, на котором это работает.

Если с этим вы не найдете проблему, вы также можете сделать то же самое с
gpedit.msc / Политика локального компьютера / Конфигурация компьютера / Административные шаблоны / Компоненты Windows / Internet Explorer.
Здесь вы можете щелкнуть правой кнопкой мыши "Internet Explorer" и экспортировать все настройки в текстовый файл, что поможет сравнить их между двумя компьютерами.

0

Вот две мысли, которые могут помочь:

Переименуйте его в test.hta - он запустится как приложение HTML, а не просто как HTML. Вам может понадобиться добавить <HTA:APPLICATION> с несколькими атрибутами внутри элемента HEAD - но он должен работать как чемпион. Вы можете прочитать больше о HTA здесь: http://msdn.microsoft.com/en-us/library/ms536496.aspx

Можете ли вы использовать локальный веб-сервер для решения проблем с файловой системой? Если вы должны были установить Visual Web Developer Express, он поставляется с веб-сервером, который вы можете использовать для тестирования, или вы всегда можете установить IIS (если это WinXP Pro), Apache и т.д.

0

Вы можете попробовать проверить установку IE8 с помощью инструмента Microsoft, который находится в:
Как решить проблемы с установкой Internet Explorer 8.

Эта статья содержит кнопку « Fix It , которая устраняет общие неполадки в IE8.

Я цитирую:

Проблемы с установкой Internet Explorer 8 могут быть вызваны разными проблемами. Вот почему есть несколько способов устранения неполадок, которые вы можете использовать, чтобы попытаться решить вашу проблему.

Чтобы решить эту проблему автоматически, нажмите ссылку «Исправить эту проблему». Затем нажмите «Выполнить» в диалоговом окне «Загрузка файла» и следуйте инструкциям этого мастера.

Даже если это немедленно решит вашу проблему, вы все равно должны перезагрузиться и проверить снова. Если проблема вернулась, то это, вероятно, проблема с объектом групповой политики.

Кроме того, я нашел интересную ветку, которая может применяться:
После обновления IE8 - Open File Security Warning для всех локальных исполнителей.

Я цитирую:

После того, как я потратил много времени на регистрацию, интернет и немного алкоголя (шучу), думаю, я нашел источник проблемы. :) Я почти уверен, что это является его источником, поскольку я могу воспроизвести свою проблему, переключая значение определенного ключа реестра вперед и назад. Любопытно? :) ОК, поехали

Следующий ключ реестра был определен как причина проблемы: [HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\CurrentVersion\Internet Settings\Lockdown_Zones\0]

Согласно KB182569 (http://support.microsoft.com/kb/182569) этот ключ отвечает за: «Разное: запуск приложений и небезопасных файлов».

В той же статье также указывается: «Примечание. Если не указано иное, каждое значение DWORD равно нулю, единице или трем. Как правило, установка нуля устанавливает определенное действие как разрешенное, установка одного вызывает появление приглашения, а установка трех запрещает конкретное действие ".

Я обнаружил, что если я установил значение dword "1806" в "0", а затем использовал диспетчер задач, чтобы убить задачу "explorer" и запустить ее снова, проблема исчезла. Если я изменил значение обратно на "1" и снова убил / запустил проводник, то проблема вернулась.

Теперь я начал искать в своей системе прикладные объекты групповой политики и нашел тот, который устанавливал это значение на "1", что означает приглашение пользователя. Он устанавливается в объекте групповой политики в разделе [Конфигурация пользователя / Административные шаблоны / Компоненты Windows / Internet Explorer / Панель управления Интернетом / Страница безопасности / Зона блокировки локального компьютера / Запуск программ и небезопасных файлов].

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

Запуск программ и небезопасных файлов. Установка пути:

Конфигурация пользователя / Административные шаблоны / Компоненты Windows / Internet Explorer / Панель управления Интернетом / Страница безопасности / Закрытая локальная машина ZoneSupported On: По крайней мере Internet Explorer 7.0 ExplanationЭтот параметр политики определяет, будет ли отображаться приглашение «Открыть файл - предупреждение системы безопасности» при запуске исполняемых файлов или других небезопасных файлов.

Например, если пользователь запускает исполняемый файл из общего файлового ресурса интрасети с помощью проводника Windows, этот параметр определяет, будет ли отображаться приглашение перед открытием файла.

Если этот параметр политики включен, а в раскрывающемся списке установлено значение "Включить", файлы будут открываться без запроса безопасности. Если в раскрывающемся списке указано "Подсказка", перед открытием файлов будет отображаться запрос безопасности.

Если вы отключите этот параметр политики, файлы не будут открыты.

Если этот параметр политики не настроен, пользователи могут настроить поведение подсказки. По умолчанию выполнение заблокировано в Зоне ограниченного доступа, включено в зоне Интранет и Локальный компьютер и настроено на запрос в Интернет и Доверенные зоны.

Таким образом, основываясь на описании функции и на том, что я испытал, я пришел к выводу, что IE7 обрабатывал эту функцию неправильно, и IE8 наконец-то справился с ней правильно. Это объясняет, почему обновление IE8 привело к появлению этой функции.

0

Попытка редактирования настроек для DCOM

Перейдите в Run и введите dcomcnfg, в компонентных службах щелкните правой кнопкой мыши на моем компьютере и выберите свойства. Затем перейдите в Свойства по умолчанию и включите COM Internet Services на этом компьютере. также проверьте и убедитесь, что Уровень проверки подлинности по умолчанию установлен на подключение, а уровень олицетворения установлен на Идентифицировать.

0

Я подозреваю, что это не поможет, но вы проверили ключ реестра для запуска локальных сценариев?

HKCU \ Программное обеспечение \ Microsoft \ Internet Explorer \ Main \ FeatureControl \ FEATURE_LOCALMACHINE_LOCKDOWN

На правой панели создайте новый REG_DWORD с именем iexplore.exe и установите для него значение 0

Ценности:

0 - Allows a Web page to run active content in your computer
1 - Disallows a Web page from running active content in your computer

Этот документ содержит некоторые другие связанные ключи реестра, которые вы можете посмотреть:

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

0

Я не уверен, что вы можете добавить локальный диск в зону надежных сайтов.

Необходимо проверить ограничения для зоны и лучше всего установить для нее настраиваемый уровень и включить все параметры, относящиеся к сценариям и ActiveX, поскольку даже на самом низком уровне (предустановленных настроек) все еще действуют ограничения.

У меня была похожая проблема с IE6, и я мог ее исправить, сняв все ограничения зоны по умолчанию (Интернет). Если вам каким-то образом удалось добавить файл на доверенные сайты, вы должны также установить зону на "пользовательский уровень".

Я думаю, что это параметр, который вы должны включить наверняка:

Инициализируйте и создайте сценарии для элементов управления ActiveX, не помеченных как безопасные для сценариев. - Это влияет как "помечены как небезопасные" и "не помечены"

-1
  1. Запустите Internet Explorer.
  2. В меню Сервис выберите Свойства обозревателя.
  3. На вкладке «Дополнительно» нажмите «Сброс».
  4. В диалоговом окне «Сброс настроек Internet Explorer» нажмите «Сброс» для подтверждения.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .