后端传过来一个JS代码,前端拿到之后执行

今天收到了一个需求,居然是后端给我传过来一个JS代码,然后前端去执行。


因为后端传过来的JS代码是一个字符串,所以刚开始有点懵,以前也没有做过这样的东西所以刚开始没有方法。


这个项目是使用了前后端分离的格式,所以代码在服务器渲染是不可能了,所以只能在浏览器端想方法。


再网上扎到了几个方法,


一、使用Function方法,代码为如下




var str = 'alert(1)';

(new Function(str))();

 


二、使用eval方法




var str = 'alert(1)';

eval(str)

 


三、如果你的项目是后端渲染的页面可以接在中渲染出来,这样的话就不需要前端去处理了。


 


以上三个方法都可以使用,主要看你的项目需求来决定用什么了。


请使用浏览器的分享功能分享到微信等