3
我有下面的代码,在一个新的扩展我的工作:的addListener到chrome.commands.onCommand从ClojureScript不触发功能
(.addListener js/chrome.alarms.onAlarm (fn [alarm] (.log js/console alarm)))
(.addListener js/chrome.commands.onCommand (fn [command] (.log js/console command)))
(.addListener js/chrome.browserAction.onClicked (fn [] (.log js/console "clicked!")))
我:cljsbuild
看起来是这样的:
{:id "background"
:source-paths ["src/folder/background"]
:compiler {:output-dir "resources/public/js/compiled/background"
:output-to "resources/public/js/compiled/background/background.js"
:main folder.background.background
:optimizations :advanced
:pretty-print true
:source-map "resources/public/js/compiled/background/background.js.map"
:externs ["resources/public/js/chrome_extensions.js"]}}
代码完全按照所示顺序排列。奇怪的是,第一和第三行工作,而第二行什么都不做。我manifest.json
(相关部分)看起来像这样(没有解析错误):
"background": {
"scripts": [
"path/to/compiled/file.js"
]
},
"permissions": [
"alarms",
"commands"
],
"commands": {
"do-something": {
"suggested_key": {
"default": "Alt+Shift+D"
},
"description": "Do it!"
}
}
我公司拥有先进的编译和我有正确的extern文件(测试过这不可能是问题)。
最后但并非最不重要的是,我做了一个JavaScript版本,同样的工作。怎么会这样??
chrome.commands.onCommand.addListener(function (command) {
console.log(command);
});
在此先感谢!
看看编译的脚本,并将其与工作版本进行比较。 – wOxxOm
我这样做了,输出是一样的!这是最奇怪的部分。也许我的':cljsbuild'有问题?我不知道还有什么可以看的。将尝试构建一个仅使用'cljs.jar'的原始版本来查看我是否有幸运。 – marcelocra
确实这似乎与我的设置有关。我只使用'cljs.jar'设法使命令按预期执行。我会多挖一点,看看能否找出问题的根源。 – marcelocra