複数のページを一度に開くことができるツールを開発しています。これは、毎日のサイトを開いたり、フレーズ。 Firefox、Internet Explorer、Operaでは、ドメインのポップアップを解除したと仮定すると、コードは期待通りに機能します。新しいタブで複数のサイトを開くようにChromeを設定する方法
しかし、Chromeは、ページが読み込まれたときにリンクが自動的に開くと、タブではなく新しいウィンドウでサイトを開きます。 openAll()がコメントアウトされ、ボタンがクリックされるか、またはキーが押されると、ページはタブで開きます。それはまったく同じ機能を呼び出すことに注意してください。
私が見つけた最良の解決策(それほど大したことではない)はOne Windowです。それはうまくいきますが、新しいウィンドウが開いているのを確認してから再び吸い込まれ、Ctrl-Nで新しいウィンドウを開くことができなくなり、タブをドラッグして別のChromeウィンドウを使用することができます。
これはブラウザの設定であるためプログラム的な変更はありませんが、ツールのユーザーはサイトをすべて新しいウィンドウで開くのは面倒です。ユーザーの入力なしでリンクがタブに表示されるChromeの設定や拡張機能はありますか?私はウィンドウの塊を開くことがブラウザが停止を目指すものであることを認識していますが、これは私が許可したい1回です。ここで
<input id="openAllBtn" type="button" value="Open all links"> (Or press any key)
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.6.1.min.js"></script>
<script type="text/javascript">
function openAll() {
window.open('http://yahoo.com/');
window.location.replace('http://www.bing.com/');
return false;
}
$(document).ready(function() {
$(document).bind('keypress', openAll);
$("#openAllBtn").bind("click", openAll);
openAll();
});
</script>
は、コードのフィドルです:http://jsfiddle.net/sfzjR/
使用しているクロムのバージョンは何ですか?あなたが提供したjsfiddleは、私のためにクロムの2つのタブを開いた。 – matzahboy
もう一度試してみましょう。あなたが探している一般的な振る舞いを制定するために私がやるべきことは次のとおりです。 //開こうとする各リンクに対して単純な 'target = '_ blank''リンクを作成します。 // jQueryの共通クラスですべての要素を集めます。 //特定の遅延の後に、それぞれのクリックイベントを連続してトリガーします。 // setTimeout関数を強制終了することで、いつでもボタンを再度クリックしてリンクの開けを止めることができます。 //これは、70リンクをクリックして開いたときにビューアのブラウザをクラッシュさせたりDOSingしたりしないという利点があります。 – Kzqai
@matzahboy私はChrome 13.0.782.32ベータ版を使用しており、最新のChromium開発版でテストしています。フィールはopenAll()の呼び出しがコメントアウトされていました。コメントを外してから実行してみてください。 –