我试图弄清楚如何在不刷新Facebook导航栏的情况下加载内容。

如果您查看Facebook个人资料(而不是时间轴),则在左栏中有一个导航栏,其中包含“墙”,“信息”,“照片”,“朋友”等。

例如,当您单击“墙”时,URL变为www.facebook.com/yourid?sk=wall,中间的列将刷新并加载内容。但这不会刷新左侧导航栏(也是顶部菜单栏)。

这是如何运作的?

我在一个PHP网站上工作,该网站的网址类似www.example.com/profile.php?id=1234,这是带有导航栏的主页面,并且当用户创建页面时,该网址将变为www.example.com/profile.php?id=1234&page=1。如何在不刷新导航栏部件的情况下加载&page=1内容?

=====================================

我取消了标题(没有JavaScript)。我以为facebook不用JavaScript就可以做到这一点,但是我错了。

最佳答案

首先,我相当确定Facebook为此使用了javascript,因为它是客户端,这就是您可以执行所需操作的方式。通过禁用浏览器中的javascript,然后再次尝试进行测试。

PHP是服务器端的,因此,如果您要刷新页面的一部分,则必须将整个页面发送回服务器,因为这将决定要刷新的部分。

您可以做的就是使用iframe。具有菜单的iframe,具有内容的iframe,则您只能刷新内容iframe。不过,由于种种原因,我并不真正喜欢画框。使用Jscript会更好:)

更新

几年以来,单页应用程序(完全在浏览器中运行而无需在服务器上进行完全刷新的Web应用程序)的受欢迎程度已大大提高。

基本上,您使用Angular或React之类的前端javascript框架对应用程序进行编码。结果将是无法重新加载的单页网站。

关于php - php-如何在不刷新导航栏的情况下加载内容,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11407693/

10-09 23:45
查看更多