我已经阅读了如何通过使用匿名函数使用setTimeout来修复内容安全策略中需要修复unsafe eval
的答案。
但是,我使用包含以下内容的脚本: -
$ = function (a) {
return /^f/.test(typeof a) ? /in/.test(b.readyState) ? setTimeout('$('+a+')', 9) : a() : new i(a)
}
我不能为我的生活找出如何将其转换为使用匿名函数的脚本,或者如果有办法重写它。
如果您需要查看更多代码,则代码是ki.js的一部分。
我试过了
return /^f/.test(typeof a) ? /in/.test(b.readyState) ? setTimeout(function(){'$('+a+')'}, 9) : a() : new i(a)
但这显然不会起作用!我想我只是睡眠不足,但有人能指出我正确的方向!
如果您要使用自己的匿名函数,则无需使用字符串引用。只需在里面使用普通代码。
(不确定那个内容安全策略的事情,只是帮助语法。如果这不能完全解决问题,我将删除答案并将其作为评论发布。)
$ = function (a) {
return /^f/.test(typeof a)
? /in/.test(b.readyState)
? setTimeout(function() { $(a); }, 9)
: a()
: new i(a);
};