Facebook的内容是否动态加载
Is facebook's content dynamically loaded?
当在Facebook上点击链接时,顶部标题栏根本不会闪烁。我习惯于在通过 ajax 加载内容的页面上看到这种效果,但在 Chrome 上,网址正在发生变化,据我所知,这意味着加载了一个新页面。
在javascript中,我知道没有重定向就无法更改url,但是主题标签可以,所以我发现这非常有趣。我认为这可能是chrome做的事情,它会加载一个网页,然后再将您从前一个网页上移开以创建无缝体验,所以我在Internet Explorer上尝试了一下。在IE上,会产生相同的效果,但这次URL没有改变,只是标签。我也尝试过在FireFox上,它以与chrome相同的方式更改URL。
这是怎么回事?
是的,它加载了 AJAX。并且通过操纵历史记录来更改URL。一个名为 HistoryJS 的漂亮库也使用哈希更改为不支持的浏览器包装了此功能。
不确定Facebook上是否如此,但历史记录API允许您以编程方式更改URL - 只要您遵守同源政策。GitHub 是使用这种技术的一个很好的例子。
在现代浏览器中,可以通过 history.pushState()
函数在不重新加载页面的情况下更新 URL。
例:
history.pushState({}, "", "foo.html");
相关文章:
- 通过单击动态加载的表中同一行的另一个字段来更新一行的字段
- 如何根据对具有多行的先前列表的选择来动态加载下拉列表
- 动态加载和卸载js文件
- 动态加载angularjs并生成控制器和范围
- 有没有比在app.js上绑定模块名称更好的方法来动态加载视图模型和视图以显示模态
- 动态加载fancybox并将其连接
- 对插件初始化后动态加载的元素进行样式设置
- 动态加载的自定义javascript/jQuery/HTML5音频播放器的问题
- UIWebview赢得't通过基本身份验证加载动态加载的资源(通过jQuery mobile)
- 使用jquery垂直对齐动态加载的图像
- 在动态加载的对话框中执行Javascript
- angularjs-bindng-click从jquery动态加载DOM
- 在动态加载的html中使用角度控制器
- 如何使用Javascript在FireFox中将html从内存动态加载到iframe中
- 使用systemJS的相对动态加载,使用ES6/Babel语法
- 为什么动态加载的事件在我的代码中不能正常工作
- 在不同的域上动态加载样式表;不适用于Firefox
- 在动态加载的PHP表单上放置JavaScript事件
- 在混合基本 URL 下动态加载 require.js 模块
- 动态加载引导模式主体