避免在raphael中使用eval.画板功能
Avoiding use of eval in raphael.sketchpad function
我有下面的代码,按预期工作:
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解决这个问题吗?如果是,怎么做?
免责声明:我对拉斐尔一无所知,只是翻译你的eval
代码。
window[name] = Raphael.sketchpad("svg-container", {
width: svg_width,
height: svg_height,
editing: true
});
你的函数已经差不多了,只是有几个错误的引号把它弄乱了。
这个应该也可以。
window.sketchpad = Raphael.sketchpad("svg-container", {
width: svg_width,
height: svg_height,
editing: true
});
这里不需要使用name变量
相关文章:
- 添加文字和评论功能更新Div
- JavaScript打印功能使日历停止工作
- 每当您在选择器内移动鼠标时,悬停功能就会重复
- 递归使用 eval() 是检查程序执行的好方法吗?
- 如何防止网页加载后自动启动功能
- 除修剪外的其他功能
- 悬停功能触发器
- 使用angularjs向浏览器发送servlet响应(下载功能)
- 为什么忽略了eval()代码中的语法错误
- 删除CKEditor工具栏按钮,但不删除功能
- 异步facebook功能
- 如何将chrome扩展功能移植到移动设备(特别是jquery和trello)
- 推荐在JavaScript中执行存储为字符串的函数,而不是使用eval
- jQuery滚动功能只工作一次
- Graphiti中是否有任何工具提示功能
- React redux初始化功能,无论状态变化如何
- 在哪里可以学习ECMAScript标准中尚未包含的JavaScript功能
- 正在获取select上的功能id
- 解释$apply和$eval |我可以用其他功能替换它们吗 |AngularJS.
- 避免在raphael中使用eval.画板功能