今天收到了一個需求,居然是后端給我傳過來一個JS代碼,然后前端去執行。
因為后端傳過來的JS代碼是一個字符串,所以剛開始有點懵,以前也沒有做過這樣的東西所以剛開始沒有方法。
這個項目是使用了前后端分離的格式,所以代碼在服務器渲染是不可能了,所以只能在瀏覽器端想方法。
再網上扎到了幾個方法,
一、使用Function方法,代碼為如下
var str = 'alert(1)';
(new Function(str))();
二、使用eval方法
var str = 'alert(1)';
eval(str)
三、如果你的項目是后端渲染的頁面可以接在<script></script>中渲染出來,這樣的話就不需要前端去處理了。
以上三個方法都可以使用,主要看你的項目需求來決定用什么了。