Gre*_*lli 7 javascript google-chrome focus google-chrome-extension omnibox
我正在制作Chrome扩展程序,其中包括在新标签页上放置文本输入,并在加载新标签页时立即将焦点放在该输入文本上.在使用传统方法无法获得焦点后(例如focus()),我偶然发现了这个问题:
Chrome 27:新标签页扩展程序无法从Omnibox中窃取焦点
这表明Chrome现在已经做到了这一点,因此您无法将多功能框关注于新的标签页.鉴于Chrome可以将焦点放在任何不是新标签页的网站上,我一直试图提出解决方法,但没有什么是真正令人满意的.
我试过了:
让新标签页立即重定向到本地存储的HTML文件,但这仍然没有给予焦点,因为页面在重定向时从未有过焦点.
在内容脚本中覆盖ctrl + t和cmd + t,以打开包含本地存储的HTML文件内容的新选项卡.这工作正常,除了它似乎无法覆盖cmd + t,因此Mac用户将被迫使用ctrl + t.此外,一些网站(例如OneNote在线编辑器)接管ctrl + t,因此它不适用于每个页面.
远程托管页面并将新标签页重定向到它(太慢).
在打开新标签时,建议用户按两次选项卡以关注输入文本:)
有没有人对你如何解决这个限制有任何其他建议?这对我的扩展非常重要.
谢谢!
Chr*_*and 12
您好我的问题链接了!
在新标签页上,包含以下JavaScript:
chrome.tabs.create({ url: chrome.extension.getURL("foo.html") });
window.close();
Run Code Online (Sandbox Code Playgroud)
这将创建一个"普通"选项卡,然后关闭"新建标签页".然后,您可以focus()在普通选项卡上输入框.
这就是我为Fauxbar扩展所做的.单击Chrome的"新标签"按钮会增加一点延迟(就输入框聚焦所需的时间而言),但我认为它比按Tab键更好.
您还可以实现chrome.commands来创建键盘快捷键,用户可以在chrome:// extensions>键盘快捷键下自行修改.
| 归档时间: |
|
| 查看次数: |
2440 次 |
| 最近记录: |