gpt4 book ai didi

javascript - Google Chrome 空闲 API 示例无法正常工作

转载 作者:行者123 更新时间:2023-12-03 03:21:24 24 4
gpt4 key购买 nike

我正在尝试使用此处提供的示例 chrome 扩展来了解 chrome 空闲 API 的工作原理:https://developer.chrome.com/extensions/samples#search:idle

我也看过这个类似的问题:Google chrome - extension chrome idle not working但这似乎也没有帮助。然而,我在实际工作中遇到了困难。在没有进行任何更改的情况下,我将扩展文件加载到 Chrome 上的开发人员模式中。单击扩展图标后,会出现弹出窗口,每秒查询一次状态。但是,即使我在弹出窗口内单击,状态也不会更新。检查控制台后,发现以下错误:

Uncaught TypeError: Cannot set property 'innerHTML' of null at renderHistory (history.js:66) at HTMLDocument. (history.js:82)

还有其他人能够运行此示例扩展吗?我希望能得到一些帮助来解决这个问题。

最佳答案

这只是一个编程错误:示例代码中的竞争条件。

var dom_history = document.querySelector('#idle-history');

此分配发生在 DOMContentLoaded 之外,并且脚本加载到<head>中-所以它actually doesn't find the element at runtime即使它稍后存在。

有可能之前的计时工作有所不同,而扩展程序工作正常。

要在本地修复,请全局声明该变量,但在 DOMContentLoaded 内分配监听器(并不是说这是最好的解决方案,只是做了最小的更改):

var dom_history;
document.addEventListener('DOMContentLoaded', function() {
dom_history = document.querySelector('#idle-history');
/* ... */
});

要为每个人修复它..您可以随时尝试提交 this code in Chromium repository 的补丁。不过,这是一个复杂的过程。

关于javascript - Google Chrome 空闲 API 示例无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46562105/

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