是否有任何 Firefox 扩展或内置配置可以允许禁用文本字段中的 onload 聚焦?
我不想禁用 javascript。我只是厌倦了某些网站在我不想搜索时自动将焦点放在搜索框中。
令人烦恼的是,如果我正在与工具栏或其他任何内容交互,焦点会立即转到搜索框。然后我需要将鼠标移回工具栏或我正在做的其他事情。
通常我不会认为这是个问题。但一般情况是这样的:打开新标签,点击工具栏,开始输入。页面加载到一半时,我输入的内容有一半出现在搜索框中,而不是工具栏中。每天大约发生 200 次……
答案1
您可以使用 NoScript 插件,这有点像用大锤杀死蚂蚁,或者您可以尝试这个 greamonkey 脚本:
// ==UserScript==
// @name Stop Google Stealing Focus
// @namespace http://googlesystem.blogspot.com
// @include http://www.google.*/
// @include http://www.google.*/ig*
// ==/UserScript==
(function () {
document.body.setAttribute('onload','');
})();
这对我来说很有效——但谁知道它是否还有其他副作用?
答案2
答案3
我不知道具体是什么原因,但是由于greasemonkey脚本在DOM填充后立即运行,但在调用onload事件处理程序之前(如http://greasemonkey.mozdev.org/authoring.html)您可以编写一个脚本来禁用或更改您想要从中删除该行为的站点的 onload 事件。
不过,您必须在每个站点上执行此操作,因为有些站点在 onload 事件期间所做的不仅仅是重新聚焦,而且您可能希望运行其他行为。
对于在页面呈现时直接进行重新聚焦的网站,这也不起作用(通过直接在 <SCRIPT> 块中调用焦点方法,而不是在 onload 事件调用的代码中调用)。
也许值得一试http://userscripts.org/查看您想要改变其行为的网站是否存在现有脚本。
答案4
维美拉有一个选项可以防止焦点被窃取。(选项 > 显示高级选项 > 不让页面在加载时窃取焦点)。
如果您希望摆脱使用 Vimium 的主要副作用(类似 vim 的键绑定 - 尽管它们很有用!),您可以将其放置unmapALL
在“自定义键映射”部分。