userAgent jQuery脚本冲突

时间:2012-09-19 13:57:27

标签: android jquery iphone css jquery-mobile

我有一些jQuery设置各种div的高度和宽度。

jQuery(document).ready(function($) {
    var h = $(window).height();
    var w = $(window).width();
$('.slide') .css({'height': h});
$('.slide') .css({'width': w});
}); 

这个工作正常,直到最近我添加了一个脚本来加载userAgent特定的css文件,一个用于iPad,Android和其他所有文件。出于某种原因,这两个脚本不会一起运行。我可以拥有正确大小的div,或者一个多平台网站。

if(navigator.userAgent.match(/iPad/i)) {
document.write("<link type=\"text\/css\" *etc*>");}

else if(navigator.userAgent.match(/android/i)){
document.write("<link type=\"text\/css\" *etc*>");}

else {
document.write("<link type=\"text\/css\" *etc*>");
}

最后一点脚本的任何原因是停止第一个脚本运行?

1 个答案:

答案 0 :(得分:0)

我的猜测如下。

只要dom结构完全加载,就会在加载任何外部样式表之前调用jQuery.ready()函数。这意味着代码加载和应用样式表与修改css的代码之间存在潜在的竞争条件。

您可以尝试在jQuery.onload()

中调用此片段
var h = $(window).height();
var w = $(window).width();
$('.slide') .css({'height': h});
$('.slide') .css({'width': w});