0

我昨天碰巧发现在谷歌中输入搜索文本时,我的搜索历史突然停止显示。我使用https://www.google.com/webhp?complete=0网址来防止出现自动建议。这曾经很好用,但现在谷歌已经做了一些事情来阻止它工作。

我使用 Firefox 并安装了 Greasemonkey。我对学习在 Greasemonkey 中编写脚本很感兴趣,这似乎是开始学习的好时机。有没有人有任何将 Google 上的搜索输入表单更改为不同样式以便查看搜索历史的示例?我四处搜索并找到了文本框修改的示例,但它们不适用于 Google 使用的特定输入框样式。

TIA,
布赖恩

4

2 回答 2

1
// ==UserScript==
// @name            re enable autocomplete
// @namespace       http://gcomplete.user.js
// @description     
// @include         htt*://*.google.com/webhp?complete=0
// ==/UserScript==
////////////////////////////////////////////////

    function doIt(){
        document.getElementById("lst-ib").autocomplete = "on";
        window.setTimeout(doIt, 5000);  // wait 5 sec and reapply changes, looped.
    }
    window.setTimeout(doIt, 500);       // wait half a second and apply changes.

这可能不是您需要的确切代码,但应该非常接近。
我选择循环是因为我很懒,而且文本框似乎至少被破坏并重新创建了一次。
“lst-ib”是您想要的文本框的 id,它具有属性“自动完成”,谷歌有助于将其设置为“关闭”

于 2012-04-08T12:11:17.047 回答
1

我试过RozzA 提供的代码,只要你点出文本区域,然后再点回文本区域,它就可以工作。我对其进行了以下修改,他们似乎已经解决了这个问题:

function doIt() {
    document.getElementById("lst-ib").autocomplete = "on";
    document.getElementById("lst-ib").blur(); // disable focus
    document.getElementById("lst-ib").focus(); // re-enable focus

    // looping does not seem to be necessary.
    // window.setTimeout(doIt, 5000);
}


window.setTimeout(doIt, 500);       // wait half a second and apply changes.
于 2012-08-24T16:44:56.673 回答