如何在chrome extension中運(yùn)行外部輸入的js代碼?
網(wǎng)友解答: 將頁面放進(jìn)砂箱manifest.json { "manifest_version": 2, "sandbox": { "pages": [ "index.
將頁面放進(jìn)砂箱
manifest.json {
"manifest_version": 2,
"sandbox": { "pages": [ "index.html" ] }
}
這樣在index.html里面是可以eval的。
但是在index.html內(nèi)是無法調(diào)用extension api的,這時可以用window.postMessage向砂箱外部傳遞消息,然后在外部監(jiān)聽消息,再調(diào)用api
箱內(nèi)
window.parent.postMessage command: "close"
箱外
window.addEventListener 'message', (e)- switch e.data?.command when "close" then chrome.app.window.current().close()