Подтвердить что ты не робот

Правильный способ установки <a href="">когда он локальный файл

Я пытаюсь связать локальный файл. Я установил href следующим образом:

<a href="file://C:/path/to/file/file.html">Link Anchor</a>
  • В Firefox, когда я нажимаю правой кнопкой мыши и "открываю ссылку на новой вкладке", ничего не происходит.

  • Когда я нажимаю правой кнопкой мыши и "копирую ссылку", затем вручную открывайте новую вкладку и вставляем скопированную ссылку, она отлично работает. Таким образом, кажется, что синтаксис file:// в порядке. Я также пробовал это с тремя слэшами, такими как file:///, но это тот же результат.

Что я делаю неправильно?

4b9b3361

Ответ 1

Организуйте свои файлы в иерархических каталогах, а затем просто используйте относительные пути.

Демо:

HTML (index.html)

<a href='inner/file.html'>link</a>

Структура каталогов:

base/
base/index.html
base/inner/file.html
....

Ответ 2

По определению, файлы: URL-адреса зависят от системы, и они малопригодны. URL-адрес, как в вашем примере, работает при локальном использовании, то есть сама страница связывания находится на компьютере пользователя. Но браузеры обычно отказываются следовать файлу: ссылки на странице, которую он загрузил с помощью протокола HTTP, так что собственный URL-адрес страницы - это http: URL. Когда вы нажимаете на такую ​​ссылку, ничего не происходит. Предполагается, что целью является безопасность: для предотвращения доступа удаленной страницы к файлам на компьютере посетителей. (Я думаю, что эта функция была впервые реализована в Mozilla, а затем скопирована в другие браузеры.)

Итак, если вы работаете с документами HTML на своем компьютере, URL-адреса файлов должны работать, хотя в их синтаксисе есть проблемы, зависящие от системы (как вы пишете имена путей и имена файлов в таком URL-адресе).

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

Ответ 3

Значение href внутри базового тега станет вашей точкой отсчета для всех ваших относительных путей и, таким образом, переопределит текущее значение пути к каталогу в противном случае - "~" - это корень вашего сайта.

    <head>
        <base href="~/" />
    </head>

Ответ 4

../htmlfilename с .html Пользователь может это сделать Это решит вашу проблему перенаправления на любую страницу для локальных файлов.

Ответ 5

Это может произойти, если вы запускаете IIS, и через него запускается html-страница, тогда Local file system не будет доступна.

Чтобы ваша ссылка работала локально, запустите вызывающую html-страницу непосредственно из браузера файлов, а не visual studio F5 или IIS, просто нажмите на нее, чтобы открыть из файловой системы, и убедитесь, что вы используете эту ссылку:

<a href="file:///F:/VS_2015_WorkSpace/Projects/xyz/Intro.html">Intro</a>