noscript是否被启用javascript的浏览器确认?

时间:2008-11-07 15:36:07

标签: javascript jquery html

我正在考虑通过将广告代码移至外部jQuery脚本来收紧广告代码,但我显然仍需要一些HTML来定位广告。所以我想知道我是否可以定位一个noscript元素(或者在一个noscript元素中)因为我不得不将它留在页面上,或者我是否需要为JavaScript定位一些其他元素?

<noscript>
  <div class="ad"><a href="foo"><img src="bar" alt="ad" /></a></div>
</noscript>

我的意图是更改或删除noscript元素。

6 个答案:

答案 0 :(得分:6)

当JS处于活动状态时,

<noscript>内容不仅不会显示,显然它也不在DOM中。我尝试访问<noscript>区域内的内容(希望您可以使用jQuery clone()并将其插入其他地方)但是什么都没有回来。

答案 1 :(得分:3)

您可以定位noscript元素。

    <noscript>asdfasFSD</noscript>

    <script>
        alert(document.getElementsByTagName("noscript")[0].innerHTML);
    </script>

适用于FF3,IE6和Google Chrome。它会为我警告asdfasdFSD。

答案 2 :(得分:2)

为什么需要noscript元素?如果你只是在javascript运行时删除或用不同的元素替换它,那么div无论如何都会像noscript元素一样。

答案 3 :(得分:1)

如果浏览器启用了javascript,则不显示no-script元素内的内容。

您需要将其置于javascript定位之外,并将NoScript部分用于其目的,即未启用JavaScript的用户。

答案 4 :(得分:1)

大多数浏览器都不会让你定位noscript元素,即使你(错误地)给它一个id。您可以尝试http://dev.opera.com/articles/view/replacing-noscript-with-accessible-un/之类的东西 - 它是一种符合标准的方法,用于实现相同目的,但没有noscript标记。

答案 5 :(得分:0)

您可以随时使用JS来隐藏该广告,如果没有别的话。