【问题标题】:Is the following valid XHTML 1.0 Transitional?以下是有效的 XHTML 1.0 过渡版吗?
【发布时间】:2011-03-04 22:58:26
【问题描述】:

w3c 验证器服务抱怨以下 html 无效。它不喜欢我的 javascript 中的 & 符号。但是在 javascript 字符串中允许使用 & 号,不是吗?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>Page Title</title>
    </head>
    <body>
        <script type="text/javascript">


           function search(query) {
             redir = "http://search.mysite.com/search?s=FIN&ref=&q=" + query;
             window.location.href = redir
             return false;
            }
        </script>

        <span>This is all valid HTML</span>

    </body>
</html>

【问题讨论】:

标签: javascript ampersand xhtml-transitional


【解决方案1】:

所有浏览器都会采用这个,但要使其有效 X(HT)ML,您需要将 Javascript 代码放在 CDATA 块中。

【讨论】:

    【解决方案2】:

    即使在 javascript w3c 验证器中也不喜欢 & 符号。尝试从验证器中评论您的 javascript

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
        <head>
            <title>Page Title</title>
        </head>
        <body>
            <script type="text/javascript">
            //<![CDATA[//><!--
               function search(query) {
                 redir = "http://search.mysite.com/search?s=FIN&ref=&q=" + query;
                 window.location.href = redir
                 return false;
                }
            //--><!]]>
            </script>
    
            <span>This is all valid HTML</span>
    
        </body>
    </html>
    

    【讨论】:

      【解决方案3】:

      不,它确实无效。如果要在 XHTML 文件中使用内联 JavaScript,则需要将 JavaScript 包装在 CDATA 中。如果你不想这样做,那么你就会被编码 &、 困住,这在 JavaScript 中可能会很痛苦。

      【讨论】:

        猜你喜欢
        • 2010-09-20
        • 2011-05-08
        • 2011-01-20
        • 2013-03-23
        • 2011-03-15
        • 2016-09-11
        • 2011-01-31
        • 2011-12-15
        • 2015-04-03
        相关资源
        最近更新 更多