Как программно выбрать текст URL-адреса после загрузки новой вкладки?
Это код для redirect.js
/*global chrome,document,window */
(function init() {
"use strict";
chrome.storage.local.get(["url","tab.selected"], function (items) {
var url = items.url;
if(url) {
var selected = items["tab.selected"] === undefined ? true : (items["tab.selected"] == "true");
chrome.tabs.update({
"url": url,
"selected": selected
});
} else {
angular.resumeBootstrap();
}
});
}());
В скором времени, когда загружается страница в "url", я хочу, чтобы она автоматически выделяла текст URL/omnibox, чтобы пользователь мог начать вводить текст, не нажимая Ctrl + A.
спасибо
EDIT: основное внимание уделяется омнибокс, но уже представленный текст не выделяется. Я хочу, чтобы он был выделен.
Я смог решить это с помощью Обходного пути.
Используя Autohotkey, я закодировал простой скрипт, который:
Просто. Элегантный: P
Вот код, измените его по своему усмотрению (вам понадобится Autohotkey_L для выполнения кода. В качестве альтернативы вы можете превратить его в.exe для совместимости. См. Документацию по ссылке выше.
#Persistent
#SingleInstance, Force
#NoTrayIcon
SetBatchLines, -1
SetTitleMatchMode, 2
SetWinDelay, -1
/** Enter the name of the Chrome new tab page here, for me it is "Apps - Google Chrome" */
ChromeTab := "Apps - Google Chrome"
Gui +LastFound
hWnd := WinExist()
DllCall( "RegisterShellHookWindow", UInt,hWnd )
MsgNum := DllCall( "RegisterWindowMessage", Str,"SHELLHOOK" )
OnMessage( MsgNum, "ShellMessage" )
Return
ShellMessage( wParam,lParam ) {
Global Last
if (wParam = 16 && Last = 6) {
WinGetActiveTitle, T
if (T = ChromeTab) {
SendInput, {Control Down}l{Control Up}
}
}
Last := wParam
}
Возможно, вам будет добавлено нажатие клавиши, например F6, чтобы выделить его для вас.
Для нажатия введите это, не уверен, требуется ли VK_, но изменилось ENTER на F6.
Robot r = new Robot(); r.keyPress(KeyEvent.VK_ENTER); r.keyRelease(KeyEvent.VK_ENTER);