仅当javascript函数为true时才运行HTML

时间:2014-04-02 03:22:57

标签: javascript html media-queries

我想链接到移动设备的某个样式表,而另一个用于桌面的样式表,因为现在一些手机的像素密度/大尺寸问世,使用媒体查询并不总是包含我想要的所有手机到。

我想运行以下javascript:

if( /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ) {
 // some code..
}

但我需要一些代码..成为一个HTML链接标记

我不太了解javascript,所以感谢任何帮助。

3 个答案:

答案 0 :(得分:3)

您可以使用document.write

if( /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ) {
 document.write('<link rel="stylesheet" type="text/css" href="//cdn.sstatic.net/stackoverflow/all.css?v=884f021ebd40">');
}

确保将代码放在要包含css的位置。

请注意,它有一些drawbacks

答案 1 :(得分:2)

使用纯JavaScript,如果您的移动用户代理正则表达式评估为head,则可以在true中插入样式表:

if( /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) )
{
    link=document.createElement('link');
    link.href='put your URL here';
    link.rel='stylesheet';
    document.getElementsByTagName('head')[0].appendChild(link);
}

答案 2 :(得分:1)

Jquery的:

$(document.append( /* your link here */ );

Native JS:

document.getElementById('some-target').innerHTML = /* your link here */;

作为ysrb答案的替代方案:

var link = document.createElement('link'); link.type='text/css'; link.href='your.css'; link.rel='stylesheet'; document.getElementsByTagName('head')[0].appendChild(link);