Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/412.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.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
Javascript 谷歌chrome应用程序将启动多个标签,意外崩溃_Javascript_Google Chrome_Tabs_Google Chrome App - Fatal编程技术网

Javascript 谷歌chrome应用程序将启动多个标签,意外崩溃

Javascript 谷歌chrome应用程序将启动多个标签,意外崩溃,javascript,google-chrome,tabs,google-chrome-app,Javascript,Google Chrome,Tabs,Google Chrome App,我试图找到一个一键解决方案,在谷歌Chrome的同一窗口中打开多个不同标签页的网站。我知道我可以将所有网站放在书签文件夹中,然后用鼠标右键单击“全部打开”(或用鼠标中键单击书签文件夹),但这不符合我的需要 据我所知,在Google Chrome中使用非用户启动的javascript回调无法启动多个选项卡。如果是这样的话,Chrome会在一个单独的窗口中弹出每个网站(请参阅) 然而,我使用google Chrome应用程序成功地完成了这项任务: manifest.json { "name":

我试图找到一个一键解决方案,在谷歌Chrome的同一窗口中打开多个不同标签页的网站。我知道我可以将所有网站放在书签文件夹中,然后用鼠标右键单击“全部打开”(或用鼠标中键单击书签文件夹),但这不符合我的需要

据我所知,在Google Chrome中使用非用户启动的javascript回调无法启动多个选项卡。如果是这样的话,Chrome会在一个单独的窗口中弹出每个网站(请参阅)

然而,我使用google Chrome应用程序成功地完成了这项任务:

manifest.json

{
  "name": "Open multiple tabs",
  "version": "1.0",
  "description": "Opens multiple tabs in the same window.",
  "manifest_version": 2,
  "app": {
    "background": {
      "scripts": ["background.js"]
    }
  }
}
background.js

chrome.app.runtime.onLaunched.addListener(function() {
   window.open("http://plus.google.com");
   window.open("http://www.twitter.com");
   window.open("http://news.google.com/");
   window.open("http://bestofyoutube.com");
   window.open("http://www.sci2.tv/#!/browse");
});
我的代码很可能有问题,因为在加载选项卡后,有一半以上的时间会崩溃,显示“Aw shap!显示此网页时出错。若要继续,请重新加载或转到另一页”错误消息

此外,Google+(plus.Google.com)总是显示消息“您已从Google+注销”(如果标签没有首先崩溃),即使重新加载后也不会消失

安装前是否打包应用程序并不重要

任何帮助都将不胜感激

作为奖励,有人能解释一下为什么要更换吗

window.open(url);

结果应用程序什么都不做

谢谢, 尼科斯


OSX Mavericks,Chrome 35.0.1916.153版

我认为您的问题在于,当您想要的功能更适合某个应用程序时,尝试创建一个Chrome。请参阅,以获取两者之间的比较

例如,这里的应用程序出了什么问题

  • chrome.tabs
    API是。这是因为应用程序不应该:

  • 与浏览器界面交互,即打开其中的选项卡
  • 在它们内部有选项卡——它们应该看起来像“本机”应用程序,而不是迷你浏览器
  • Google+被注销:这是因为应用程序无法访问浏览器自己的cookie。他们有自己的cookie存储,需要采取额外的步骤来持久化这些存储


  • 所以,你真正想要的是一个扩展。它将为您提供一个漂亮的按钮,您可以使用
    chrome.windows
    chrome.tabs
    来做您想做的事情。

    谢谢Xan的回答,这非常有帮助!我想我很愚蠢,我没有在问题中说明为什么我首先需要这个功能,以防有人想到一个解决方案,以及为什么扩展很可能也不适合我的需要:我正在使用扩展,它允许放置a)链接(以有效的协议(如http://)开始),b)应用程序和c)ANTP小部件,在新选项卡页面的平铺网格中。我想这些瓷砖之一,以启动多个网站。有没有办法从javascript启动扩展?@Nicholas在这种情况下,您需要创建一个ANTP小部件,它是一个响应来自ANTP的外部消息的扩展。我找不到任何文档,但有一些例子,例如,我想避免这种情况,并有一些更通用的,但是的,我想这是一种方式!谢谢大家!@尼古拉斯似乎放弃了ANTP项目,转而选择了令人敬畏的总部。我不是100%肯定这种方法会奏效。
    chrome.tabs.create(url);