我有一个谷歌Chrome打包应用程序,并使用webview标记加载远程页面(我无法控制)。该远程页面正在尝试请求通知权限,并且权限请求似乎没有冒泡到Chrome应用程序包装。
我正在使用以下(过度宽松)代码来允许来自webview的所有权限请求(并回显所有控制台输出):
webview.addEventListener('permissionrequest', function(e) {
console.log("webview requested " + e.permission);
e.request.allow();
});
webview.addEventListener('consolemessage', function(e) {
console.log('From webview: ', e.message);
});
我无法在线查找确认信息,但我认为网页视图中尚未允许通知权限。如果我们假设是这种情况,是否还有其他方法可以强制强制通过Webview网站的通知权限,而不会被CORS阻止?
答案 0 :(得分:1)
您是正确的(as far as the docs go)通知权限请求不存在,也没有任何事件表明要显示通知。
你可以想象的是注入一个内容脚本,反过来,它将注入一个页面级脚本,用一个将消息传递给你的内容脚本的内容来替换Notification
对象,该脚本将它转发给您的应用,可以使用chrome.notifications
显示通知。这里有更详细的an answer that explains this injection。