Javascript 在Chrome中使用window.Open打开本地HTML文件
我想通过Javascript打开本地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()的脚本应该由用
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