12

現在開いているタブの下にあるChrome の JavaScript コンソールを使用しています (Chrome または Chromium を使用している場合は、Ctrl+ Shift+を押すだけで開くことができます)。J

上のタブのドキュメントがフォーカスされ、コンソールがフォーカスを失うように、コンソール入力できるものはありますか?

で試しました

chrome.tabs

しかし、それは与えるだけです

undefined
4

5 に答える 5

8

https://support.google.com/chrome/bin/answer.py?hl=ja&answer=157179

言う

( F6) または ( Shift+ F6)

ただし、メインの Web コンテンツに到達する前に、さまざまなことを切り替える必要があります。

于 2012-12-20T16:06:46.493 に答える
6

alert();コンソールを閉じずにフォーカスを取得する唯一の方法は、 、confirm();またはのいずれかを呼び出すことprompt();です。
または、コンソールを閉じる ( window.open("javascript:close()","_self");) ことで、メイン タブにフォーカスを移すことができます。

于 2012-12-29T20:31:39.170 に答える
2

FirebugのコマンドラインAPI*wikiページによると、方法はありません。、ahem、入力に関するデータのみを出力します。

*これはJavascriptコンソールが使用するものです

于 2012-12-29T12:57:19.893 に答える
1

私はこれを決してエレガントなソリューションとは呼びませんが、ハックとしてはそれでうまくいきます。

あなたの質問は「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);
于 2012-12-31T18:41:53.660 に答える
-1

コンソールにコードを貼り付ける代わりに:

var a = function() {my code...}; a()

URL バーから貼り付けて実行できます。

javascript:var a = function() {alert('hi');}; a()

この javascript: url をブックマークとして追加することもできます。これは、実行されるコード スニペット (「ブックマークレット」) の数です。

于 2013-01-05T21:07:25.737 に答える