微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

html – 用于定位Windows Phone 7的CSS

我正在尝试添加一个针对 Windows Mobile的.css文件,并且由于media =“掌上电脑”对此设备没有任何作用,我已按照 an official Windows Phone site的说明进行操作,总结如下:
<!--[if IEMobile 7]>
<p>Welcome to Internet Explorer Mobile.</p>
<![endif]-->
<![if !IEMobile 7]>
<p>All other browsers</p>
<![endif]>

问题

正如预期的那样,在Firefox和桌面版的Internet Explorer中,它显示了它应该:“所有其他浏览器”.

不幸的是,我的Windows Phone 7还显示“所有其他浏览器”.我在条件评论中尝试使用和不使用“7”,结果相同.

我的.html中没有任何其他内容可能导致问题,因为我正在对此进行测试:

<html>
    <body>
        <p>Does work</p>
        <!--[if IEMobile 7]>
            <p>Welcome to Internet Explorer Mobile.</p>
        <![endif]-->
        <![if !IEMobile 7]>
            <p>All other browsers</p>
        <![endif]>
    </body>
</html>

这个在线版本暂时是here.

我复制粘贴官方网站上的代码,我在WP7上的Internet Explorer设置指定移动版本作为首选版本.我也有芒果更新.

perishablepress.com文章中,我读到在正常的非手持式样式表声明中指定media =“Screen”(将S大写)将迫使WP7使用media =“掌上电脑”声明,但是这对我不起作用.

有没有人有使用.css定位WP7的经验?如果是,您的解决方案是什么?

请记住,我真的在寻找如何让WP7选择.css的移动版本,而不是如何解决条件评论问题.感谢您的时间!

编辑

添加一个javascript(thank you w3schools.com)来询问浏览器信息(使用’navigator’),这是我的设备(Samsung Omnia,btw):

Does work
All other browsers
browser CodeName: Mozilla
browser Name: Microsoft Internet Explorer
browser Version: 5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0; SAMSUNG; OMNIA7)
Cookies Enabled: true
Platform: Win32
User-agent header: Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0; SAMSUNG; OMNIA7)

解决方法

芒果运行IE9,而不是IE7.您的支票显示,如果不是IEMobile 7,则显示“所有其他浏览器”.由于浏览器是IE9,因此显示所有其他浏览器.

编辑 – 您可以尝试使用Javascript来检测它.我从here改编了这段代码.

browserUA = navigator.userAgent.toLowerCase();
if (browserUA.search('windows phone os 7') > -1)
   //windows phone therefore load WP CSS file
else
   //it's some other browser

当然,用户代理可以很容易地更改,因此出于安全原因不要使用此方法.但是,对于Windows Phone检测,它应该工作.

原文地址:https://www.jb51.cc/html/223772.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