7

我有一个 Google 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);
  });

我在网上找不到确认信息,但我认为 webviews 中还不允许通知权限。如果我们假设是这种情况,是否有任何其他方法可以强制对不会被 CORS 阻止的 webviewed 站点的通知权限?

4

1 回答 1

3

您是正确的(就文档而言)通知权限请求不存在,也没有任何事件表明要显示通知。

您可以做的是注入一个内容脚本,该脚本反过来会注入一个页面级脚本,该脚本将Notification对象替换为向您的内容脚本传递消息的内容,该内容脚本将其中继到您的应用程序,该应用程序可以显示通知使用chrome.notifications. 这是一个更详细地解释这种注入的答案。

于 2016-05-09T09:15:59.337 回答