2011-06-01 35 views
1

我正在制作一个小部件,并用一个noscript标记封装了一些JavaScript,现在我只是看到一个空白屏幕,并且没有我可以注意到的错误消息。如何调试noscript标记

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

如果你从该页面的查看源代码的URL粘贴,你会得到的东西发生。但由于某种原因,我链接到的这个网址没有显示任何内容。为什么会发生?

谢谢!

+0

在'

+0

'

+0

从无脚本标记中取出javascript。我相信你的脚本会起作用:) – Ibu 2011-06-01 15:49:25

回答

3

有没有很多调试。只需尝试JS上的页面,并关闭它。像往常一样,validating是有帮助的。

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

如果您已关闭JavaScript,则会呈现,并加载页面。该页面包含一个标题,几个空元素和很多JavaScript(由于JS未打开而不会运行)。

+0

+1正如我在回答中所说的那样,但你首先到达那里。 ;) – Mikaveli 2011-06-01 15:51:32

+0

@Quentin啊,所以我应该添加更多的代码来渲染小部件结束标记后的小部件?或者我应该从noscript标签中取出iframe代码?任何想法这是如何工作的? :) – Genadinik 2011-06-01 15:52:19

+0

要使链接有效,请用@Shaz在他的回答中说的关闭。 – Mikaveli 2011-06-01 15:54:31

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,或者有它禁用浏览器。

1

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

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

http://validator.w3.org/

除此之外,只需查看与禁用JavaScript页面才能看到效果。

+0

谢谢 - 所以iframe的东西应该从noscript标签中删除,对吗? – Genadinik 2011-06-01 15:56:32

+0

就我个人而言,我不会包装noscript的iframe - 我没有看到需要,显然有些浏览器可以防止嵌入noscript标签中的iframe。 – Mikaveli 2011-06-01 15:59:48

+0

http://www.w3schools.com/TAGS/tag_noscript.asp – Mikaveli 2011-06-01 16:01:33

相关问题