URL работает при вставке / вводе в адресной строке IE9, но не в href или window.open - PullRequest
1 голос
/ 05 октября 2011

Контекст: это часть системы INTRANET, требующая базовой аутентификации и запуска на внутреннем сервере, доступном только в нашем рабочем домене.

Итак, ситуация такова, что IE9 будет без проблем переходить по ссылкам на сетевые файлы и папки через подключенные диски. У меня это нормально работает, своего рода эксплойт безопасности только для IE, который отлично подходит для нашей ситуации и многих других:)

Например: <a href="file:///U:/foo/bar.txt" target=\"_new\">Example</a> отлично работает. Теперь, проблема в том, что <a href="file:///C:/foo/bar.txt" target=\"_new\">Example</a> не будет работать .
Однако , если я копирую и вставляю file:///C:/foo/bar.txt в адресную строку, он загружается нормально. И то же самое относится и к локальным папкам.

Еще один момент, на который следует обратить внимание: я пробовал с <a href="#" onclick="window.open('file:///C:/foo/bar.txt');">Example</a> и получил те же самые результаты. URL-адреса, указывающие на файлы и папки на сетевых подключенных дисках, работают нормально, C: \ папки и файлы не работают (если не вставлены в адресную строку).

Итак, мои вопросы:
1. учитывая, что у меня есть действительный URL, почему IE9 не будет следовать по нему при нажатии, но будет следовать по нему при вводе в адресную строку?
2. Почему IE не беспокоится о запуске сетевых файлов и папок, а не локальных?
3. Как я могу заставить это работать? (и у меня нет никаких сомнений в необходимости использования любого грязного взлома IE)

Ответ на любой 1 из этих вопросов был бы великолепен, но золотая звезда достается человеку, который может ответить № 3!
Я подозреваю / надеюсь, что это просто неясная обстановка безопасности где-то, что мое поисковое устройство не смогло найти.

Спасибо за ваше время и надеюсь, что этот звонок прозвенел с кем-то, кто сталкивался с этой проблемой и решал ее раньше

edit: Я только что заметил, что IE9 интерпретирует мои ссылки !! Если я просматриваю исходный код и вижу: <a href="C:/foo/bar.txt" target="_new">Example</a> или <a href="file://C:/foo/bar.txt" target="_new">Example</a>, при наведении курсора на ссылку или копировании ярлыка я получаю file:///C:/foo/bar.txt. Так что я думаю, что я борюсь с трудной битвой, пытаясь сформировать «правильный» URL. Я уверен, что это не ошибка синтаксиса кода, а настройка где-то, чтобы эти ссылки C: следовали.

1 Ответ

0 голосов
/ 05 октября 2011

Мне не удалось воспроизвести вашу проблему. Я могу открывать страницы в Chrome и IE, используя оба:

<a href="file:///C:/temp/test.py">Example</a> 

и

<a href="file://C:/temp/test.py">Example</a>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...