使用JS编写一个noscript标记

And*_*rew 2 javascript dom

有没有任何实际的理由说明你<noscript>用JavaScript 编写标签document.write()?我们的广告部门多年来一直这样做,在我指出之后仍然这样做.我99%肯定这是因为一个古老的广告模板是由一个不知道自己在做什么的人编写的,没有人想过改变它,因为"为什么要解决没有破坏的东西?" 或者也许有人正在阅读他们的"最佳实践"错误("总是包含已禁用JS的浏览器的替代方案").或许我不知道这是一个非常好的理由.

我能想到的唯一可想到的事情是,你可以使用它来修改DOM,而不会在页面上显示可见的东西,并且可能像模板一样使用该内容供以后使用,但这看起来相当牵强.

(编辑)

在这种情况下,标签包含一个标准<a href="/path/to/advertiser"><img src="/path/to/image" /></a>.因为这是原始的,非动态的广告代码看起来像,这让我觉得这只是复制粘贴的垃圾.

我应该说的另一件事是我不是百分之百确定这是一个过分的原因是因为最近放置了html模板的模式<script type="text/x-my-custom-template">...</script>.我怀疑有人会在我们自己的基础上提出这个问题,但这可能是一个非常聪明的人的标准广告实践.

Mat*_*all 5

有没有任何实际的理由说明为什么<noscript>要用JavaScript 编写标签document.write()

不.这两个(<script>和<noscript>)是互斥的.这就像写一段这样的代码:

if (true && false) {
    // do something important
}
Run Code Online (Sandbox Code Playgroud)

如果启用了JavaScript,浏览器将忽略该<noscript>标记.另一方面,如果禁用JavaScript,<noscript>则永远不会写入<script>标记,因为标记被忽略.

  • 根本不一样。在您的示例中,永远不会达到“//做一些重要的事情”。但是,如果我在主页上运行“document.getElementsByTagName('noscript').length;”,我会得到“3”。DOM 正在更新。这是“运行”。 (2认同)