jQuery SVG 插件:如何显示预定义的 SVG 图像

发布于 2024-10-20 05:36:02 字数 1114 浏览 2 评论 0原文

我正在尝试使用 jQuery SVG (http://keith-wood.name/svg.html) 在 HTML 页面中显示 .svg 文件。它应该很简单,但我无法让它工作。

我得到的唯一输出是一个大盒子(这是我用 CSS 设计的 div)和盒子里的“加载错误:”字样。我已经在 Chrome 和 Firefox 中尝试过了。在 Chrome 中,我必须将其运行为“chromium-browser --disable-web-security”。

这是代码:

<html>
<head>

    <style type="text/css">
        #canvas { width: 100%; height: 100%; border: 1px solid #484; }
    </style>

    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.min.js"></script>
    <script type="text/javascript" src="jquery.svg.min.js"></script>
    <script type="text/javascript" src="jquery.svgdom.min.js"></script>
    <script type="text/javascript" src="jquery.svganim.min.js"></script>
    <script type="text/javascript">

        $(document).ready ( function () {
            $('#canvas').svg({loadURL: 'lion.svg'});
        });

    </script>
</head>
<body>
    <div id='console'></div>
    <div id='canvas'></div>
</body>

I am trying to display an .svg file in a HTML page using jQuery SVG (http://keith-wood.name/svg.html). It should be pretty simple but I can not get it to work.

The only output I get is a big box (which is my div styled by CSS) and the words, "Error loading:" in the box. I've tried it in Chrome and Firefox. In Chrome I had to run it as "chromium-browser --disable-web-security".

Here's the code:

<html>
<head>

    <style type="text/css">
        #canvas { width: 100%; height: 100%; border: 1px solid #484; }
    </style>

    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.min.js"></script>
    <script type="text/javascript" src="jquery.svg.min.js"></script>
    <script type="text/javascript" src="jquery.svgdom.min.js"></script>
    <script type="text/javascript" src="jquery.svganim.min.js"></script>
    <script type="text/javascript">

        $(document).ready ( function () {
            $('#canvas').svg({loadURL: 'lion.svg'});
        });

    </script>
</head>
<body>
    <div id='console'></div>
    <div id='canvas'></div>
</body>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

雪花飘飘的天空 2024-10-27 05:36:02

需要注意的一件事是,url 是使用 jquery.ajax 调用加载的。所以我认为如果 lion.svg 是本地的,它就不会起作用。对我来说,如果我这样做,它就会起作用:

<html>
<head>

    <style type="text/css">
        #canvas { width: 100%; height: 100%; border: 1px solid #484; }
    </style>

    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.min.js"></script>
    <script type="text/javascript" src="http://keith-wood.name/js/jquery.svg.js"></script>
    <script type="text/javascript" src="http://keith-wood.name/js/jquery.svgdom.js"></script>
    <script type="text/javascript" src="http://keith-wood.name/js/jquery.svganim.js"></script>
    <script type="text/javascript">

        $(document).ready ( function () {
            $('#canvas').svg({loadURL: 'http://keith-wood.name/lion.svg'});
        });

    </script>
</head>
<body>
    <div id='console'></div>
    <div id='canvas'></div>
</body>

One thing to note is that the url is loaded using a jquery.ajax call. So I don't think it will work if the lion.svg is local. For me it works if I do:

<html>
<head>

    <style type="text/css">
        #canvas { width: 100%; height: 100%; border: 1px solid #484; }
    </style>

    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.min.js"></script>
    <script type="text/javascript" src="http://keith-wood.name/js/jquery.svg.js"></script>
    <script type="text/javascript" src="http://keith-wood.name/js/jquery.svgdom.js"></script>
    <script type="text/javascript" src="http://keith-wood.name/js/jquery.svganim.js"></script>
    <script type="text/javascript">

        $(document).ready ( function () {
            $('#canvas').svg({loadURL: 'http://keith-wood.name/lion.svg'});
        });

    </script>
</head>
<body>
    <div id='console'></div>
    <div id='canvas'></div>
</body>
鹤仙姿 2024-10-27 05:36:02

您不必使用脚本来包含独立的 svg 文件,但如果您愿意,也可以这样做(如示例所示)。就我个人而言,我发现通过引用包含 svg 更干净/更容易(例如 ),但这取决于您选择您想要的方式。

这里有一些包含 svg 的更多方法(来自SVG Primer),不需要使用脚本。

You don't have to use script to include the standalone svg file, but you can if you want to (as shown by your example). Personally I find it cleaner/easier to just include the svg by reference (e.g <object data="my.svg">), but it's up to you to choose whichever way you want.

Here are some more ways to include svg (from the SVG Primer), which don't require the use of scripting.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文