開いているウィンドウの数をカウントします
-
08-10-2019 - |
質問
Google Chrome BrowswerでJavaScriptを使用して開いているタブの数を数えようとしています。誰かがこれを行う方法を知っていますか?
私は10回繰り返してから停止したいというJavaScriptをいくつか書きました。 1回の反復が完了すると、以下を使用して新しいウィンドウを開きます。
window.open("http://www.test.com");
停止するよりも10回やりたいです。多分私が考えているものよりも良い方法があります...
解決 3
だから私は自分が望むことをする方法を理解できなかったので、別のアプローチを取りました。 GoogleがChromeにオプションがあるかどうかを確認して、開くタブの数を制限するかどうかを確認してください。彼がどうしたのかわかりませんが、間違いなく機能します。制御されたマルチタブブラウジング
他のヒント
ループは問題ないと思いますが、追跡したい場合は、
var winList = new Array();
var count = 10;
for(var i=0; i < count; i++){
winList[i] = window.open("http://www.test.com");
}
これにより、ウィンドウへの参照を保持できます。
Hth
他のWebサイトがそれらにアクセスできないように、Webページがサンドボックスされていることは良いことです。それらがあなたが使用して開いた窓の場合 window.open
受信したリファレンスをウィンドウに保存できます。
var win = window.open(url);
もちろん、多数のウィンドウを開いている場合は、これを配列にプッシュできます。
var wins = [];
//looping stuff here
wins.push(window.open(url[i]);
を見てください Google Chrome Extensions開発者ガイド , 、特に タブ ページと getAllInWindow
関数
chrome.tabs.getAllInWindow(integer windowId, function callback)
コールバック関数がタブの配列を受信します。つまり、その長さを得ることができます。
そして、あなたが追跡したいタブがおそらく異なるウィンドウにある場合、あなたは ウィンドウズ ページと getAll
関数
chrome.windows.getAll(object getInfo, function callback)
これを使用して、すべてのウィンドウを反復し、呼び出します getAllInWindow
. 。そして、あなたはすべて設定されています。
あなたがしたいのは、10のタブを開くことだけです:
var i;
for (i = 0; i < 10; i++) {
window.open("http://www.test.com");
}
しかし、いや、オープンタブの数を数えることができるとは思わない。 (あなたが訪れたランダムなウェブサイトがあなたが開いているタブの数を知るために訪問したいですか?)