noscript标记是否仅在禁用JavaScript时生成?
我检查了我的网站(WordPress)应用程序的页面源,发现如下内容noscript标记是否仅在禁用JavaScript时生成?,javascript,recaptcha,Javascript,Recaptcha,我检查了我的网站(WordPress)应用程序的页面源,发现如下内容 <div class="control-group"> <div id="recaptcha_div" class="controls"> <noscript><iframe src="https://www.google.com/recaptcha/api/noscript?k=6Lcc4OYSAAAAABTEzBumk7dNbnpKbpC3JhVdi
<div class="control-group">
<div id="recaptcha_div" class="controls">
<noscript><iframe
src="https://www.google.com/recaptcha/api/noscript?k=6Lcc4OYSAAAAABTEzBumk7dNbnpKbpC3JhVdi2yU"
height="300" width="500"></iframe><br/> <textarea
name="recaptcha_challenge_field" rows="3"
cols="40"></textarea> <input type="hidden"
name="recaptcha_response_field" value="manual_challenge"/></noscript>
<div for="cscf_recaptcha" class="help-inline"></div>
</div>
iframe
src=”https://www.google.com/recaptcha/api/noscript?k=6Lcc4OYSAAAAABTEzBumk7dNbnpKbpC3JhVdi2yU"
height=“300”width=“500”/iframebr/textarea
name=“recaptcha\u挑战\u字段”rows=“3”
cols=“40”/textarea input type=“隐藏”
name=“recaptcha\u响应\u字段”value=“手动\u挑战”/
我相信JavaScript已经在我的浏览器上启用了。这是否意味着JavaScript已完全禁用或仅在此时不可用 通常,
noscript
块总是在这里。但一个常见的“技巧”是用javascript在它前面放一个div
因此,如果禁用javascript,您将看到noscript
块。如果启用了javascript,则在它前面会有一个div,因此您无法看到它(但该块仍在html中)
启用javascript时,某些浏览器还会自动隐藏
noscript
块。但是他们仍然不会从DOM中删除它。通常,noscript
块总是在这里。但一个常见的“技巧”是用javascript在它前面放一个div
因此,如果禁用javascript,您将看到noscript
块。如果启用了javascript,则在它前面会有一个div,因此您无法看到它(但该块仍在html中)
启用javascript时,某些浏览器还会自动隐藏noscript
块。但他们仍然没有将其从DOM中删除。该标记是不支持javascript(或禁用javascript或使用不支持的脚本语言)的浏览器的一种回退机制
在上述情况下,禁用javascript的浏览器将显示recaptcha的iframe版本,而其他浏览器将使用基于javascript/AJAX的版本
注意:关于您的示例,不应对noscript标记内的HTML进行编码。该标记是不支持javascript(或禁用javascript或使用不支持的脚本语言)的浏览器的一种回退机制
在上述情况下,禁用javascript的浏览器将显示recaptcha的iframe版本,而其他浏览器将使用基于javascript/AJAX的版本
注意:关于您的示例,noscript标记内的HTML不应进行编码。
是页面HTML源的一部分,它来自服务器。这是对浏览器的指示:仅当脚本不可用或禁用时(使用首选项设置,或像NoScript这样的附加组件),才呈现所包含的内容。是页面HTML源的一部分,它来自服务器。这是对浏览器的指示:仅当脚本不可用或禁用时(使用首选项设置,或像NoScript
)才呈现所附内容。»某些浏览器隐藏NoScript块«某些浏览器?这是默认行为<当启用JS时,code>NOSCRIPT
将不会被渲染。我不确定世界上所有的浏览器都会这样做。所以我更喜欢写“一些浏览器”»一些浏览器隐藏noscript块«一些浏览器?这是默认行为<当启用JS时,code>NOSCRIPT
将不会被渲染。我不确定世界上所有的浏览器都会这样做。所以我更喜欢写“一些浏览器”。