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

Running HTML only if javascript function is true

本文关键字:运行 HTML javascript 函数 仅当      更新时间:2023-09-26

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

我想运行以下 JavaScript:

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

但是我需要一些代码..作为html链接标签

我不太懂javascript,所以任何帮助不胜感激。

您可以使用

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 的位置。

请注意,它有一些缺点

使用纯 JavaScript,如果您的移动用户代理正则表达式的计算结果如下所示true,您可以在head中插入样式表:

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);
}

Jquery:

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

本机 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);