标签: browser-state

你可以使用哈希导航而不影响历史吗?

恐怕这可能是不可能的,但有没有办法改变一个URL的哈希值不留在浏览器的历史记录中的条目没有重装?或者做同等的?

至于具体细节,我正在开发一些基本的哈希导航:

//hash nav -- works with js-tabs
var getHash = window.location.hash;
var hashPref = "tab-";
function useHash(newHash) {
    //set js-tab according to hash
    newHash = newHash.replace('#'+hashPref, '');
    $("#tabs li a[href='"+ newHash +"']").click();
}
function setHash(newHash) {
    //set hash according to js-tab
    window.location.hash = hashPref + newHash;

    //THIS IS WHERE I would like to REPLACE the location.hash
    //without a history entry

}
    // ... a lot of irrelavent tabs js and then....

    //make tabs …
Run Code Online (Sandbox Code Playgroud)

javascript jquery browser-history fragment-identifier browser-state

96
推荐指数
3
解决办法
4万
查看次数

jQuery - hashchange事件

我在用:

$(window).bind( 'hashchange', function(e) { });
Run Code Online (Sandbox Code Playgroud)

将函数绑定到散列更改事件.这似乎适用于IE8,Firefox和Chrome,但不适用于Safari,我认为不是早期版本的IE.对于这些浏览器,我想禁用使用哈希和hashchange事件的JavaScript代码.

如果浏览器支持该hashchange事件,我可以检测到jQuery的方法吗?也许是jQuery.support......

javascript jquery hashchange browser-state

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

如何使用AJAX"书签"页面或内容?

如何使用AJAX"书签"页面或内容?

如果我们只是将细节添加到"锚点",然后使用路由甚至在PHP代码或Ruby on Rails的route.rb中捕获该部分,然后显示内容或页面,看起来很容易因此?(显示整页或部分内容)

那么它可以很简单吗?看起来这就是facebook的做法.有什么其他好办法吗?

ajax bookmarks fragment-identifier hashchange browser-state

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

通过JavaScript或jQuery停止在hashchange事件上加载图像

我正在使用jQuery BBQ:后退按钮和查询库插件来创建一个页面,该页面在单击链接时会提取动态内容.单击链接时,将更改哈希并引入新内容(因此禁用单击href的"默认"操作.)

那部分工作正常,但有一个问题.

我的问题的例子


假设"主页"页面中有一些DIV,其中有一些链接列表......

  • 第一页
  • 第二页
  • 第三页

图像可能需要一段时间才能加载,同时用户通常不会等待它们完全加载并单击"Page One"链接.

这将清除"主页"页面的内容并加载到"页面一"内容中.这很好.

问题是即使用户已经从"主页"页面移动,来自"主页"页面的图像仍然在浏览器中加载.

我知道这是发生的,因为页面实际上没有改变,我正在使用BBQ插件的hashchange hack但是我想知道是否有一种方法可以告诉JavaScript当前加载的所有图像停止hashchange事件上?

?? 示例代码就像......


$(window).bind('hashchange', function () {

    //code to stop images from loading

    // now load in new HTML content

});
Run Code Online (Sandbox Code Playgroud)

javascript jquery fragment-identifier hashchange browser-state

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

获得ajax历史

是否有可能从浏览器获取所有过去的ajax调用的历史记录?

如果没有,是否有任何ffx插件或类似的将以与普通浏览器历史记录类似的方式存储您的所有ajax请求?

javascript ajax browser-history browser-state

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

在浏览器中返回/转发是否会更改javascript变量?

<script type="text/javascript>
var x = 0; //this occurs in the beginning of the page.

$("#button").onclick{
x = 1;
}

</script>
Run Code Online (Sandbox Code Playgroud)

假设变量"x"变为1.然后用户单击链接.当用户点击"返回"时,x是0还是1?

javascript jquery browser-history browser-state

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

使用Ajax History和Bookmark时,使用"#!"总是好的 而不只是"#"?

Facebook正在使用Ajax历史记录(后退和前进按钮)和书签#!而不是仅使用#URL.这样做总是一个好主意,因为我认为通常的锚可能会干扰Ajax历史机制以触发它处理普通锚.

因此,Ajax History函数仅在它看到#!而不是仅仅处理散列部分时才会处理散列部分#.

并使用!与主流浏览器兼容?如果Facebook正在使用!,猜测它可能得到相当好的支持.

ajax fragment-identifier hashchange browser-state hashbang

4
推荐指数
2
解决办法
837
查看次数

JavaScript .hashchange性能.它会带来任何减速吗?

jQuery hashchange事件

对我来说,它现在看起来是最成熟的解决方案(如果我错了,请纠正我).我非常喜欢这个用浏览器哈希操纵的插件.在某些情况下,它简化了js代码.

我真的想开始广泛使用它,但我有一个问题要问你.

因此,它使用循环并检查散列锚是否每50毫秒更改一次.

性能怎么样?我可以过度使用hashchange吗?它会导致性能显着下降吗?如果是这样的话?

javascript jquery hashchange browser-state

4
推荐指数
1
解决办法
1208
查看次数