突出显示新标签页上的网址/多功能框文字(Chrome)

时间:2014-04-15 14:15:15

标签: javascript jquery google-chrome google-chrome-extension omnibox

如果加载新标签后,如何以编程方式选择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即可开始输入。

谢谢

编辑:重点放在多功能框上,但不会突出显示已存在的文字。我希望它能突出显示。

2 个答案:

答案 0 :(得分:0)

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

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

  1. 监控新窗口。
  2. 当检测到新窗口时,它会检查窗口的名称以查看它是否为“chrome:// ...”(我添加了'...',因为使用用户可以选择要显示的内容新标签页。我有chrome:// apps /作为我的新标签页。
  3. 一旦发现新窗口是chrome:// ...,它会发送Ctrl + A按键,选择多功能框中的整个文本。
  4. 简单。优雅: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
    }
    

答案 1 :(得分:-1)

可以添加一个按键,例如F6,以便为您突出显示它。

如果按下输入,则无法确定是否需要VK_但是将ENTER更改为F6可能有效。

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