J'essaie d'ouvrir plusieurs liens à la fois dans Google Chrome dans de nouveaux onglets, mais cela échoue.
Problèmes:
Avec this , je peux ouvrir plusieurs liens à la fois dans 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>
En outre, je suis tombé sur quelqu'un qui a trouvé une solution de contournement .
J'ai essayé d'utiliser setInterval
pour essayer d'ouvrir les liens individuellement, mais cela n'a pas fonctionné.
Vous pouvez le faire en JavaScript à la vanille:
<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>
Voici une implémentation plus spécifique à Chrome (si les bloqueurs de popup vous posent des problèmes):
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]
});
}
Voici de la documentation: https://developer.chrome.com/extensions/tabs
L'extension de navigateur peut le faire parce que les extensions Chrome ont accès à une API Chrome spéciale , qui vous permet d'utiliser:
chrome.windows.create({tabid: n})
où createData
a une valeur tabid
supérieure à tout onglet en cours (et vous pouvez trouver la plus grande tabid
actuelle à l'aide de chrome.windows.getAll()
).
Toutefois, pour ce qui est de le faire sur votre page (ou sur toute autre extension que Chrome), cela n’est pas possible, car qu’une nouvelle fenêtre s’ouvre ou non dans un nouvel onglet est entièrement déterminé par les paramètres de l'utilisateur .
Le code suivant ouvrira plusieurs popUp sur le clic du bouton.
<html>
<head>
<title></title>
<script type="text/javascript">
function open_win() {
window.open("url","windowName","windowFeatures")
window.open("url","DifferentWindowName","windowFeatures")// different name for each popup
}
</script>
</head>
<body>
<form>
<input type=button value="Open Windows" onclick="open_win()">
</form>
</body>
vous devez vous assurer que chaque nom de fenêtre est différent, sinon la dernière popup remplacera la précédente. En conséquence, vous vous retrouverez avec une seule fenêtre contextuelle.