标签: browser-history

使用jQuery删除浏览器历史记录

我有一个基于jQuery的ajax应用程序.我使用jQuery历史插件启用了浏览器历史记录.但我们发现该应用程序产生了太多的历史.

特别是,我们提供了一个页内"ajax-back"按钮,使页面能够返回到先前的ajax状态.当按下页面内的"ajax-back"按钮时,我们希望它像broswer后退按钮一样,通过移动历史记录的当前索引,或删除最新的历史记录,插入新的历史记录的instand.

所以,我想问一下,是否可以从javascript中删除最新的浏览器记录?或者是否可以修改浏览器历史列表的当前索引?

将非常感谢基于jQuery历史插件的示例.

javascript browser jquery browser-history

6
推荐指数
1
解决办法
2万
查看次数

停止存储访问历史的浏览器

我目前正在为女性避难所开发一个网站.由于这是使用该网站的人非常敏感的信息,我想阻止浏览器存储他们访问的任何历史记录.是否可以使用HTML5 History API之类的东西?理想情况下它也适用于IE6 +,因为有很多人使用旧版本的IE.

我知道浏览器有私人浏览模式,但大多数人不了解它们,所以一些自动方式最好.

一个潜在的(虽然不太优选)解决方案是提示人们使用私人浏览模式,如果他们当前没有这样做.是否可以通过JavaScript检测到这一点?

编辑:我已经接受了Virgil的答案,因为他们可能需要将他们学到的东西应用到其他网站,因此他们可能需要将其学习.我也在隐藏我的访问按钮location.replace上使用了Joseph's ,因此它禁用了后退按钮.

需要注意的一件有趣的事情是,我尝试history.replace在网站上的所有链接上使用,认为这将取代所有浏览器历史记录,这意味着只记住查看过的最后一页.然而,在Firefox中打开历史记录面板 - 未在其他浏览器中测试 - 仍然显示每个页面的日志,它们只是通过后退按钮无法访问.

因此,对于任何有类似查询的人,我想重申,教育用户是保护用户的第一步.谢谢大家的建议.

问候

里克

html javascript browser-history

6
推荐指数
1
解决办法
4010
查看次数

Chrome历史记录API问题

我的网站问题是Chrome.

大多数网站使用ajax/xmlhttprequest进行页面加载,使用历史API来启用后退按钮.只有页面内容随请求而变化,菜单等永远不会重新加载.这只是重新重新启动上一页的ajax请求.这一切都正常,直到有人在查看博客后单击后退按钮.博客没有加载ajax,它只是一个标准链接.

在Firefox中,如果我访问博客,请按回网站正确加载.加载导航的主页面是要在其中查看的页面.

在Chrome中,如果我按下博客中的后退按钮,则不会加载"外部"页面,只会显示ajax请求的内容.您可能需要查看它才能完全理解.

这是Chrome或我工作中的错误吗?似乎我无法返回到使用xmlhttprequest部分加载的页面,因为只加载了请求的项目.

该网站在这里:http://www.basmooarc.com

谢谢

里克

javascript google-chrome xmlhttprequest browser-history

6
推荐指数
1
解决办法
1547
查看次数

Backbone JS Routing无法按预期工作

我想我缺少一些关于Backbone路由功能的基础知识.

我正在构建一个应用程序,它看起来像这样:

file: app.js

App = {}
App.nav = new Backbone.Router;
require('app/controller');
Run Code Online (Sandbox Code Playgroud)

file: controller.js

App.nav.route('home', 'home', function () {
    console.log("Home Activated");
});

App.navigate('home');
Run Code Online (Sandbox Code Playgroud)

此时浏览器将地址栏中的URL更改为/home但没有任何反应,我没有收到Home Activated控制台消息.

我已经尝试使用自己的路由类(即Backbone.Router.extend({})),但我真的没有看到它的一点,因为我仍然需要初始化它,我想在我的应用程序中使用所有模块/控制器添加的中央历史/导航路由到它而不是为每个控制器创建一个路由器.

我究竟做错了什么?

javascript browser-history backbone.js

6
推荐指数
2
解决办法
1万
查看次数

Android 4.0中的pushState

当我使用JSConsole并输入window.history时,它不包含任何pushState方法.那发生了什么?它是在Android 4.0中在默认浏览器中删除的,还是我如何使用它?

javascript android browser-history

6
推荐指数
1
解决办法
4212
查看次数

如何在Dart中有效处理浏览器历史记录(即后退按钮)?

是否有任何设施可以帮助处理Dart标准库中的状态和后退按钮?或者我是否需要模拟Javascript解决方案来实现Web应用程序状态的导航?

我打算将其应用于个人项目,因此浏览器兼容性不是问题(即仅HTML5解决方案就可以了).

非常感谢.

browser html5 browser-history dart

6
推荐指数
1
解决办法
2187
查看次数

jQuery地址:验证用户是按前进按钮而不是后退按钮

编辑3:这个jsFiddle适用于插件,我几乎拥有它.

编辑2:我做了一个小提琴.我无法让插件在那里工作,但也许它更容易分析.


