我想在不同的浏览器中以不同的格式显示网页的内容。 如何实施呢?
编辑:更多信息
这背后的动机是在不同的移动设备中显示内容。 例如:iPhone使用Safari 因此,如果使用Safari浏览器,我将调整内容,使其完全适合iPhone的屏幕,我可以更改字体大小等
如果使用其他浏览器,我会适当更改格式。
答案 0 :(得分:1)
<?php
if(strpos($_SERVER['HTTP_USER_AGENT'], 'iPhone')) {
// is iPhone
}
?>
答案 1 :(得分:1)
检查随HTTP请求一起发送的User Agent标头的内容。在您告诉我们更多关于您用于显示页面的内容之前,我不能更具体,但您应该将User Agent标头与已知浏览器进行比较,然后根据该测试提供不同的内容。
答案 2 :(得分:0)
除了对不同的user-agent
HTTP标头做出反应之外,您还可以使用一些CSS技巧来区分IE和非IE浏览器以及不同的IE版本。当然还有另一种方法:使用一些JavaScript代码来显示/隐藏页面的特定部分,具体取决于从该JavaScript代码中检测到的浏览器。
但是,作为一项规则,我会避免使用任何特定于浏览器的内容,并以最能在最重要的浏览器中呈现的方式编写页面,并且使用较旧的和古老的浏览器可以合理地降级。
我还要注意,如果你决定user-agent
切换,请确保你回到合理的默认值。没有什么比需要伪装我的浏览器A作为浏览器B更令人烦恼的只是因为某些网站不知道浏览器A或类似的愚蠢。
答案 3 :(得分:0)
浏览 - 嗅探是很棘手的,因为许多用户代理试图模仿其他人以超越程序员引发的限制。如果您专门尝试制作适合移动设备的样式表,则使用LINK标记的“media”属性是定位特定设备的好方法。即。
<link rel="stylesheet" type="text/css" href="base.css" media="all"/>
<link rel="stylesheet" type="text/css" href="mobile.css" media="handheld"/>
第一个样式表将应用于所有媒体类型,而第二个样式表将仅应用于“移动”设备。
如果您正在寻找仅定位IE的方法,请查看条件评论:http://www.quirksmode.org/css/condcom.html
Aaaand获取有关控制iPhone视口的更多信息,请查看Apple的这篇文章:https://developer.apple.com/library/content/documentation/AppleApplications/Reference/SafariHTMLRef/Articles/MetaTags.html