1

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

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

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

谢谢!!

4

3 回答 3

3

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

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

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

于 2011-06-01T15:46:21.033 回答
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> 

请记住,<noscript>标签内的任何内容都只会显示给不支持 JavaScript 或禁用 JavaScript 的浏览器。

于 2011-06-01T15:48:22.737 回答
1

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

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

http://validator.w3.org/

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

于 2011-06-01T15:50:24.967 回答