使用Chrome中的window.open打开本地HTML文件

时间:2011-02-16 01:09:13

标签: javascript

我想使用以下命令通过Javascript打开本地HTML文件:

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

但它正在打开一个带有空白页面的新窗口,就像我们在未指定URL时所获得的那样。我如何实现这一目标?

3 个答案:

答案 0 :(得分:3)

这对我很有用:

文件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位于远程服务器上,则绝对不能在某个客户端的主机上打开文件,尝试这样做会打开一个空白目标。

答案 1 :(得分:0)

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

没有任何帮助。

答案 2 :(得分:-4)

首先,确保源页面和目标页面都通过file URI方案提供。您无法强制http页面打开file页面(但它可以反过来工作)。

接下来,调用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'); });

您还可以测试这是否适用于本地文件。这是一个简单加载jQuery的示例HTML文件:

<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控制台并运行上述语句。第三个现在可以工作。