【问题标题】:Open local html file in new window在新窗口中打开本地 html 文件
【发布时间】:2017-07-08 08:44:24
【问题描述】:

我的桌面上有一个本地 html 文件,当我点击它时,如果我已经打开了 chrome 并打开了多个选项卡,它将在 chrome 浏览器的新选项卡中打开我的本地文件。

我希望它在单独的 chrome 浏览器窗口中打开,因此它是在该窗口中打开的唯一网页,不应打开其他现有选项卡。

我还想调整窗口大小,我在 html 文件的标题中尝试过类似的操作

<script type="text/javascript">
var myWindow;
function resizeWinTo() {
    myWindow.resizeTo(600, 600);
    myWindow.focus();
}
window.onload = resizeWinTo;
</script>

但它不起作用。

我怎样才能做到这一点,在新的浏览器窗口中打开,然后调整该窗口的大小?

编辑:澄清一下,我点击的是桌面上的 html 文件图标,而不是某个网页中指向 html 文件的链接。

编辑 2:所以我尝试按照下面的一些答案进行操作,作为测试,我创建了一个名为“myfile.html”的简单“hello world”html 页面,该页面保存到我的桌面,该文件的代码是

<!DOCTYPE html>
<html lang="en">
<head>

<script type="text/javascript">
OpenInNewWindow();
var WindowReference;
function OpenInNewWindow()
{
WindowReference = window.open("http://www.google.com",
"DescriptiveWindowName", "resizable=yes,scrollbars=yes,status=yes");
}
</script>

</head>

<body>
    <H1> HELLO WORLD! </H1>
</body>

</html>

但是如果我已经打开了我的浏览器(我被最小化了),比如打开了一些页面,比如 bbc.com 和 cnn.com,那么我已经打开了两个标签。当我双击桌面上的“myfile.html”时,它只会在我现有的浏览器中打开第三个标签。

但我想打开一个全新的独立浏览器窗口,怎么办?

【问题讨论】:

  • window.open('http://www.google.com/', 'test', 'toolbars=0,width=400,height=320,left=200,top=200,scrollbars=1,resizable=1'); developer.mozilla.org/en-US/docs/Web/API/Window/open
  • 我把这个放在哪里?为什么它说google.com?我想打开一个本地 html 文件,比如说我桌面上的 myfile.html。
  • 它说谷歌,因为我在你的编辑之前发表了评论。用 javascript 打开本地文件很痛苦。但是路径需要看起来像这样file:///c:/Users/bean/Desktop/myfile.html,并且您需要启动带有特定标志的chrome,例如--allow-file-access-from-files,这很愚蠢,因为它会禁用浏览器中的安全功能。帮自己一个忙,设置一个本地网络服务器。
  • 如果本地 html/javascript 可以访问您的本地文件,那么远程 html/javascript 也可以访问您的本地文件。安全墙的存在是有原因的。如果您需要访问本地文件,也许您应该查看node.js。在服务器(在本例中为您的计算机)上运行的 Javascript,您可以访问本地文件而无需将安全性抛在窗外,您可以使用 electron 或类似名称打开浏览器窗口。只是一个想法。

标签: javascript html


【解决方案1】:

这是你可以做的。

win + R打开运行,输入regedit并回车

Go to HKEY_CLASSES_ROOT\ChromeHTML\shell\open\command

您应该会看到一个名为(默认)的键。双击它以获得编辑弹出窗口。 更改键值

来自

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" -- "%1"

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --new-window "%1"

现在,无论何时打开任何已保存的 html 页面,您都应该能够在新窗口中看到。

Source

【讨论】:

  • 我不明白?这不起作用,我尝试将代码放在我的 html 文件的标题或正文中,但它总是在现有浏览器中打开,而不是新浏览器。
  • 为什么是“google.com”,我不想打开 google.com 我想打开本地机器上的 html 文件,当我点击这个文件时说它叫做 myfile。 html,我希望它在一个全新的浏览器窗口中打开,即使我已经打开了一个浏览器窗口。
  • 谢谢,它有效,但它并不是我真正想要的。我想点击“myfile.html”而不是其他打开“myfile.html”的文件
  • 您的问题不在于脚本,这与默认行为有关。我假设您使用的是窗口。您可能会发现编辑后的答案很有帮助。如果没有,请告诉我。祝您好运。跨度>
猜你喜欢
  • 2023-01-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-03
  • 2014-03-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多