【问题标题】:Pass SVG string from cookie to RaphaelJS将 SVG 字符串从 cookie 传递给 RaphaelJS
【发布时间】:2011-11-23 07:13:38
【问题描述】:

我有一个名为“plan”的 cookie,它包含一个字符串值,表示 RaphaelJS 画布和其中的一些对象作为 SVG。确切的路径等可能会有所不同,但通常是保存到 cookie 中的内容:

<svg height="100%" version="1.1" width="100%" xmlns="http://www.w3.org/2000/svg" style="overflow: hidden; position: relative;"><desc>Created with Raphaël 2.0.1</desc><defs/><path style="" fill="none" stroke="#d9e026" d="M153,74L384,74L384,304L0,304L0,150L153,150L153,74"/><path style="" fill="#333333" stroke="#d9e026" d="M160,160L160,220L220,220A60,60,0,0,0,160,160" transform="matrix(1, 0, 0, 1, -103, 84)"/><rect x="121.53846153846155" y="158.5" width="76.92307692307692" height="3" r="0" rx="0" ry="0" fill="#333333" stroke="#d9e026" style="" transform="matrix(1, 0, 0, 1, -89, -9)"/><rect x="83.0769230769231" y="156" width="76.92307692307692" height="5" r="0" rx="0" ry="0" fill="#333333" stroke="#d9e026" style="" transform="matrix(0, -1, 1, 0, 223.038, 364.039)"/></svg>

现在我需要能够将这些数据传递到新页面上的新 raphaeljs 对象中,并向其中添加更多路径等。

任何人都可以建议如何做到这一点,因为我正在努力知道从哪里开始?

谢谢!

【问题讨论】:

    标签: svg raphael


    【解决方案1】:

    Raphael 2 中有一个令人兴奋的新功能,它也简化了这些任务 Paper.add

    http://www.irunmywebsite.com/raphael/additionalhelp.php?v=2&q=paper.add

    【讨论】:

    • 啊,谢谢查斯宾。所以根本不需要使用上面的那个库吗? Paper.add 将处理重新实例化 Raphael 实例的所有方面(包括转换、旋转等)?
    • 其实,虽然你的paper.add网站上有demo,但是官方文档raphaeljs.com/2.0好像看不到。它是否太新(v2.0.1)以至于还没有记录?
    • Dan 单击 Raphael.add 旁边的 Raphael 链接 Raphael.add 功能是在 2.01 中添加的,但这些链接(在演示旁边的我的网站上)总是指向最新的文档...跨度>
    【解决方案2】:

    更详细地研究这一点,事实证明并不是那么简单。 SVG 代码仅在较新的浏览器 (IE8+) 上可用,因此这种方法在 IE7 或更低版本中不起作用。不过很方便的是,Raphael 对象确实存储了所需的数据,以便在它到达 DOM 之前能够使用。我发现有一个非常方便的插件可以序列化 Raphael 数据,然后在输出时反序列化。虽然我在反序列化部分遇到了一些问题,但理论上这应该是解决方案:https://github.com/jspies/raphael.serialize

    所以插件本质上允许我这样做:

    Raphael canvas > serialized JSON object > String > Cookie > String > serialized JSON object > Raphael canvas.
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-13
    • 2020-04-08
    • 2016-06-01
    相关资源
    最近更新 更多