gpt4 book ai didi

JavaScript 在 Chrome 扩展 HTML 桌面通知中不起作用

转载 作者:太空宇宙 更新时间:2023-11-04 15:17:41 26 4
gpt4 key购买 nike

我正在开发一个带有 HTML 桌面通知的 Chrome 扩展程序,但是当它们出现时,它们似乎没有执行任何 JavaScript。我从一个复杂的 JS 开始,然后我将测试减少到这个:

<!DOCTYPE html>
<head>
<title>notification</title>
</head>
<body>
<script>document.write("content")</script>
<img src='notification.png'><p>Yep!</p><p id="test"></p>
</body>
</html>

我可以看到我硬编码的任何内容,但没有 DOM 操作(或简单的 document.write)在工作。我试图将JS放在一个单独的文件中,但是没有用。我当前的 Chrome 版本是 23.0.1271.64 (Apple v.)。

你能帮帮我吗?

[更新] 这是 manifest.json:

{
"name": "BB",
"version": "1.0",
"manifest_version": 2,
"description": "",
"icons": {"48": "BB.png"},
"browser_action": {
"default_title": "BB",
"default_icon": "icon.png",
"default_popup": "popup.html"
},
"background": {
"scripts": ["bkg.js"]
},
"permissions": [
"notifications"
],
"web_accessible_resources": [
"notification.html","popup.html","popup.js"
]
}

最佳答案

由于 Content Security Policy (CSP),您必须使用外部脚本.

这是我如何让它工作的:

background.js

var notification = webkitNotifications.createHTMLNotification('notification.html');
notification.show();

notification.html

<!DOCTYPE html>
<head>
<title>notification</title>
<script src="notification.js"></script>
</head>
<body>
<img src='notification.png'><p>Yep!</p><p id="test"></p>
</body>
</html>

最后是 notification.js。添加事件监听器以等待页面加载很重要:

document.addEventListener('DOMContentLoaded', function() {
document.getElementById('test').innerHTML = 'test';
});

p 标签的文本应填充测试内容。

顺便说一下:我认为您不需要将 notification.html 添加到您的 web_accessible_resources

关于JavaScript 在 Chrome 扩展 HTML 桌面通知中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13285296/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com