Javascript 如何针对Android stock/native浏览器调整CSS
我尝试了本论坛的几个建议,但没有一个对我有效: 我正在尝试使用一个可以识别Android股票浏览器的脚本,这样我就可以增加选定文本区域的字体大小 我尝试了以下脚本Javascript 如何针对Android stock/native浏览器调整CSS,javascript,css,browser,jquery-selectors,Javascript,Css,Browser,Jquery Selectors,我尝试了本论坛的几个建议,但没有一个对我有效: 我正在尝试使用一个可以识别Android股票浏览器的脚本,这样我就可以增加选定文本区域的字体大小 我尝试了以下脚本 var nua = navigator.userAgent; var is_android = ((nua.indexOf('Mozilla/5.0') > -1 && nua.indexOf('Android ') > -1 && nua.indexOf('App
var nua = navigator.userAgent;
var is_android = ((nua.indexOf('Mozilla/5.0') > -1 && nua.indexOf('Android ') > -1 && nua.indexOf('AppleWebKit') > -1) && !(nua.indexOf('Chrome') > -1));
及
从这里开始:
及
函数isAndroidBrowser(){
var objAgent=navigator.userAgent;
var objfullVersion=''+parseFloat(navigator.appVersion);
if((objOffsetVersion=objAgent.indexOf(“Chrome”)!=-1){
objfullVersion=objAgent.substring(objOffsetVersion+7,objOffsetVersion+9);
if(objfullVersion<19){
返回true;
}
}
返回false;
}
从这里开始:
我试着用这里的建议来实现现代化:
(我使用了完整的开发人员代码js和“addTest”)
什么都没起作用
我尝试使用codepen idea的方法更改CSS类以及这两种格式中的任何一种,但都没有成功:
$(“paratext”).css(“fontSize”,“150%”);
$('.paratext').css(“字体大小”,“150%”)
有人能告诉我a)识别股票浏览器和b)更改类“paratext”字体大小所需的完整编码吗
我需要一勺完整的代码,因为我想这就是我要失败的地方
我试着用
$(文档).ready(函数(){
或
$(函数(){
如果上述想法奏效,仍然没有任何结果
任何帮助都将不胜感激
我上次尝试使用的是上面代码笔中显示的想法:
在这一节中,我调用了modernizr.js(开发版本)和callup
我有这个:
Modernizer.addTest('androidStock',函数(){
var nua=navigator.userAgent;
变量为安卓=((nua.indexOf('Mozilla/5.0')>-1和&nua.indexOf('android')>-1和&nua.indexOf('AppleWebKit')>-1)和&!(nua.indexOf('Chrome')>-1));
返回是_安卓;
});
这是我的编辑代码笔的CSS:
安德烈斯托克先生{
.意文{
字体大小:150%;
}
/*.否定{
显示:无;
}*/
}
在我的问题背景下,我找到了一个不需要针对浏览器的好解决方案:我偶然发现了一个有趣的现象,即如果我将文本放在html表格的列中,文本会突然在Android stock和Chrome浏览器上呈现良好 再检查一下,我在这个帖子里看到了这个帖子 这表明Android确实存在一个渲染问题,即以列显示比以单列格式显示效果更好 因此,在我的问题背景下,使用Joomla自定义html模块,我做到了这一点(使用device.js javascript): a) 在一个模块中,我创建了相同文本的两个版本——一个是标准方式的非Android设备版本,另一个是Android设备版本,文本在一个表中分为两列(由间隔列分隔)(尝试放置间隔列-文本列-间隔列不起作用,Android恢复以其常规方式呈现文本) b) 使用我在条件css中添加的“sourcerer”插件来显示或不显示每个版本,具体取决于device.js脚本标识的操作系统,如下所示:
<style type="text/css">
.desktop .nonandroid, .ios .nonandroid, .blackberry .nonandroid, .windows .nonandroid, .fxos .nonandroid, .meego .nonandroid, .television .nonandroid {display:block;}
.android .nonandroid {display:none;}
.desktop .yesandroid, .ios .yesandroid, .blackberry .yesandroid, .windows .yesandroid, .fxos .yesandroid, .meego .yesandroid, .television .yesandroid {display:none;}
.android .yesandroid {display:block;}
.android .mobile .yesandroid .paratext {font-size:18px;}
.android .tablet .yesandroid .paratext {font-size:12px;}
.android. .yesandroid contable, .android .yesandroid .contable td{font-size:130%;}
</style>
.desktop.nonandroid、.ios.nonandroid、.blackberry.nonandroid、.windows.nonandroid、.fxos.nonandroid、.meego.nonandroid、.tv.nonandroid{display:block;}
.android.nonandroid{display:none;}
.desktop.yesandroid、.ios.yesandroid、.blackberry.yesandroid、.windows.yesandroid、.fxos.yesandroid、.meego.yesandroid、.TV.yesandroid{显示:无;}
.android.yesandroid{display:block;}
.android.mobile.yesandroid.paratext{font size:18px;}
.android.tablet.yesandroid.paratext{font size:12px;}
.android..yesandroid conttable.android.yesandroid.conttable td{font size:130%;}
nonandroid和yesandroid用作div类来控制2种不同的显示,paratext用于表外的任何特殊文本,contable用于控制表内的文本大小。使用这种方法的功劳来自本例中的css:
我确实尝试过使用MetaModPro的内置设备检测器来做类似的事情,但它没有device.js那么精确(它没有将我的LG v400作为Android设备“看到”,而是显示为默认显示)。它还需要创建两个单独的模块(适用于Android/非Android)而不是仅仅从一个模块调用所有内容
这是一个需要解决的巨大问题(在我看来)。好奇的人可以点击顶部蓝色导航栏上的菜单选项,在这里看到一个实例(并在不同的设备上查看):你在测试什么设备Onony experia t26i(如果我没弄错的话)和LG v400平板电脑。我做了CSS更改,在股票浏览器上效果很好,但在Android Chrome上效果不好,我更喜欢保持Chrome原样,只是为股票浏览器找到一个特定的修复方案……一般来说,你想尝试在两种浏览器上都能工作的解决方案,而不是基于用户代理的细分。问题是什么?如果你有你试过了吗?我的问题是股票浏览器呈现的字体大小比Chrome小得多。我需要将其从默认大小增加150%,这样它才能很好地呈现…为我的问题添加一些上下文:我正在处理一个网站上的Joomla子目录。除了使用自定义HTML“模块”的情况外,它在Android上呈现得很好在这种情况下,Chrome接受现有的字体大小,但股票浏览器需要向上调整。。。
function isAndroidBrowser() {
var objAgent = navigator.userAgent;
var objfullVersion = ''+parseFloat(navigator.appVersion);
if ((objOffsetVersion=objAgent.indexOf("Chrome")) != -1) {
objfullVersion = objAgent.substring(objOffsetVersion+7, objOffsetVersion+9);
if (objfullVersion < 19) {
return true;
}
}
return false;
<style type="text/css">
.desktop .nonandroid, .ios .nonandroid, .blackberry .nonandroid, .windows .nonandroid, .fxos .nonandroid, .meego .nonandroid, .television .nonandroid {display:block;}
.android .nonandroid {display:none;}
.desktop .yesandroid, .ios .yesandroid, .blackberry .yesandroid, .windows .yesandroid, .fxos .yesandroid, .meego .yesandroid, .television .yesandroid {display:none;}
.android .yesandroid {display:block;}
.android .mobile .yesandroid .paratext {font-size:18px;}
.android .tablet .yesandroid .paratext {font-size:12px;}
.android. .yesandroid contable, .android .yesandroid .contable td{font-size:130%;}
</style>