我正在制作一个包含很多iframe的网页,iframe中的网站上有广告,为了让网页更容易被adblock看到,我需要显示不同的样式表。
基本上我想做的是..如果adblock(显示这个样式表)别的(显示这个样式表)。
我有代码正在检测是否存在adblock,但是当我尝试执行if else语句时...整个页面都是空白的。这是代码:
<script>
(function(){
if($("#fakead").css('display')=="none")
{
document.write("<link href='css/adblock.css' rel='stylesheet' type='text/css'>")
}
else
{
document.write("<link href='css/noadblock.css' rel='stylesheet' type='text/css'>")
}
});
</script>
我对Javascript非常陌生,所以如果代码很糟糕我会道歉。
感谢您的帮助
答案 0 :(得分:4)
您不应使用document.write
方法。正如我看到你使用jQuery,所以在jQuery中你可以这样做:
$( function() {
if($("#fakead").css('display')=="none") {
$("<link href='css/adblock.css' rel='stylesheet' type='text/css'/>").appendTo( 'head' );
} else {
$("<link href='css/noadblock.css' rel='stylesheet' type='text/css'/>").appendTo( 'head' )
}
});
请注意:link元素应放在<head>
部分。 w3c Read more。
答案 1 :(得分:3)
纯JS选项:
var el = document.createElement("link");
el.type = "text/css";
el.rel = "stylesheet";
el.href = "style.css";
document.getElementsByTagName("head")[0].appendChild(el);