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