如何在chrome extension中运行外部输入的js代码?

网友解答: 将页面放进砂箱manifest.json { "manifest_version": 2, "sandbox": { "pages": [ "index.

网友解答:

将页面放进砂箱

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()

标签: