我正在尝试使网站适合移动设备。步骤之一是隐藏包含广告和非必要数据的右列。在CSS中,我有类似以下内容:

@media only screen {
    @media handheld or (max-width: 768px) {
        #column_right {display:none}
    }
}


问题在于,右列包含用于显示广告的JavaScript,但仍会执行。这很糟糕,原因有两个:
1.减慢页面的加载速度。
2.违反广告联盟的服务条款(因为即使访问者看不到广告,视图仍处于注册状态)

如何防止隐藏列中的代码被执行?

编辑添加:这是我需要禁用的javascript代码块之一:

<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- removed ad block name -->
<ins class="adsbygoogle"
     style="display:inline-block;width:160px;height:600px"
     data-ad-client="removed"
     data-ad-slot="removed"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>

最佳答案

如果您使用的是jQuery,则可以检查该元素是否可见。 http://api.jquery.com/visible-selector/

关于javascript - HTML,CSS,Javascript:禁止在未显示的元素中执行JavaScript,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19720666/

10-11 23:23
查看更多