0

加载新选项卡后,如何以编程方式选择 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/多功能框文本,以便用户无需按 Ctrl+A 即可开始输入。

谢谢

编辑:焦点在多功能框上,但已经存在的文本没有突出显示。我想要它以便突出显示。

4

2 回答 2

0

我能够使用解决方法解决这个问题。

使用Autohotkey,我编写了一个简单的脚本:

  1. 新窗口的监视器。
  2. 当检测到新窗口时,它会检查窗口的名称以查看它是否为“chrome://...”(我添加了“...”,因为使用用户可以选择在新标签页上显示的内容. 我有 chrome://apps/ 作为我的新标签页。
  3. 在发现新窗口是 chrome://... 后,它会发送 Ctrl+A 击键来选择多功能框中的整个文本。

简单的。优雅: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
}
于 2014-08-29T19:06:52.607 回答
-1

可以添加一个诸如 F6 之类的按键来为您突出显示它。

对于按 enter 可以正常工作,不确定是否需要 VK_ 但将 ENTER 更改为 F6 可能会起作用。

Robot r = new Robot(); r.keyPress(KeyEvent.VK_ENTER); r.keyRelease(KeyEvent.VK_ENTER);

于 2014-04-21T21:11:11.107 回答