我有以下代码可以正常工作:

                var svg_height = $("#svg-container").height();
                var svg_width = $("#svg-container").width();
                var name = "sketchpad";

    eval("window." + name + "= Raphael.sketchpad('"
                                + "svg-container" + "',{" + " width:"
                                + svg_width + "," + "height: " +           svg_height
                                + "," + "editing: true," + " });");


但是出于安全原因,我想避免使用eval。
我尝试了以下操作,但不起作用

window.sketchpad = Raphael.sketchpad("'svg-container',{width:"+ svg_width +",height:"+ svg_height +", editing: true}");


可以使用JSON解决吗?如果是,怎么办?
任何帮助将不胜感激。

最佳答案

免责声明:我对Raphael一无所知,只是翻译您的eval代码。

window[name] = Raphael.sketchpad("svg-container", {
                                        width: svg_width,
                                        height: svg_height,
                                        editing: true
                 });


您所拥有的功能几乎已经存在,只是有一些错误的引号将其弄乱了。

08-27 21:01