xhtml - 如何在 xHTML 中验证 noscript+meta refresh 标签?

标签 xhtml w3c-validation xhtml-1.0-strict

对于不支持 JavaScript 的访问者,我将他们重定向到某个页面 - “js.html”。

为此,我的所有文件中都有以下内容:

<noscript>
<meta http-equiv="Refresh" content="0;URL=js.html" />
</noscript>

当然,这不会在 XHTML 中验证,因为 noscript 必须放在 <body> 中。 .
但是当我将该代码放在文档正文中时,又出现了另一个错误,因为元标记只能在 <head> 中使用。部分,所以我在这里陷入了无限循环。

有没有办法让这个验证?它适用于所有浏览器,所以没什么大不了的,我只是想验证我的应用程序。

最佳答案

您可以这样做:

将元插入您的脑海中,但刷新时间为 2 秒。紧挨着那个地方的 SCRIPT 标签可以删除元刷新。所以任何 JS 用户都不会被重定向:

<meta id="refresh" http-equiv="Refresh" content="10;URL=js.html" />
<script type="text/javascript">
    $('refresh').remove();
</script>

浏览器可能已经“提到”了元刷新。所以你可以使用 JavaScript 在它周围写一个开始和结束的 HTML 注释(包括一个开始脚本标签来关闭第二个 document.write 的脚本标签):
<script type="text/javascript">
    document.write("<!-- ");
</script>
<meta http-equiv="Refresh" content="2;URL=js.html" />
<script type="text/javascript">
    document.write(' --><script type="text/javascript">');
</script>

我可以成功测试这个。

只是关于我如何处理非 js 用户的提示。我有一个名为“js”的 css 类,我将它添加到任何应该只对 javascript 用户可见的元素中。通过javascript,我添加了一个包含“js”类规则的css文件,该文件显示了“js”类的每个元素。所有链接(功能)都是经过设计的,它们可以在没有 javascript 的情况下使用,也可以在按住 CTRL 的同时单击链接的新选项卡中使用。

关于xhtml - 如何在 xHTML 中验证 noscript+meta refresh 标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3610030/

相关文章:

html - div 问题 : height not extending with contents

jquery - 为什么下拉菜单会压低下方的div

php - 在此上下文中,元素 p 不允许作为元素 dl 的子元素。 (抑制来自该子树的更多错误。)

html - 将 block 元素的父级设置为行内显示是否违法?

html - XHTML 1.0 Strict 中的自定义数据

xml - 如何? xmlstarlet 通过 id 提取 HTML 数据

java - 如何在 Java 中解码 XHTML 和/或 HTML5 实体?

javascript - W3C 验证器通过 ajax 在本地主机上离线

css - (X)HTML+CSS 验证警告

css - 扩展一个空的 div 页面的长度