1

好的,所以我是一个初学者程序员,并且正在使用谷歌给我的模板来制作一个测试应用程序。我希望当有人单击文本按钮时,它会关闭窗口。该窗口使用 HTML 编码。我用了:

<a href="JavaScript:window.close()">CLOSE</a>

请帮忙

4

3 回答 3

6

通过右键单击并选择 Inspect Element,然后单击顶部选项卡列表中的“控制台”,在您的应用程序的开发人员工具中打开 Chrome 的 javascript 控制台。你会看见:

拒绝执行 JavaScript URL,因为它违反了以下内容安全策略指令:“default-src 'self' chrome-extension-resource:”。请注意,'script-src' 没有显式设置,因此 'default-src' 用作后备。

在打包的应用程序中,由于更严格的内容安全策略,您无法在 HTML 文件中使用 javascript。您必须创建 HTML,然后从 javascript 文件中找到该元素并注册一个 onclick 处理程序。

例如,请参阅Window State示例打包应用程序,查看window.htmlwindow.js

window.close()将从 javascript 文件中工作。不过,您应该了解打包应用程序特定的应用程序窗口 api,并在那里查看其他选项,例如chrome.app.window.current().fullscreen().

于 2013-05-16T20:43:38.093 回答
4

编辑:正如Zibri评论中指出的那样,这不再适用于 Linux 上的 Chrome 67(可能更早)。这个答案现在已经过时了。我为后人保留原文。


Google Chrome 通常不允许您使用window.closeJavaScript 关闭窗口。

一种解决方法是使用:

window.open('', '_self', ''); 
window.close();

您可以立即尝试:进入javascript:window.close();您的地址栏并按Enter,不会发生任何事情,但试试这个,它会工作:

javascript:window.open('','_self','');window.close();

有关更多信息,请参阅window.closeJavaScript 无法在 Google Chrome 中运行的方法”

于 2013-05-16T02:39:02.323 回答
0

window.close()有一种新方法可以使用Chrome 开发版中的新方法关闭窗口: https ://developer.chrome.com/dev/apps/app.window.html#type-AppWindow 。

但我建议使用 WChargin 的答案,因为它现在可以工作。

于 2013-05-16T02:45:06.723 回答