Откройте локальный файл HTML, используя window.open в Chrome.

Я хочу открыть локальный файл HTML через Javascript, используя:

window.open ("file://C:/Users/wins/Desktop/exclusiveWordpress.html","mywindow");

Но он открывает новое окно с пустой страницей, как мы привыкли получать, когда URL не указан. Как мне этого добиться?

Ответ 1

Это сработало для меня нормально

Файл 1:

    <html>
    <head></head>
    <body>
        <a href="#" onclick="window.open('file:///D:/Examples/file2.html'); return false">CLICK ME</a>
    </body>
    <footer></footer>
    </html>

Файл 2:

    <html>
        ...
    </html>

Этот метод работает независимо от того, находятся ли 2 файла в одном каталоге, НО оба файла должны быть локальными.

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

Ответ 2

window.location.href= 'file://///fileserver/upload/Old_Upload/05_06_2019/THRESHOLD/BBH/Look/chrs/Delia';

Ничто не сработало для меня.

Ответ 3

Во-первых, убедитесь, что страница-источник и целевая страница обслуживаются через схему file URI. Вы не можете заставить страницу http открыть страницу file (но она работает наоборот).

Затем ваш script, вызывающий window.open(), должен быть вызван инициированным пользователем событием, таким как клики, нажатия клавиш и т.п. Просто вызов window.open() не будет работать.

Вы можете проверить это прямо здесь, на этой странице вопросов. Запустите их в консоли Chrome JavaScript:

// Does nothing
window.open('http://google.com');

// Click anywhere within this page and the new window opens
$(document.body).unbind('click').click(function() { window.open('http://google.com'); });

// This will open a new window, but it would be blank
$(document.body).unbind('click').click(function() { window.open('file:///path/to/a/local/html/file.html'); });

Вы также можете проверить, работает ли это с локальным файлом. Вот пример HTML файла, который просто загружает jQuery:

<html>
    <head>
        <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.min.js"></script>
    </head>
    <body>
        <h5>Feel the presha</h5>
        <h3>Come play my game, I'll test ya</h3>
        <h1>Psycho- somatic- addict- insane!</h1>
    </body>
</html>

Затем откройте консоль Chrome JavaScript и запустите приведенные выше инструкции. Теперь будет работать третий.