2009-06-28 6 views
1

でブックマークレットオープンタブ私は中国の辞書で単語を検索するブックマークレットを書いている:FirefoxのJavaScriptの背景

javascript:Qr=document.getSelection();if(!Qr){void(Qr=prompt('%E8%AF%8D%E8%AF%AD',''))};if(Qr)(function(){window.open('http://nciku.com/search/all/'+Qr);})(); 

これはあなたの選択した単語やあなたが入力する単語の検索結果を新しいタブを開きますプロンプトで。バックグラウンドで新しいタブを読み込む方法はありますか?私は、私が見ているページに焦点を当て、後で検索結果を見たいと思います。

「新しいタブでリンクを開くと、すぐにFirefoxに切り替える」というオプションがありますが、これは役に立ちません。

編集:これは私が使用していることに注意してください。これを行うには、Firefox(3.0.11)の設定を変更する方法を教えてください。また、次の変更を試みましたが、まだ新しいタブに注目しています。

javascript:Qr=document.getSelection();if(!Qr){void(Qr=prompt('%E8%AF%8D%E8%AF%AD',''))};if(Qr)(function(){var%20oldWin=this;window.open('http://nciku.com/search/all/'+Qr);oldWin.focus()})(); 

編集2:

が、私は逆の問題を持っているこの男を見答えを見つけることができるかどうかを確認するために周りを見る(新しいタブがフォーカスを得ることはありませんが、彼は彼らがそれを持って望んでいます) 、ないの解像度で:

Possible to set tab focus in IE7 from JavaScript

あり、明らかHTML 5で_tab目標について話すのですが、それは非常に私を助けていません。

のhttp:/ /forums.whatwg.org/viewtopic.php?t=185 &ハイライト=タブ+

を集中(明らかに新規ユーザーとして、私は1つのリンクのみを投稿することができますので、私はそれを切り裂かました)

これは不可能な場合、ブラウザの動作がかなり壊れているようです。

答えて

4

Firefoxのabout:configと入力し、browser.tabs.loadDivertedInBackgroundをtrueに変更します。 これはブラウザのブックマークレットで私にとってはうまくいきました。

ソース:ちょうどウィンドウを開いた後、あなたが警告()何かあれば、同じ問題に直面してhttp://lifehacker.com/263940/force-links-to-open-in-the-background

+1

ありがとう非常に - それは完全に動作します。 –

1

明らかにこれは、以前に開いたウィンドウでのみ可能であり、ルートウィンドウではありません。

は、既存の ウィンドウと同じ ウィンドウ名でのwindow.openを呼び出すと、そのウィンドウ にURLをロードし、バックウインドウ への参照を提供します。ウィンドウにフォーカスがない場合、 オープナープロパティは変更されず、 window.openの3番目の引数は、 が無視されます。フォーカスメソッド を使用すると、ウィンドウのフォーカスを手動で設定できます。

var oldWin = window.open("url.html","oldName"); 
oldWin.focus(); // give focus 
+0

window.focus()を追加しています。最後には何の効果もないようです。私はそれをどう使うべきですか? –

+0

私はいくつかのコードを追加しました。 –

+0

最後のビットを次のように変更します。if(Qr)(function(){var%20oldWin = window.open( 'http://nciku.com/search/all/'+Qr); oldWin.focus()} )();フォアグラウンドで新しいタブが開きます。また、これを追加してみましたが、成功しませんでした。if(Qr)(function(){var%20oldWin = this; window.open( 'http://nciku.com/search/all/'+Qr); oldWin.focus ()})(); –

1

いや、ないプログラムではJavaScriptによる。ユーザーのブラウザ設定を制御することはできません。ユーザーはその設定を制御できます。

さらに、になっても、ブラウザからスクリプトが渡されたコントロールが損なわれるため、コントロールしないでください。ユーザーがバックグラウンドでページを開くことを望む場合、ユーザーは開発者としてページをコントロールできます。

+1

この場合、ユーザー==開発者==私。これを可能にするためにブラウザの設定を行う方法があれば、しかし、私は1つを見つけることができません。 –

0

、私は気づいた、Firefoxは新しく開くタブに切り替えていないだろうと。

関連する問題