好久沒買雜書了,最近都在看 Vim,應該要調劑一下身心了,雖然我還是很喜歡 Vim 沒錯XD
順便巡一下 Kobo 網頁,是否又再更改 HTML 結構!
Manifest 是 Chrome Extension 的一個架構檔案,裡面會描述所需要的權限以及 action 等相關。
好像是從去年開始,版本從 v2 升級到 v3,故從 2022/01 開始,無法在 Store 上架 v2 的套件,明年 2023/01 以後,則是不允許執行 v2 的套件。
有些 property 改名字了,有些則是 API 呼叫方式改變,以我的 KoboExpense 來說,大概有一成需要更動,整體來說並沒有到很麻煩。
另外 v3 版本的 API 很多都會回傳 promise,故在非同步的處理上應該會更方便。
2022/04/21 更新
前天上架的 KoboExpense 被退回來了,原因是用到不需要的權限。因為從 v3 開始,呼叫執行 script 的 API 參數有變,需要多傳一個 tab ID,故我以為需要 tabs 的權限,後來仔細再看了一遍文件,發現只有存取 tabs.Tab 裡的一些欄位才需要此權限(url, pendingUrl, title, or favIconUrl)。
可見目前審核是比較嚴格,故上架時還是要多注意是否加了不必要的權限。
2022/04/22 更新
下午收到審核通過的信件,看起來整個流程差不多要兩天,不過還是得看同時要上架的 Extension 有多少而訂。
chrome.tabs.executeScript(null, {
file: "js/gethtml.js"
}, function() {
if (chrome.runtime.lastError) {
let errorMsg = chrome.runtime.lastError.message;
showMessage('error : \n' + errorMsg);
} else {
chrome.tabs.query({ active: true, currentWindow: true }, function(tabs) {
chrome.tabs.sendMessage(tabs[0].id, {action: 'getIgnored', ignored: ignored});
});
}
});
"content_scripts": [
{
"matches": ["https://member.readmoo.com/order"],
"js": ["js/gethtml.js"],
"run_at": "document_end"
}
]