Fancybox工作在.html但不在.xml中

时间:2013-01-04 16:08:27

标签: jquery fancybox

我正在开发一个大学项目,并希望在XHTML页面上使用Fancybox,格式为.xml格式。

现在的问题是,使用.html文件是有效的,但在.xml文件中使用几乎相同的代码根本不起作用。意味着fancybox的路径是正确的。

这是.xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
  SYSTEM "about:legacy-compat">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>fancybox testing</title>
        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
        <script type="text/javascript" src="fancybox/source/jquery.fancybox.js?v=2.1.3"></script>
        <link rel="stylesheet" type="text/css" href="fancybox/source/jquery.fancybox.css?v=2.1.3" media="screen" />

        <script type="text/javascript">
            $(document).ready(function(){
                $(".fancybox").fancybox();
            });
        </script>   
    </head>

    <body>
        <div>
            <a class="fancybox" href="1.png">image</a>
        </div>
    </body>
</html>

.html文件中的此代码正常运行。 知道为什么吗?我需要.xml中的fancybox: - /

谢谢

1 个答案:

答案 0 :(得分:1)

请注意,XML与XHTML不同。

XML是可扩展的标记语言(您可以创建自己的标记),而XHTML是“完美的”HTML。如果您使用.XML扩展名,则服务器会向您的浏览器发送一组不同的标题(告诉浏览器它是一个XML页面,因此浏览器不会将其显示为HTML网页),而不是使用.XHTML扩展名(标题告诉您的浏览器它是'superclean'HTML)。

如果您无法更改文件扩展名,则应更改服务器发送的标头(如果请求此文件)。否则这将无效,因为浏览器不知道如何处理XML。