我页面的基本结构是
body
div id="content"
nav
article id="spa"
noscript
我在docs page搜索了noscript,却一无所获。我甚至不确定错误消息建议我应该做什么,因为noscript标记已经在body标记内。页面显示并正常工作。关闭js支持后,将显示相应的消息。我尝试将noscript标签移动到body标签的正下方,但发出相同的警告。
作为发布此消息的一部分,我获取了我的html页面的内容,包括打开和关闭的body标签,将其粘贴到jsFiddle中,它变得清晰。这可能特定于Visual Studio 2012和JSLint.VS2012扩展。我也没有在JsLint选项中看到禁用此检查的方法。
答案 0 :(得分:1)
该警告确实来自JSLint,虽然不是最新版本 - 但是从JSLint quite recently中删除了对HTML和CSS代码的警告。
我不确定为什么JSLint坚持<noscript>
标签只能进入那些地方。 HTML 5 spec says它可以在任何地方使用“短语内容”,这基本上都是主要内容。
JSLint非常非常挑剔。因此,虽然有可能出现警告,因为某些旧版浏览器在其他位置遇到<noscript>
问题......它同样可能只是JSLint创建者道格拉斯·克罗克福德的个人宠儿。
如果要消除所有JSLint警告并且无法将<noscript>
标记移动到正文,则可以始终使用JS代码隐藏的常规可见元素(如果JS有机会运行) 。像这样:http://jsfiddle.net/jJNDa/