当前位置:  开发笔记 > 编程语言 > 正文

PHP:如何确定浏览器是否支持PHP中的javascript?

如何解决《PHP:如何确定浏览器是否支持PHP中的javascript?》经验,为你挑选了1个好方法。

我正在构建一个AJAX深度链接的站点.

如果用户尝试使用Javascript不支持的浏览器访问该站点或者它是搜索爬虫,我希望PHP加载页面的所有HTML代码.基本上PHP将返回整个页面.

相反,当用户尝试使用支持Javascript的浏览器访问该站点时,我希望PHP只返回模板代码,让Javascript(AJAX)处理剩下的事情.基本上PHP只会加载设计元素,让Javascript用内容填充它们.

我查看了PHP的get_browser()功能,但它似乎不是一个可靠的工具.什么是行业的做法,看看浏览器是否支持Javascript,或者它是使用PHP的搜索爬虫?


背景:

为什么我希望该网站有此行为.

由于我只想通过加载地址来加载主页:example.com,它不向PHP发送任何查询,PHP返回主页的HTML代码.但是,当用户尝试加载以下页面时,这会导致问题:example.com#foo.因此,对于此示例,PHP将返回主页,并且一旦加载主页,Javascript(AJAX)将更改内容以便它显示正确的内容#foo.这将使用户看到主页,因此加载时间将变慢并且用户体验将不会那么好.但是,如果我的PHP脚本可以弄清楚,如果使用Javascript支持的浏览器试图加载页面,它将只返回网站的模板,该模板没有内容)并且javascript将使用内容填充该模板应该为#foo显示.另一方面,如果Javascript非分离浏览器或爬虫将尝试访问该页面example.com#foo,则将返回主页.

我正在使用SWFaddress(http://www.asual.com/swfaddress/)库进行深层链接.


编辑

感谢你们.我以前没想过用过.

这是我决定做的.PHP默认情况下会加载诸如example.com或之前的页面example.com#foo(example.com从PHP的角度来看基本上是相同的,因为定义的片段不会发送到服务器)空白(只是可视化模板),

再次感谢你.我认为这是非常简单和优雅的解决方案.如果您有任何进一步的建议,请发表评论或其他答案.



1> wajiw..:

你不能用PHP做到这一点.你可以做的是使用一个noscript标签重定向到另一个php页面,如果他们没有javascript:


推荐阅读
吻过彩虹的脸_378
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有