todas respaldar pestañas perder las guardar grupo extension dejar como chrome cerrar agrupar abiertas javascript angularjs google-chrome tabs popup

javascript - respaldar - Abre múltiples enlaces en Chrome a la vez como nuevas pestañas



guardar todas las pestañas abiertas firefox (3)

La razón por la que la extensión del navegador puede hacerlo es porque las extensiones de Chrome tienen acceso a una API de Chrome especial , que le permite usar:

chrome.windows.create({tabid: n})

donde createData tiene un valor tabid mayor que cualquier pestaña actual (y puede encontrar el tabid actual más tabid usando chrome.windows.getAll() ).

Sin embargo, en términos de hacerlo en su página (o en cualquier lugar que no sea una extensión de Chrome), eso no es posible, ya que la configuración del usuario determina por completo si una nueva ventana se abre o no en una nueva pestaña .

Intento abrir múltiples enlaces a la vez en Google Chrome en pestañas nuevas pero falla.

Problemas:

  1. Bloqueado por ventana emergente
  2. Abrir en ventanas nuevas en lugar de pestaña después de que el usuario haya permitido la ventana emergente

Con esto , puedo abrir múltiples enlaces a la vez en Firefox:

<!DOCTYPE html> <html ng-app="plunker"> <head> <meta charset="utf-8"> <title>AngularJS Plunker</title> <script>document.write(''<base href="'' + document.location + ''" >'');</script> <link rel="stylesheet" href="style.css"> <script data-require="[email protected]" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.17/angular.min.js" data-semver="1.2.17"></script> <script src="app.js"></script> </head> <body ng-controller="MainCtrl"> <button ng-click="openLinks()">Open</button> </body> </html>

Además, me encontré con alguien que encontró una solución alternativa .

Intenté usar setInterval para tratar de abrir los enlaces individualmente, pero no funcionó.


Parece que la extensión usa el código debajo para abrir esas pestañas.

function openTab(urls, delay, window_id, tab_position, close_time) { var obj = { windowId: window_id, url: urls.shift().url, selected: false } if(tab_position != null) { obj.index = tab_position tab_position++; } chrome.tabs.create(obj, function(tab) { if(close_time > 0) { window.setTimeout(function() { chrome.tabs.remove(tab.id); }, close_time*1000); } }); if(urls.length > 0) { window.setTimeout(function() {openTab(urls, delay, window_id, tab_position, close_time)}, delay*1000); } }

Si desea ver el código de la extensión como referencia, encontrará las extensiones en (para Windows) C:/Documents and Settings/*UserName*/Local Settings/Application Data/Google/Chrome/User Data/Default/Extensions


Puedes hacer esto en JavaScript vanidoso:

<html> <head> <script type="text/javascript"> function open_win() { window.open("http://www.java2s.com/") window.open("http://www.java2s.com/") } </script> </head> <body> <form> <input type=button value="Open Windows" onclick="open_win()"> </form> </body> </html>

Aquí hay una implementación más específica de Chrome (si los bloqueadores de pop-ups te están dando problemas):

var linkArray = []; // your links for (var i = 0; i < linkArray.length; i++) { // will open each link in the current window chrome.tabs.create({ url: linkArray[i] }); }

Aquí hay algo de documentación: https://developer.chrome.com/extensions/tabs