HTML的noframes标签HTML5不支持该标签


HTML中的noframes标签

在HTML中,noframes标签用于定义在不支持框架的浏览器中显示的备用内容。它是HTML4的一部分,但在HTML5中已被废弃,因此不再被支持。

在使用HTML框架时,我们通常使用标签来定义框架,然后使用标签来定义每个框架的内容。在不支持框架的浏览器中,用户无法看到这些框架。这时,我们可以使用标签来显示备用内容。例如:</p> <div class="highlight"><pre tabindex="0" style="background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-html" data-lang="html"><span style="display:flex;"><span>&lt;<span style="color:#000080">frameset</span> <span style="color:#008080">cols</span><span style="color:#000;font-weight:bold">=</span><span style="color:#d14">&#34;25%,75%&#34;</span>&gt; </span></span><span style="display:flex;"><span> &lt;<span style="color:#000080">frame</span> <span style="color:#008080">src</span><span style="color:#000;font-weight:bold">=</span><span style="color:#d14">&#34;menu.html&#34;</span> /&gt; </span></span><span style="display:flex;"><span> &lt;<span style="color:#000080">frame</span> <span style="color:#008080">src</span><span style="color:#000;font-weight:bold">=</span><span style="color:#d14">&#34;content.html&#34;</span> /&gt; </span></span><span style="display:flex;"><span> &lt;<span style="color:#000080">noframes</span>&gt; </span></span><span style="display:flex;"><span> &lt;<span style="color:#000080">p</span>&gt;Your browser does not support frames.&lt;/<span style="color:#000080">p</span>&gt; </span></span><span style="display:flex;"><span> &lt;<span style="color:#000080">p</span>&gt;Please upgrade to a newer browser.&lt;/<span style="color:#000080">p</span>&gt; </span></span><span style="display:flex;"><span> &lt;/<span style="color:#000080">noframes</span>&gt; </span></span><span style="display:flex;"><span>&lt;/<span style="color:#000080">frameset</span>&gt; </span></span></code></pre></div><p>在上面的例子中,如果用户使用不支持框架的浏览器打开该页面,就会显示<noframes>标签中的内容,而不是框架布局。</p> <h3 id="html5不支持noframes标签的原因">HTML5不支持noframes标签的原因</h3> <p>HTML5已经放弃支持noframes标签,因为现代浏览器都支持框架,而且框架已经过时了,不再是Web标准的一部分。此外,noframes标签也会妨碍无障碍性的实现。无障碍性不仅是合规性的要求,而且还是让每个人都能更好地访问Web的一个重要方面。</p> <p>因此,在现代Web开发中,noframes标签已经不再使用,开发人员可以使用其他替代方案,如CSS或Javascript来实现备用内容的显示。</p> <h3 id="替代方案">替代方案</h3> <h4 id="1-使用html5的嵌套文档嵌入">1. 使用Html5的嵌套文档嵌入</h4> <p>可以使用HTML5的嵌套文档嵌入<nestediframe>标签来显示备用的内容,如下所示:</p> <div class="highlight"><pre tabindex="0" style="background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-html" data-lang="html"><span style="display:flex;"><span>&lt;<span style="color:#000080">iframe</span> <span style="color:#008080">src</span><span style="color:#000;font-weight:bold">=</span><span style="color:#d14">&#34;menu.html&#34;</span>&gt;&lt;/<span style="color:#000080">iframe</span>&gt; </span></span><span style="display:flex;"><span>&lt;<span style="color:#000080">iframe</span> <span style="color:#008080">src</span><span style="color:#000;font-weight:bold">=</span><span style="color:#d14">&#34;content.html&#34;</span>&gt;&lt;/<span style="color:#000080">iframe</span>&gt; </span></span><span style="display:flex;"><span>&lt;<span style="color:#000080">nestediframe</span>&gt; </span></span><span style="display:flex;"><span> &lt;<span style="color:#000080">p</span>&gt;Your browser does not support iframes.&lt;/<span style="color:#000080">p</span>&gt; </span></span><span style="display:flex;"><span> &lt;<span style="color:#000080">p</span>&gt;Please upgrade to a newer browser.&lt;/<span style="color:#000080">p</span>&gt; </span></span><span style="display:flex;"><span>&lt;/<span style="color:#000080">nestediframe</span>&gt; </span></span></code></pre></div><p>上面的代码演示了如何使用<nestediframe>标签来显示备用内容。如果用户的浏览器不支持嵌套文档嵌入,则会显示<nestediframe>标签中的内容。</p> <h4 id="2-使用css">2. 使用CSS</h4> <p>可以使用CSS来隐藏框架和其内容,并在不支持框架的浏览器上显示备用内容。如下所示:</p> <div class="highlight"><pre tabindex="0" style="background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-html" data-lang="html"><span style="display:flex;"><span>&lt;<span style="color:#000080">div</span> <span style="color:#008080">id</span><span style="color:#000;font-weight:bold">=</span><span style="color:#d14">&#34;frames&#34;</span>&gt; </span></span><span style="display:flex;"><span> &lt;<span style="color:#000080">iframe</span> <span style="color:#008080">src</span><span style="color:#000;font-weight:bold">=</span><span style="color:#d14">&#34;menu.html&#34;</span>&gt;&lt;/<span style="color:#000080">iframe</span>&gt; </span></span><span style="display:flex;"><span> &lt;<span style="color:#000080">iframe</span> <span style="color:#008080">src</span><span style="color:#000;font-weight:bold">=</span><span style="color:#d14">&#34;content.html&#34;</span>&gt;&lt;/<span style="color:#000080">iframe</span>&gt; </span></span><span style="display:flex;"><span>&lt;/<span style="color:#000080">div</span>&gt; </span></span><span style="display:flex;"><span>&lt;<span style="color:#000080">div</span> <span style="color:#008080">id</span><span style="color:#000;font-weight:bold">=</span><span style="color:#d14">&#34;noframes&#34;</span>&gt; </span></span><span style="display:flex;"><span> &lt;<span style="color:#000080">p</span>&gt;Your browser does not support frames.&lt;/<span style="color:#000080">p</span>&gt; </span></span><span style="display:flex;"><span> &lt;<span style="color:#000080">p</span>&gt;Please upgrade to a newer browser.&lt;/<span style="color:#000080">p</span>&gt; </span></span><span style="display:flex;"><span>&lt;/<span style="color:#000080">div</span>&gt; </span></span><span style="display:flex;"><span> </span></span><span style="display:flex;"><span>&lt;<span style="color:#000080">style</span>&gt; </span></span><span style="display:flex;"><span> #<span style="color:#555">frames</span> { </span></span><span style="display:flex;"><span> <span style="color:#000;font-weight:bold">display</span>: <span style="color:#000;font-weight:bold">none</span>; </span></span><span style="display:flex;"><span> } </span></span><span style="display:flex;"><span> #<span style="color:#555">noframes</span> { </span></span><span style="display:flex;"><span> <span style="color:#000;font-weight:bold">display</span>: <span style="color:#000;font-weight:bold">block</span>; </span></span><span style="display:flex;"><span> } </span></span><span style="display:flex;"><span> @<span style="color:#000;font-weight:bold">media</span> <span style="color:#000080">screen</span> <span style="color:#000080">and</span> <span style="color:#000;font-weight:bold">(</span><span style="color:#000080">min-width</span><span style="color:#000;font-weight:bold">:</span> <span style="color:#000080">800px</span><span style="color:#000;font-weight:bold">)</span> { </span></span><span style="display:flex;"><span> #<span style="color:#555">frames</span> { </span></span><span style="display:flex;"><span> <span style="color:#000;font-weight:bold">display</span>: <span style="color:#000;font-weight:bold">block</span>; </span></span><span style="display:flex;"><span> } </span></span><span style="display:flex;"><span> #<span style="color:#555">noframes</span> { </span></span><span style="display:flex;"><span> <span style="color:#000;font-weight:bold">display</span>: <span style="color:#000;font-weight:bold">none</span>; </span></span><span style="display:flex;"><span> } </span></span><span style="display:flex;"><span> } </span></span><span style="display:flex;"><span>&lt;/<span style="color:#000080">style</span>&gt; </span></span></code></pre></div><p>上述代码显示了如何使用CSS在不支持框架的浏览器上显示备用内容。这个方法的实现方式是使用阻止框架的display:none样式表,并使用媒体查询来检查屏幕大小。如果屏幕大小大于800像素,就会显示框架内容。</p> <h4 id="3-使用javascript">3. 使用Javascript</h4> <p>可以使用Javascript来检查浏览器是否支持框架,并在不支持的浏览器中显示备用内容。如下所示:</p> <div class="highlight"><pre tabindex="0" style="background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-html" data-lang="html"><span style="display:flex;"><span>&lt;<span style="color:#000080">iframe</span> <span style="color:#008080">src</span><span style="color:#000;font-weight:bold">=</span><span style="color:#d14">&#34;menu.html&#34;</span>&gt;&lt;/<span style="color:#000080">iframe</span>&gt; </span></span><span style="display:flex;"><span>&lt;<span style="color:#000080">iframe</span> <span style="color:#008080">src</span><span style="color:#000;font-weight:bold">=</span><span style="color:#d14">&#34;content.html&#34;</span>&gt;&lt;/<span style="color:#000080">iframe</span>&gt; </span></span><span style="display:flex;"><span> </span></span><span style="display:flex;"><span>&lt;<span style="color:#000080">script</span>&gt; </span></span><span style="display:flex;"><span> <span style="color:#000;font-weight:bold">if</span> (<span style="color:#000;font-weight:bold">!</span><span style="color:#0086b3">window</span>.frames) { </span></span><span style="display:flex;"><span> <span style="color:#0086b3">document</span>.write(<span style="color:#d14">&#34;&lt;p&gt;Your browser does not support frames.&lt;/p&gt;&lt;p&gt;Please upgrade to a newer browser.&lt;/p&gt;&#34;</span>); </span></span><span style="display:flex;"><span> } </span></span><span style="display:flex;"><span>&lt;/<span style="color:#000080">script</span>&gt; </span></span></code></pre></div><p>上面的代码演示了如何使用Javascript来显示备用内容。如果浏览器不支持框架,则会使用document.write方法来显示备用内容。</p> <h3 id="结论">结论</h3> <p>虽然HTML5不再支持noframes标签,但是我们有许多其他选择来显示备用内容:可以使用<nestediframe>标签、CSS或Javascript来实现备用内容的显示。选择适合你的项目的最佳方案来确保您的网站对所有用户和浏览器提供统一的体验。</p> </div> <div class="row"><div class="position-relative mx-auto col-lg-9"> <div class=" overflow-hidden p-3 mt-5 "> <div class="d-flex justify-content-between"><a class="p-1 mr-3 d-inline-block " href="/html-tags/tags%E6%95%99%E7%A8%8B/html%E7%9A%84nav%E6%A0%87%E7%AD%BE.html" title="HTML的nav标签"><i class="fas fa-chevron-left p-1"></i>HTML的nav标签</a> <a class="p-1 ml-3 d-inline-block text-right" href="/html-tags/tags%E6%95%99%E7%A8%8B/html%E7%9A%84noscript%E6%A0%87%E7%AD%BE.html" title="HTML的noscript标签">HTML的noscript标签<i class="fas fa-chevron-right p-1"></i></a> </div> </div> </div></div> </main> </main> </div> <script src="/lib/jquery.min.js"></script> <script src="/lib/popper.min.js"></script> <script src="/js/bootstrap.min.js"></script> <script src="/js/listen.js"></script> <script type="text/javascript" src="/plugins/lunr.min.js"></script> <script type="text/javascript" src="/plugins/auto-complete.js"></script> <link href="/plugins/auto-complete.css" rel="stylesheet"> <script type="text/javascript"> var baseurl = "\/"; </script> <script type="text/javascript" src="/plugins/search.js"></script> <script type="text/javascript" src="/plugins/favorites.js"></script> <script type="text/javascript" src="/plugins/clipboard.js"></script> <script> new ClipboardJS('.btn'); </script> <script> !function(p){"use strict";!function(t){var s=window,e=document,i=p,c="".concat("https:"===e.location.protocol?"https://":"http://","sdk.51.la/js-sdk-pro.min.js"),n=e.createElement("script"),r=e.getElementsByTagName("script")[0];n.type="text/javascript",n.setAttribute("charset","UTF-8"),n.async=!0,n.src=c,n.id="LA_COLLECT",i.d=n;var o=function(){s.LA.ids.push(i)};s.LA?s.LA.ids&&o():(s.LA=p,s.LA.ids=[],o()),r.parentNode.insertBefore(n,r)}()}({id:"Jvf7me2fcYRdEqf0",ck:"Jvf7me2fcYRdEqf0"}); </script> </body> </html>