在新的 window(Chrome 应用程序)中打开 Chrome

Open Chrome in a new window (Chrome app)

我正在尝试创建一个 chrome 应用程序,当我点击一个按钮时,它会打开一个新的 chrome window,目前它只是打开一个新标签.

html:

<html>
<head>
<script src="jquery-3.1.1.min.js"></script>
<script src="script.js"></script>
</head>

<body>

<button>Test</button>

</body>
</html>

JS:

$(document).ready(function() {
  $("button").click(function() {
    window.open(
      "https://www.google.com",
      "_blank",
      "toolbar=yes,scrollbars=yes,resizable=yes,top=500,left=500,width=400,height=400"
    );
  });
});

你错过了行尾的 "

window.open("https://www.google.com", "_blank", "toolbar=yes,scrollbars=yes,resizable=yes,top=500,left=500,width=400,height=400");

这会在 chrome 应用中创建新的 window

chrome.app.window.create('https://www.google.com', {
    id: "MyApp",
    outerBounds: {width: 400, height: 400}
});

如果你想要外部 URL 那么你应该使用

<webview src="http://news.google.com/" width="640" height="480"></webview>

有关动态更改 src 属性 的更多详细信息,请关注 the Link

遗憾的是,据我所知没有办法做到这一点。

在应用程序的上下文中使用 window.open 有点 hack,但会导致 URL 在用户的默认浏览器中打开(不一定 Chrome)。无法控制浏览器如何选择打开它。

有一个 Chrome 应用程序特定 API 是专门为 "open a page in Chrome" 创建的,chrome.browser。但是,它仍然没有提供在新 window.

中打开的选项

最接近的方法是创建自己的 "browser":一个应用程序 window,其中包含 <webview>。然后您可以完全控制演示,但它没有与 Chrome 的配置文件集成,并且可能需要额外的工作来实现对话框和浏览器控件等内容。见 Browser sample app and <webview> documentation.