标签: browser-history

HTML缓存历史记录

如果我history.back()用于按钮按钮那么会发生什么?

是否会从浏览器的本地历史记录或缓存中显示HTML内容,而浏览器是否没有请求服务器?或者浏览器会根据驻留在浏览器历史记录中的URL向服务器请求吗?

html caching back browser-history

5
推荐指数
2
解决办法
4085
查看次数

延迟后返回上一页

我想在使用jQuery延迟2秒之后转到上一页.我想也许我可以这样做,但我认为在错误的背景下使用它.代码没有做任何有价值的事情.

function goBack() {
    $(this).delay(3000, function(){
      history.back();}
    return false;
    }
Run Code Online (Sandbox Code Playgroud)

jquery timeout browser-history

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

如何使用history.js捕获状态更改事件ONCE?

我在下面有一个示例代码,如果单击链接,然后使用后退和前进,每个状态更改将导致'statechange'事件上的命中越来越多.而不是我期望的那个.

链接:

码:

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>History start</title>
</head>
<body>
    <h1>Headline</h1>
    <hr>
    <div id="menu">
        <ul>
            <li>
                <a href="page-1">Page 1</a>
                <div style="display:none;">
                    <h2>Page 1</h2>
                    <p>Content 1</p>
                </div>
            </li>
            <li>
                <a href="page-2">Page 2</a>
                <div style="display:none;">
                    <h2>Page 2</h2>
                    <p>Content 2</p>
                </div>
            </li>
        </ul>
    </div>
    <hr>
    <div id="content">
        <h2>Start page</h2>
        <p>Paragraf</p>
    </div>
    <script src="external/jquery-1.6.2.min.js"></script>
    <script>if ( typeof window.JSON === 'undefined' ) { console.log("Loaded json2"); document.write('<script src="external/json2.js"><\/script>'); }</script>
    <script src="external/history.adapter.jquery.js"></script>
    <script src="external/history.js"></script>
    <script>
    $(document).ready(function() {
        History.enabled = …
Run Code Online (Sandbox Code Playgroud)

javascript ajax javascript-events browser-history history.js

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

Javascript/jQuery仅在浏览器后退/前进按钮单击时检测哈希更改

是否可以仅在浏览器历史记录更改(即后退或前进按钮)上检测哈希更改?

我已经看到了onBeforeUnload事件,但是这个事件不会触发哈希更改,因为窗口没有卸载.

当哈希值发生变化时,hashchange事件显然会触发.任何修复?优选地,没有插件.我见过jQuery历史插件,但我正在寻找最简单的解决方案.

谢谢您的帮助.

javascript jquery back browser-history hashchange

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

谷歌铬历史sqlite

该数据来自Chrome Google历史记录文件.

我想知道表中列的含义.所以我发现历史上有一个叫做访问的表是:

CREATE TABLE visits(id INTEGER PRIMARY KEY,url INTEGER NOT NULL,visit_time INTEGER NOT NULL,from_visit INTEGER,transition INTEGER DEFAULhT 0 NOT NULL,segment_id INTEGER,is_indexed BOOLEAN)
Run Code Online (Sandbox Code Playgroud)

该表的结果是:

1|10|12979306250150765|0|268435457|1|0

17|14|12979306291009421|0|838860801|2|0

18|14|12979306291724492|0|805306368|0|0

19|14|12979306296042195|0|838860808|0|0

20|14|12979306296322297|0|805306368|0|0

21|14|12979306298922534|0|838860808|0|0

22|14|12979306299261896|0|805306368|0|0

23|15|12979306305614105|0|805306368|0|0

24|15|12979306310110294|0|805306368|0|1

25|16|12979306316672464|0|805306368|0|1
Run Code Online (Sandbox Code Playgroud)

所以,另一个名为urls的表,在这个历史sqlite中也是:

CREATE TABLE "urls"(id INTEGER PRIMARY KEY,url LONGVARCHAR,title LONGVARCHAR,visit_count INTEGER DEFAULT 0 NOT NULL,typed_count INTEGER DEFAULT 0 NOT NULL,last_visit_time INTEGER NOT NULL,hidden INTEGER DEFAULT 0 NOT NULL,favicon_id INTEGER DEFAULT 0 NOT NULL)
Run Code Online (Sandbox Code Playgroud)

该表的结果是:

1|http://cateee.net/xxxx|Linuxxxx|0|0|0|0|0
2|http://kernel.org/|Index of xxxxxxxxx|0|0|0|0|0
3|http://repo.orxxxxxxxxxxxxx|xxx|0|0|0|0|0
4|http://stackoverflow.com/xxxx|xxxxxx|7|0|12979644275181782|0|0
5|http://stackoverflow.com/questions/xxxxxxx|linuxxxxxxxxxxxxxxxx|0|0|0|0|0
6|http://www.db-class.org/xxxxxxxxxxxxxxxx|xxxxxxx|6|0|12979306496245203|0|0
7|http://www.xxxxxxxxxxxxxxxxxxx|xxxxxxxxxxxxxxxxxx|0|0|0|0|0
8|http://www.xxxxxxxxxxxxxxxx|xxxxxxxxxxxxxxxxxxx|0|0|0|0|0
10|http://www.google.com/|PYTHON - Googlexxxxxxxxx|1|1|12979306250150765|0|0 …
Run Code Online (Sandbox Code Playgroud)

sqlite google-chrome browser-history

5
推荐指数
1
解决办法
9256
查看次数

浏览器后退和前进按钮不会使用history.js的statechange事件调用回调方法

我使用(https://github.com/browserstate/history.js)并有一段这样的代码

History.Adapter.bind(window, 'statechange', function() { 
    var State = History.getState();
    alert('Inside History.Adapter.bind: ' + State.data.myData);
});

function manageHistory(url, data, uniqueId){
    var History = window.History;
    if ( !History.enabled ) { return false; }        
    History.replaceState({myData: data}, null, '?stateHistory=' + uniqueId);
}
Run Code Online (Sandbox Code Playgroud)

如果我在调用manageHistory()ajax之后调用,则会History.Adapter.bind正确调用回调方法.但是,如果我单击浏览器然后单击前进按钮导致页面导航从B到A,然后A返回到B,History.Adapter.bind则不会调用内部的回调方法.这种情况发生在chrome和IE9上.任何人都知道如何解决这个问题,我需要先State点击浏览器然后转发,以更新我的DOM.请帮忙

注意:我使用版本1.7.1 jquery.history.js用于html4浏览器IE9

更新(2013年5月3日):更多地谈谈我的要求

对不起,我正忙着处理其他任务,直到现在我才有时间看这个问题.因此oncomplete,在ajax调用中,我将这些信息返回给我,并将其推送到状态.我的要求是:如果我从页面A导航到页面B,然后在页面B,我执行导致DOM操作的ajax请求的数量(让我们调用导致DOM操作的每个ajax请求state).如果我单击后退按钮,我应该返回到页面A,如果我单击前进按钮,我应该转到页面B,其中包含我所处的最后状态.

所以我的想法是,oncomplete在我的ajax请求中,我将用我当前的状态替换历史中的最后一个状态(我的json对象是我从ajax请求收到的html).如果我使用推送状态,请说我在页面B上,然后单击一个按钮,我的页面现在更改为aaa,我pushState aaa.然后如果我点击其他按钮,我的页面现在改为bbb,我pushState bbb.如果我现在单击后退按钮,我仍然会在页面B,我的状态History.Adapter.bind(window, 'statechange', function() {})显示为aaa,如果我再次单击后退按钮,我会转到页面A.我不想要这种行为.我希望如果我在页面B上有状态bbb,然后单击返回,我会转到第A页,如果我单击向前,我会转到页面B的状态 …

javascript jquery browser-history history.js pushstate

5
推荐指数
2
解决办法
6264
查看次数

javascript浏览器历史列表

我熟悉window.history.back()window.history.forward()javascript对象.但是有没有一种创建一个数组的方法,其中查看了最后的"X"数页.

javascript browser-history

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

IE11 JavaScript重定向历史记录问题

IE11中是否可以通过JavaScript从重定向pageApageB,并pageA保留在历史记录中?

如果我有这样的pageA代码:

this.location = "pageB.htm";
Run Code Online (Sandbox Code Playgroud)

在任何IE 8/9/10中,它都会重定向到pageB.htm,并pageA.htm保留在历史记录中。

我可以使用“后退”按钮,history.go(-1)等返回它。

但是,在IE11 pageA.htm中不会保留历史记录。

我已经试过,我知道的所有方式:window.locationwindow.location.hrefdocument.location,等...等...

他们都没有将重定向页面保留在历史记录中。

感谢您的任何建议。

javascript redirect browser-history internet-explorer-11

5
推荐指数
1
解决办法
1419
查看次数

在何处查找以前访问过的网页的缓存文件 - Google Chrome

我正在尝试使用Google Chrome浏览器从访问过的网页中检索HTML文件.它本来应该在硬盘上,所以它可以可视化,但我不知道从哪里开始.

问题是我需要找到一些访问的网页,这些网页不在相同的URL上,或者在查看之后被更改.因此Chrome历史记录中的记录根本没有帮助.

html google-chrome browser-cache browser-history

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

如何在Windows PopState上当前(而非先前)状态

我正在抓取popstate,并且需要根据历史记录堆栈中的current和originalEvent做各种事情。但是,我不知道如何获取当前状态进行比较,但是originalEvent可以工作。这是我的JS代码。第一条IF语句引发未定义e.state.id的异常...

$(window).on("popstate", function(e) {
        //check and compare current state
        if (e.state.id == 'something') {  // throws an exception
            *do something*
        } else if (e.originalEvent.state !== null) { //previous state exists?
            *do something*
        } else { //no previous state
            *do something*
        }
    });
Run Code Online (Sandbox Code Playgroud)

仅供参考,推送状态设置为:

history.pushState({id: 'view'}, '', '/view');
Run Code Online (Sandbox Code Playgroud)

javascript browser-history html5-history

5
推荐指数
1
解决办法
1302
查看次数