怎样将 Google Chrome 中的 backspace 返回上一页的功能去除

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样将 Google Chrome 中的 backspace 返回上一页的功能去除相关的知识,希望对你有一定的参考价值。

如题,非常讨厌这个功能。求大神帮忙
这个功能让我损失惨重

参考技术A 各个浏览器中 backspace 都是退后一页的快捷键,想修改的话,firefox 中有 keyconfig 扩展,chrome 中不清楚,chrome 的可定制新较差,估计应该没有此功能;
容易误按可能是因为你用的笔记本键盘,换外置键盘即可。
退后一页的话,再点下返回不就ok了。
参考技术B 这是Chrome默认设置,无法去除

Google Chrome,又称Google浏览器,是一个由Google(谷歌)公司开发的网页浏览器。该浏览器是基于其他开源软件所撰写,包括WebKit,目标是提升稳定性、速度和安全性,并创造出简单且有效率的使用者界面。软件的名称是来自于称作Chrome的网络浏览器图形使用者界面(GUI)。

Google Analytics 会干扰 Android 浏览器中的 history.back() 吗?

【中文标题】Google Analytics 会干扰 Android 浏览器中的 history.back() 吗?【英文标题】:Google Analytics interferes with history.back() in android browser? 【发布时间】:2011-12-27 11:50:07 【问题描述】:

我有一个 html5 移动应用程序,其中所有内容都存在于一个页面上,我使用 history.back/popstate/etc 来更改页面的内容(通过 jQuery Mobile)。我正在使用 Google Analytics 跟踪各种事件,并在一个页面上跟踪用户是否通过特定按钮退出:

$('#my-back-button').bind('tap', function() 
    _gaq.push(['_trackEvent', 'mycategory', 'myaction']);
    history.back();
    return false;
);

在 android 2.2 浏览器中,history.back() 被调用但 onpopstate 没有被触发并且页面没有改变。如果我将 window.onpopstate = function() alert("!"); ; 放在 history.back() 之前,我看不到任何警报。

如果我颠倒这两行(首先是history.back(),然后是_gaq.push),它似乎可以工作,但我不能在我的代码中依赖这种排序。

没有抛出异常。它在 iOS 和桌面 Chrome 中运行良好。

任何想法为什么 history.back() 在谷歌分析调用后不起作用?

【问题讨论】:

我遇到了完全相同的问题。自从本月前第一次发布以来,我认为您没有提出解决方案或解决方法,是吗? 抱歉,我没有找到解决方法。我们最终只是停止使用谷歌分析,并且避免将代码放在 history.back() 附近。 我不记得有同样的问题,但是通过 JavaScript 查看我构建的 HTML5 应用程序(现在是一年半前),我通过一个函数将调用委托给 Google Analytics在需要它的其他函数/调用结束时调用。 使用 window.onhashchange 代替 window.onpopstate 有什么改变吗? @RTB 【参考方案1】:

尝试将调用 _gaq.push() 封装在 0 的异步超时中:

$('#my-back-button').bind('tap', function() 
    setTimeout(function() 
         _gaq.push(['_trackEvent', 'mycategory', 'myaction']);
    , 0);
    history.back();
    return false;
);

这将允许 history.back() 在 Google Analytics 可能影响历史堆栈之前首先执行。

【讨论】:

这对我有用,非常好。 @DurhamG 可以确认这是否也适用于他吗?然后我会给你奖金。【参考方案2】:

嗯,好吧,真的很讨厌:如果您将 _gaq.push() 包装到一个新函数中并将 history.go() 留在原处会发生什么?

【讨论】:

【参考方案3】:

也许对谷歌分析的调用会在历史堆栈中添加一个新条目,而 history.back() 只会将您带到您当前所在的页面。

或者 GA 为历史提供了一个新的范围。

尝试调用 history.back() 两次或使用 top.history.back() 或 window.history.back() 或 self.history.back()

【讨论】:

以上是关于怎样将 Google Chrome 中的 backspace 返回上一页的功能去除的主要内容,如果未能解决你的问题,请参考以下文章

Ubuntu怎样安装Google Chrome

怎样设置google chrome浏览器的代理服务器

google chrome怎样调试获取javascript变量值

怎样设置google chrome浏览器的代理服务器

怎样设置google chrome浏览器的代理服务器

怎样卸载google chrome浏览器