Cordova InAppBrowser清除搜索历史记录

时间:2019-02-01 13:03:09

标签: cordova cordova-plugins inappbrowser

我正在创建一个应用程序,您可以在其中打开google来找到答案的解决方案:

function setIn(a, b, c){
    var x = "a"
    b.forEach(function(element, i) {
        x = x + "['" + element + "']"
    });
    x = x + "= c";
    eval(x)
    return a
}

尽管我发送了属性clearsessioncache = yes,clearcache = yes并且我没有登录Google,但是当我进入搜索框时,它仍显示以前的搜索结果。

有人可以解释为什么历史不断在“建议”站点中显示吗?如果有什么方法可以防止这种情况。

1 个答案:

答案 0 :(得分:0)

自己找到答案。希望它可以帮助遇到相同问题的其他人:

Google搜索历史记录存储在localStorage中。因此,在显示InAppBrowser之前清除localStorage即可解决问题:

this.ref = cordova.InAppBrowser.open('https://www.google.nl/', '_blank', 'clearsessioncache=yes,clearcache=yes,closebuttoncaption=Terug,closebuttoncolor=#4286f4,hideurlbar=yes,hidden=yes');
this.ref.addEventListener('loadstop', () => {
    var init = false
    this.ref.addEventListener('loadstop', () => {
        if (!init) {
            // clear localStorage to clear Google search history
            this.ref.executeScript({
                code: `
        (function() { 
            localStorage.clear();
            return true;
         })()` }, _ => {
                    // cache is cleared. Now we can show the browser.
                    this.ref.show();
                    init = true;
                });
        }
    });
});