Ответ 1
https://support.google.com/chrome/bin/answer.py?hl=en&answer=157179
говорит
(F6) Или (Shift + F6)
но вам нужно будет переключиться на кучу вещей, прежде чем вы перейдете к основному веб-контенту.
Я использую консоль Chrome javascript (если вы используете Chrome или Chromium, вы можете просто нажать Ctrl + Shift + J сейчас, чтобы открыть его) под текущей открытой вкладкой.
Есть ли что-то, что я могу войти в консоль, чтобы документ на вкладке выше получил фокус, а консоль потеряла фокус?
Я пробовал с помощью
chrome.tabs
но он дает только
undefined
https://support.google.com/chrome/bin/answer.py?hl=en&answer=157179
говорит
(F6) Или (Shift + F6)
но вам нужно будет переключиться на кучу вещей, прежде чем вы перейдете к основному веб-контенту.
Единственный способ получить фокус, не закрывая консоль, - вызвать alert();
, confirm();
или prompt();
.
Или, закрыв консоль (window.open("javascript:close()","_self");
), основная вкладка может получить фокус.
Согласно API командной строки Firebug * wikipage, нет способа; он будет выводить только данные о входах.,
*, что использует Javascript Console
Я бы не назвал это элегантным решением никоим образом, но, как взломать, он выполнит эту работу.
Ваш вопрос: "Как сосредоточиться на основном документе с консоли Chrome"; с этим я бросаю в средний элемент - всплывающее окно. Идея состоит в том, что если вы можете создать всплывающее окно, которое автоматически закрывается (из Консоли), когда оно закрывается, фокус возвращается к родительскому окну. В этом случае это фактический документ, на котором вы были, а не Консоль в Chrome.
Здесь полный код:
var openScript = document.createElement('script');
openScript.innerHTML = 'openWindow = window.open(""); openWindow.document.write(\'<script>window.close();</script>\');';
document.body.appendChild(openScript);
Этот код может быть свернут в однострочный, который можно скопировать + вставить в консоль, и после того, как вы нажмете Enter, он будет всплывать, закрываться и возвращать фокус обратно в исходный документ. Независимо от того, какой элемент на странице имел фокус, прежде чем вы фокусировались на консоли, или какой-либо элемент, который вы изменили, фокусируется на консоли (через document.getElementById('something').focus()
или аналогичный), будет фокусироваться на странице.
Предостережение к этому подходу заключается в том, что веб-сайт, на котором вы его используете, должен иметь всплывающие окна. В качестве альтернативы и не рекомендуется, вы можете просто включить все всплывающие окна в 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 в качестве закладки, так как количество фрагментов кода ( "букмарклеты" ) запущено.