在我正在构建的网页中,通过Ajax加载文章(帖子)和新页面.在加载新的Ajax内容的同时,地址栏会发生变化(使用jQuery Address插件).

所以正常的导航会像这样:

       //page2/page3/article7/page3/page4

请注意,在此导航中,没有按下任何浏览器按钮,退出文章7时,网站返回到其先前的URL,在这种情况下是page3.

当用户按下后退或前进按钮时,插件不会检测到.我设法找出了一种方法来了解用户何时按下后退或前进按钮:

每次添加新内容并更改地址时,我都会将新地址存储在一个数组中.如果用户按下后退或前进按钮,我会这样分析:

if(new_url == penultimate_value_in_array)=>按下后退按钮(从数组中删除最后一个值)
else =>按下前进按钮(向数组添加新值)

这适用于这种导航:

       //page2/page3/page4

在我的情况下,它适用于后退按钮.但是,如果用户从/ article7按下Forward到/ page3,该函数会将其读作Back.这是一个了解我的意思的例子:


用户在/ page4并按Back - > new_page =/page3等于penultimate_page_in_array(/ page3)=> BACK

       //page2/page3/article7/page3/page4

用户在/ page3并按Back - > new_page =/article7等于penultimate_page_in_array(/ article7)=> BACK

       //page2/page3/article7/page3

user在/ article7中并按Back - > new_page =/page3等于penultimate_page_in_array(/ page3)=> BACK

       //page2/page3/article7

用户在/ page3中按Back - > new_page =/page2等于penultimate_page_in_array(/ page2)=>返回

       //page2/page3

user在/ page2中并按下Forward - > new_page =/page3,它不等于penultimate_page_in_array(/)=> FORWARD

       / /第2页

user在/ page3中并按下Forward - > new_page …

ajax jquery browser-history jquery-address

6
推荐指数
1
解决办法
403
查看次数

如何使用Chrome扩展程序中的历史记录API获取浏览历史记录

如何使用chrome.history API获取最近访问过的标签的网址,特别是访问过的最后10个网址?

javascript google-chrome browser-history google-chrome-extension

6
推荐指数
2
解决办法
1万
查看次数

在过去几分钟内从Android浏览器捕获浏览历史记录

我想在过去的几(5或10)分钟内捕获Android手机中所有浏览器的浏览历史记录.我正在使用的代码是

Calendar ci = Calendar.getInstance();
String enddate = "" + ci.get(Calendar.YEAR) + "-"
        + (ci.get(Calendar.MONTH) + 1) + "-"
        + ci.get(Calendar.DAY_OF_MONTH) + " " + ci.get(Calendar.HOUR)
        + ":" + ci.get(Calendar.MINUTE) + ":" + ci.get(Calendar.SECOND);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
ci = Calendar.getInstance();
ci.add(Calendar.MINUTE, -5);
String startdate = "" + ci.get(Calendar.YEAR) + "-"
        + (ci.get(Calendar.MONTH) + 1) + "-"
        + ci.get(Calendar.DAY_OF_MONTH) + " " + ci.get(Calendar.HOUR)
        + ":" + ci.get(Calendar.MINUTE) + ":" + ci.get(Calendar.SECOND);
long startdates = 0;
long enddates …
Run Code Online (Sandbox Code Playgroud)

android browser-history

6
推荐指数
1
解决办法
642
查看次数

在涉及History API时,Google如何处理内容索引?

我说我有一个像这样的页面的部分(粗略的HTML给出一个想法):

www.mydomain.com/contact-us

<div class="regional-offices">

<div class="south-west">
  <a href="#south-west">South West</a>
  <div class="south-west-content">South west office address</div>
</div>

<div class="north-east">
  <a href="#north-east">North East</a>
  <div class="north-east-content">North east office address</div>
</div>
...
...
Run Code Online (Sandbox Code Playgroud)

目前,这些是一组手风琴,展开以显示链接点击时的内容.我想要做的是将它们视为单独的URL,以便它们可以被Google单独编入索引,当然它们只是一个页面的一部分.

我一直在研究历史API,并且可以看到我如何为每个部分创建唯一的URL这样做,但我的理解落在了谷歌或其他搜索引擎将如何处理这些链接,如果所需的信息已经是页面,而不是存储在自己的单独URL.

例如,第一步是将<a>标记更改为:

<a href="/contact-us/north-east">North East</a>
Run Code Online (Sandbox Code Playgroud)

然后我们可以使用JS preventDefault()直接转到URL,而是为用户提供扩展的手风琴,使用History API将页面向下滚动到手风琴和唯一的URL.如果我们直接访问URL或点击任何链接,这一切都很好.

但问题是,据我所知,Google抓取工具会尝试关注该链接并面对404,因为没有Javascript阻止访问URL中的资源.而且我也不希望有.

或者我需要一个独特的位置来保存手风琴的内容,这是可转位的,并且当折叠的手风琴与之交互时也会用AJAX拉入?

如果我没有说清楚,请道歉.

seo browser-history history.js html5-history

6
推荐指数
1
解决办法
155
查看次数