現在開いているタブの下にあるChrome の JavaScript コンソールを使用しています (Chrome または Chromium を使用している場合は、Ctrl+ Shift+を押すだけで開くことができます)。J
上のタブのドキュメントがフォーカスされ、コンソールがフォーカスを失うように、コンソールに入力できるものはありますか?
で試しました
chrome.tabs
しかし、それは与えるだけです
undefined
現在開いているタブの下にあるChrome の JavaScript コンソールを使用しています (Chrome または Chromium を使用している場合は、Ctrl+ Shift+を押すだけで開くことができます)。J
上のタブのドキュメントがフォーカスされ、コンソールがフォーカスを失うように、コンソールに入力できるものはありますか?
で試しました
chrome.tabs
しかし、それは与えるだけです
undefined
https://support.google.com/chrome/bin/answer.py?hl=ja&answer=157179
言う
( F6) または ( Shift+ F6)
ただし、メインの Web コンテンツに到達する前に、さまざまなことを切り替える必要があります。
alert();
コンソールを閉じずにフォーカスを取得する唯一の方法は、 、confirm();
またはのいずれかを呼び出すことprompt();
です。
または、コンソールを閉じる ( window.open("javascript:close()","_self");
) ことで、メイン タブにフォーカスを移すことができます。
FirebugのコマンドラインAPI*wikiページによると、方法はありません。、ahem、入力に関するデータのみを出力します。
*これはJavascriptコンソールが使用するものです
私はこれを決してエレガントなソリューションとは呼びませんが、ハックとしてはそれでうまくいきます。
あなたの質問は「Chromeコンソールからメインドキュメントに焦点を合わせる方法」です。それで、私は真ん中の要素、つまりポップアップウィンドウを投げています。アイデアは、(コンソールから)自動的に閉じるポップアップウィンドウを作成できる場合、それを閉じるとフォーカスが親ウィンドウに戻るというものです。この場合、これは実際に使用していたドキュメントであり、Chromeのコンソールではありません。
レイアウトされた完全なコードは次のとおりです。
var openScript = document.createElement('script');
openScript.innerHTML = 'openWindow = window.open(""); openWindow.document.write(\'<script>window.close();</script>\');';
document.body.appendChild(openScript);
このコードは、コンソールにコピーして貼り付けることができる1つのライナーに折りたたむことができ、Enter押すとポップアップして閉じ、元のドキュメントにフォーカスが戻ります。コンソールにフォーカスを与える前にページ上の要素にフォーカスがあったもの、またはコンソールでフォーカスを変更した要素(document.getElementById('something').focus()
または同様のものを介して)は、ページにフォーカスを取得します。
このアプローチの注意点は、これを使用するWebサイトでポップアップを有効にする必要があることです。または、実際にはお勧めしませんが、Chromeで「すべてのポップアップを有効にする」こともできます。
追加の追加として、これを同じページで(更新せずに)複数回使用する場合は、ページに追加されたJavaScriptを関数呼び出しでラップし、毎回その関数を呼び出すことができます。例えば:
...
openScript.innerHTML = 'function refocus() { openWindow = window.open(""); openWindow.document.write(\'<script>window.close();</script>\'); }';
...
次にrefocus();
、親にフォーカスを戻したいときはいつでも電話してください。もちろん、何らかの理由で現在のページを離れた場合は、コードのブロック全体を再実行する必要があります。
価値のあることですが、これを頻繁に使用している場合は、拡張機能Tampermonkeyを追加して、このコードブロックを関数に保存することもできます。そうすれば、毎回すべてを実行することを心配する必要はありません。保存した関数名を呼び出すだけです。
上からのワンライナー(簡単なコピー+貼り付け用):
var openScript = document.createElement('script'); openScript.innerHTML = 'openWindow = window.open(""); openWindow.document.write(\'<script>window.close();</script>\');'; document.body.appendChild(openScript);
コンソールにコードを貼り付ける代わりに:
var a = function() {my code...}; a()
URL バーから貼り付けて実行できます。
javascript:var a = function() {alert('hi');}; a()
この javascript: url をブックマークとして追加することもできます。これは、実行されるコード スニペット (「ブックマークレット」) の数です。