我会很简短,希望我能正确地解释我的情况。这是我的设想。jQuery slider插件有一个匿名回调方法。我想让管理员能够为该回调方法创建一个函数。因此,从插件的添加/编辑页面,管理员有一个文本区域来输入jQuery代码。现在,textarea输入保存到数据库中,当使用wp\\u localize\\u script()传递时,它将作为字符串传递,而不会被识别为Javascript/jQuery代码。到目前为止,我只能使用eval()使其工作,以便识别并作为Javascript/jQuery函数运行。
在管理页面上:
<textarea id="callback" name="callback" rows="10" ><?php echo $callback; ?></textarea>
在wp\\u localize\\u script()数组上:
wp_localize_script( \'init_file\', \'slider_option\', $config_array );
$config_array = array(
...
\'onSliderEnd\' => $callback,
...
);
在初始化jQuery文件上:
$(\'body\').slider({
...
\'onSliderEnd\': function(){ eval( slider_option.onSliderEnd; ); },
...
});
这是使用eval()的安全方法吗?还有其他建议吗?还是我应该不允许这样的选择?
提前感谢您的回复。