Javascript 在Chrome中使用window.Open打开本地HTML文件

Javascript 在Chrome中使用window.Open打开本地HTML文件,javascript,Javascript,我想通过Javascript打开本地HTML文件,使用: window.open ("file://C:/Users/wins/Desktop/exclusiveWordpress.html","mywindow"); 但它正在打开一个新窗口,其中包含一个空白页面,就像我们在未指定URL时所获得的一样。如何实现这一点?首先,确保源页面和目标页面都是通过文件URI方案提供的。您不能强制一个http页面打开一个文件页面(但它的工作方式正好相反) 接下来,调用window.open()的脚本应该由用

我想通过Javascript打开本地HTML文件,使用:

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

但它正在打开一个新窗口,其中包含一个空白页面,就像我们在未指定URL时所获得的一样。如何实现这一点?

首先,确保源页面和目标页面都是通过
文件
URI方案提供的。您不能强制一个
http
页面打开一个
文件
页面(但它的工作方式正好相反)

接下来,调用
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控制台并运行上面的语句。第三个现在可以用了。

这对我来说很好:

文件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>

...
无论这两个文件是否在同一目录中,此方法都有效,但这两个文件都必须是本地文件


出于明显的安全原因,如果文件1位于远程服务器上,则绝对不能在某个客户端的主机上打开文件,并且尝试打开时将打开一个空白目标。

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


没有什么对我有用。

尝试
文件://
而不是
文件://
文件:
协议上也有此HTML的页面吗?是的,这是一个HTML文件。我尝试了使用file:///而不是file://.........still 如果原始网页来自http{s},则无法正常工作(安全问题)。您能否指定javascript从何处运行(localhost,http://,https://,file://,…告诉我们它是一个html文件不够具体)这个答案实际上是不准确的。您可以运行window.open(');它会自动打开一个新窗口,只要你的弹出窗口拦截器不碍事。谢谢@Deadron…我完全没有注意到我的弹出窗口拦截器阻止我从chrome控制台调用window.open()!如何在同一选项卡中打开它?@tusargogna通过传递函数
name
属性,如:
window.open('file:///D:/Examples/file2.html“,”自我“
;谢谢(y),尽管我现在使用location.harif来实现这一点。无论如何,新年快乐:)如果我们打开html服务器,这个方法将不起作用。仅在将其作为文件打开时有效file:///D:/Examples/file1.html