- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何避免在以下 jquery.timer.js 的第 10 行中使用 eval?
摆脱评估的原因是因为我的网站正在转向 CSP,并且现在需要“不安全评估”。
对于这个用例,也许有 eval() 的替代方案。
我有点陷入困境。非常感谢任何帮助。
;
(function($) {
$.timer = function(func, time, autostart) {
this.set = function(func, time, autostart) {
this.init = true;
if (typeof func == 'object') {
var paramList = ['autostart', 'time'];
for (var arg in paramList) {
if (func[paramList[arg]] != undefined) {
eval(paramList[arg] + " = func[paramList[arg]]");
}
};
func = func.action;
}
if (typeof func == 'function') {
this.action = func;
}
if (!isNaN(time)) {
this.intervalTime = time;
}
if (autostart && !this.isActive) {
this.isActive = true;
this.setTimer();
}
return this;
};
(...)
this.setTimer = function(time) {
var timer = this;
if (typeof this.action != 'function') {
return;
}
if (isNaN(time)) {
time = this.intervalTime;
}
this.remaining = time;
this.last = new Date();
this.clearTimer();
this.timeoutObject = window.setTimeout(function() {
timer.go();
}, time);
};
this.go = function() {
if (this.isActive) {
this.action();
this.setTimer();
}
};
if (this.init) {
return new $.timer(func, time, autostart);
} else {
this.set(func, time, autostart);
return this;
}
};
})(jQuery);
最佳答案
尽管如果 paramList
很大,则很费力且容易出错,但您可以手动设置变量值考虑到 paramList
不是动态创建的 。
对于自动启动
和时间
,您将使用以下内容:
if(func['autostart'] != undefined) {
autostart = func['autostart'];
}
if(func['time'] != undefined) {
time = func['time'];
}
请注意,此解决方案完全依赖于您提前知道 paramList
的内容。
在您提供的代码的上下文中,您可以像这样修改 this.set
:
this.set = function(func, time, autostart) {
this.init = true;
if (typeof func == 'object') {
/* Modified Code */
if(func['autostart'] != undefined) {
autostart = func['autostart'];
}
if(func['time'] != undefined) {
time = func['time'];
}
/* End Modified Code */
func = func.action;
}
if (typeof func == 'function') {
this.action = func;
}
if (!isNaN(time)) {
this.intervalTime = time;
}
if (autostart && !this.isActive) {
this.isActive = true;
this.setTimer();
}
return this;
};
关于javascript - 内容安全策略 'unsafe-eval' : How to avoid using eval() in javascript jquery. timer.js?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47459381/
已结束。此问题不符合 Stack Overflow guidelines .它目前不接受答案。 我们不允许提出有关书籍、工具、软件库等方面的建议的问题。您可以编辑问题,以便用事实和引用来回答它。 关闭
在我正在开发的 crate 中,我有几个 unsafe 函数,由于某些原因它们被标记为 explained in this answer .在 unsafe 函数中,我可以执行 unsafe 操作,就
我一直在尝试在我的网络应用程序中设置文本编辑器。在哪里访问文本编辑器我必须允许 script-src 'self' 'unsafe-inline' 'unsafe-eval' 和 style-src
我是后端开发人员,正在帮助前端团队部署 Web 服务器,同时我正在研究遇到内容安全策略的漏洞,如果我将 CSP header 设置为“内容安全策略:默认源代码‘自我’数据: {own_domain_1
Unsafe.putAddress(long address, long x) 之间有什么区别?方法和Unsafe.putLong(long address, long x)方法? 最佳答案 Java
考虑以下代码: const defaultState = () => { return { profile: { id: '', displayName: '',
上面有一条评论 public native void unpark(对象线程); “取消阻塞在park上阻塞的给定线程,或者,如果它没有阻塞,则导致后续对park的调用不阻塞。注意:此操作“不安全”,
我已将 unsafe.cpp 和 Unsafe.java 克隆到自定义版本。我要构建新的 JVM,但似乎我的 UnsafeNew.java 内联了 unsafe.cpp 方法,而不是新的 unsafe
为什么会出现以下错误? Unsafe code may only appear if compiling with /unsafe"? 我使用 C# 和 Visual Studio 2008 在 Wi
我正在用 C# 做一个项目,它可以从线性代数包中获益。我看过外面的那些,但我真的不想付钱,或者我发现它们不是很好。所以我决定自己写。 我读到 C++ 数组比 C# 数组快得多,但在 C# 中使用指针数
在 Java 中,java.lang.unsafe 包中有 Unsafe 类,它提供对操作的低级访问。 现在在我看来,JVM 需要支持Unsafe 类中可用的所有 方法,以便与 JLS 兼容,示例方法
我正在尝试将选项卡存储在本地存储中并在刷新页面上获取前面的选项卡,数据存储在本地但是在控制台上的时候我得到错误 Error: [$sce:unsafe] Attempting to use an un
导入类型化函数时,我收到 no-unsafe-call 和 no-unsafe-assignment eslint 错误。如果函数在同一个文件中声明,错误就会消失。 eslint 似乎无法获取导入函数
我正在尝试在 Visual Studio App Center 中构建 Xamarin iOS 应用程序。该解决方案包含两个项目。一个是 Xamarin iOS 项目。另一个是绑定(bind)库项目。
Unsafe Fileupload 1.client check 标题叫客户端check,文件校验应该是在客户端进行的。 可以先把一句话木马改成图片格式,然后再抓包修改回PHP格式。 一句话木马内容:
我想问一下第一个例子是否比第二个例子慢。 例子1:for, unsafe, unsafe, unsafe, etc for (var i = 0; i ' { } // end of class .
我尝试通过在 Controller 中生成链接将书签按钮添加到我的网站。 模板部分: + Add Controller 部分: $scope.getCode = fun
我注意到在 Java 7 中,集合类(在我的例子中是 ConcurrentLinkedQueue)使用 UNSAFE 类进行交换和查找操作。 偏移量似乎是在编译时声明中计算的: itemOffset
我有一张图片: 在 html 上我得到的结果是: unsafe:c:/var/vci/images/fleetImages/IMG_20150912_091552.jpg 我已经在app.js中添加
这是实现原生pinvok代码的类 虽然我无法验证它是否正确使用了 unsafe,但它似乎可以工作 不安全的签名 struct IO_COUNTERS { public
我是一名优秀的程序员,十分优秀!