admin管理员组文章数量:1315298
I want to avoid postMessage between webextension and tab app in firefox because of low privacy.
But I've encountered permission wall.
// content script in webextension
const obj = new window.Object()
// It's OK
obj.good = exportFunction(() => {
return window.wrappedJSObject.somePromiseFunc();
}, window);
// NG calling then of somePromiseFunc
obj.ng = exportFunction(() => {
return window.wrappedJSObject.somePromiseFunc().then(val => {
val
}) // Uncaught (in promise) Error: Permission denied to access object
})
// NG wrapped by window.Promise either
obj.foo = exportFunction(() => {
return new window.Promise(resolve => {
window.wrappedJSObject.object // It's OK
window.wrappedJSObject.somePromiseFunc().then(val => {
resolve(val)
}) // Uncaught (in promise) Error: Permission denied to access object
})
})
The method for success described Webextension Content script return Promise to page-script in 2017 didn't work either.
The same error:
obj.foo = exportFunction(() => {
return new window.wrappedJSObject.Promise(
exportFunction(function (resolve) {
window.wrappedJSObject.somePromiseFunc().then(val => {
resolve(val)
}) // Uncaught (in promise) Error: Permission denied to access object
}, window.wrappedJSObject)
)
}, window.wrappedJSObject)
I want to call window.wrappedJSObject.somePromiseFunc()
with function passed from content script. Is there any way?
本文标签: firefoxHow can I call windowwrappedJSObjectsomePromise in windowPromiseStack Overflow
版权声明:本文标题:firefox - How can I call window.wrappedJSObject.somePromise in window.Promise? - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1741979760a2408324.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论