Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/google-chrome-extension/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google chrome 如何从';是从背景页生成的吗?_Google Chrome_Google Chrome Extension - Fatal编程技术网

Google chrome 如何从';是从背景页生成的吗?

Google chrome 如何从';是从背景页生成的吗?,google-chrome,google-chrome-extension,Google Chrome,Google Chrome Extension,我已经构建了一个简单的chrome应用程序,它有一个背景页面,当有新文章可用时,它会显示桌面通知 如果用户在浏览器窗口打开时单击通知,则它们将被带到新的文章页面,世界上一切正常 但是,如果显示通知时浏览器关闭,则href不会打开浏览器。我还尝试捕获单击并设置window.open,但这也不起作用 顺便说一句,如果我可以检查我的应用程序的实例是否已经打开,并在单击通知时使用该窗口/选项卡,这也会很好,但这是第一个问题的次要问题 任何帮助都会很好 谢谢您是否尝试过使用Chrome API创建一个窗口

我已经构建了一个简单的chrome应用程序,它有一个背景页面,当有新文章可用时,它会显示桌面通知

如果用户在浏览器窗口打开时单击通知,则它们将被带到新的文章页面,世界上一切正常

但是,如果显示通知时浏览器关闭,则href不会打开浏览器。我还尝试捕获单击并设置window.open,但这也不起作用

顺便说一句,如果我可以检查我的应用程序的实例是否已经打开,并在单击通知时使用该窗口/选项卡,这也会很好,但这是第一个问题的次要问题

任何帮助都会很好


谢谢

您是否尝试过使用Chrome API创建一个窗口然后创建一个选项卡?例如:

linkDOM.addEventListener('click', function() {
  chrome.windows.create({url: 'http://someurl.com'});
}, false);

我通常在以编程方式从扩展页打开链接时执行上述操作。

检查chrome窗口是否打开。如果打开“新建”选项卡,则打开“新建”窗口

chrome.windows.getCurrent(function(currentWindow) {
  if (currentWindow != null) {
    return chrome.tabs.create({
      'url': url
    });
  } else {
    return chrome.windows.create({
      'url': url,
      'focused': true
    });
  }
});

谢谢你的回复。只是澄清一下,这是否应该进入通知html?Np,是的,它可以进入通知页面,是一个扩展页面,因此它们都属于相同的扩展上下文(不同于内容脚本)。这意味着,他们可以使用整个ChromeAPI。嗨,在这方面还有点欠缺。我现在得到一个错误“UncaughtTypeError:Cannotcallmethod'create'of undefined”。知道我做错了什么吗?