extension中運行外部輸入的js代碼?
將頁面放進砂箱
manifest.json {
"manifest_version": 2,
"sandbox": { "pages": [ "index.html" ] }
}
這樣在index.html里面是可以eval的。
但是在index.html內是無法調用extension api的,這時可以用window.postMessage向砂箱外部傳遞消息,然后在外部監聽消息,再調用api
箱內
window.parent.postMessage command: "close"
箱外
window.addEventListener 'message', (e)-> switch e.data?.command when "close" then chrome.app.window.current().close()