【问题标题】:How to debug the noscript tag如何调试 noscript 标签
【发布时间】:2011-06-01 15:42:29
【问题描述】:

我正在制作一个小部件,并用 noscript 标记包装了一些 JavaScript,现在我只是得到一个空白屏幕,并且没有注意到任何错误消息。

示例如下:http://www.comehike.com/outdoors/widget.php?hike_id=108&height=600&width=700

如果您从该页面的视图源中粘贴 url,您将会发生一些事情。但由于某种原因,我链接到的这个 url 什么也没显示。为什么会这样?

谢谢!!

【问题讨论】:

  • <noscript> 标记中包装一些 JavaScript 是没有意义的。
  • <noscript> 用于包含在不支持 JS 时要显示的内容。
  • 将 javascript 从 no script 标签中取出。我相信你的脚本会工作:)

标签: javascript widget noscript


【解决方案1】:

没有太多的调试。只需尝试打开和关闭 JS 的页面。像往常一样,validating 很有帮助。

如果您打开了 JavaScript,那么 <noscript> 元素将被忽略,您什么也看不到。这是意料之中的。

如果您关闭了 JavaScript,则将呈现 <iframe>,并加载里面的页面。该页面由一个标题、几个空元素和大量 JavaScript(由于未打开 JS 而无法运行)组成。

【讨论】:

  • +1 和我在回答中所说的差不多,但你先到了那里。 ;)
  • @Quentin 啊,那么我应该在 noscript 结束标记之后添加更多代码来呈现小部件吗?或者我应该从 noscript 标签中取出 iframe 代码吗?知道这是如何工作的吗? :)
  • 要使链接有效,请使用 将其关闭,正如@Shaz 在他的回答中所说的那样。
  • @Genadinik — 我不知道它应该做什么,在什么情况下,所以很难说。你为什么首先使用<noscript>?为什么你在那里使用 iframe 到一个依赖于脚本的页面?
  • @Quentin 我使用 noscript 是因为我被告知这是一个很好的做法。我使用 iframe 是因为我想让人们将其作为小部件导出到他们的网站上。当它正确渲染时,它会显示带有登山口的远足地图,以及远足的实际路线。
【解决方案2】:

你没有关闭<a>标签。

之前:

<noscript>
<iframe style="width:700px;height:600px" src="http://www.comehike.com/outdoors/hike_widget.php?hike_id=108&height=600&width=700" >
    <p>Your browser does not support iframes.</p></iframe>

    <p><a href="http://www.comehike.com/">Widget by comehike.com</p>
</noscript>

之后:

<noscript>
<iframe style="width:700px;height:600px" src="http://www.comehike.com/outdoors/hike_widget.php?hike_id=108&height=600&width=700" >
    <p>Your browser does not support iframes.</p></iframe>

    <p><a href="http://www.comehike.com/">Widget by comehike.com</a></p>
</noscript> 

请记住,&lt;noscript&gt; 标记内的任何内容只会显示给不支持 JavaScript 或已禁用 JavaScript 的浏览器。

【讨论】:

    【解决方案3】:

    &lt;noscript&gt; 标签内的 JavaScript 永远不会被激活 - 只有当浏览器不支持 &lt;script&gt; 标签中指定的语言(或被禁用)时,才会呈现该元素。

    要测试 noscript 标记,您可以使用 HTML 验证器来确保您已将 &lt;noscript&gt; 标记放置在 HTML 中的有效/合法位置。

    http://validator.w3.org/

    除此之外,只需查看禁用 JavaScript 的页面即可查看效果。

    【讨论】:

    • 谢谢 - 所以 iframe 的东西应该从 noscript 标记中取出,对吗?
    • 就我个人而言,我不会用 noscript 包装 iframe - 我认为没有必要,而且显然有些浏览器可以防止嵌入在 noscript 标签中的 iframe。
    猜你喜欢
    • 2019-03-19
    • 2015-04-10
    • 2018-03-11
    • 1970-01-01
    • 2020-03-28
    • 2013-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多