使用新的HTML5历史记录功能构建一个没有页面重新加载的网站

时间:2012-11-08 22:30:55

标签: javascript jquery html5 history pushstate

我一直在寻找一种方法来更改浏览器地址位置而不会导致整页重新加载,因此我得到了一些有用的信息,如下所示:

http://spoiledmilk.com/blog/html5-changing-the-browser-url-without-refreshing-page/

并试图进入新的HTML5历史机制,我也得到了这个:

HTML5/jQuery: pushState and popState - deep linking?

因此想到一个完全不同的想法......

我问是否有可能的方式(我不一定意味着“简单”)构建,或者如果已经存在类似“框架”或类似的东西,构建一个能够完全避免页面重新加载....因此大量使用ajax和/或jquery等(我引用这个,因为它是我通常使用的)。

我认为这可以在浏览此类网站时改善“用户体验”。

3 个答案:

答案 0 :(得分:2)

“bbUI工具包旨在根据BB5 / BB6 / BB7 / PlayBook和BlackBerry 10上的Web渲染引擎的功能逐步增强其功能。[...]不添加任何类型的布局逻辑然后,bbUI可以以任何方式修改DOM以获得所需的结果。

当HTML片段未附加到实时DOM时,会发生所有DOM操作。这允许DOM操作非常,非常,快速地发生,并且在将整个片段插入DOM之前不会产生任何WebView布局计算。 JavaScript DOM操作期间的布局计算是可以减慢基于Web的UI的最昂贵的操作之一。

您创建的每个屏幕都是一个HTML片段,可以通过AJAX加载到应用程序中,以保持DOM的大小和内存使用量的最小化。'

https://github.com/blackberry/bbUI.js

答案 1 :(得分:0)

GitHub以这种方式构建。当您在项目中并单击链接(如“bin”)时,它会加载与该链接对应的新内容并更新地址栏URL,但页面本身不会重新加载。

答案 2 :(得分:0)

只需查看http://backbonejs.org/它就可以帮助您解决客户端绑定和浏览器历史记录。