草庐IT

DATA_EVAL

全部标签

javascript - jQuery $(this).data() 正在返回旧值

我有以下代码:updateColors=function(){$(".color-preview").each(function(){return$(this).css('background-color',$(this).data('color'));});returnnull;};我在第3行打了一个断点,然后在控制台中输入以下内容:>this​​>$(this).data('color')"#9900ff"如您所见,实际元素的data-color是#ffff00。但是,jQuery的.data()方法返回#9900ff,是元素的data-color,但已更改(使用断点,我可以看到它

javascript - 当网页和 ajax 调用来自同一台服务器时,JSON.parse() 真的比 eval() 更安全吗?

我知道JSON.parse()可以防止攻击者将javascript注入(inject)到响应中,因为JSON解析器只是一个文本解析器,而不是脚本解析器,所以请不要关闭这是所有其他问题的重复谈谈那个。这是一个不同的问题。如果攻击者可以劫持您的Ajax调用并将javascript放入Ajax调用中,他们是否也有可能劫持您的实际网页并将任意javascript放入您的页面,从而完成完全相同的攻击?当然,使用JSON.parse()而不是eval()不会有任何损失(除非您的环境中还没有JSON解析器并且必须添加更多代码才能获得),但是在什么情况下如果您的网页由与您的ajax调用相同的主机提供服

Javascript/jQuery : Reordering divs according to data-attribute values

这个问题在这里已经有了答案:关闭9年前。PossibleDuplicate:Sortelementbynumericalvalueofdataattribute我想根据设置在它们上的数据属性重新组织div,范围从最高整数到最低整数。现在,我将所有数据插入一个数组并对其进行排序,但我不确定如何进行。我如何使用它来重组其父div内的div?varprices=newArray();$(this).children('.listing-item').each(function(){varprice=parseInt($(this).attr('data-listing-price'));pr

javascript - 在不使用 eval 的情况下通过字符串名称访问命名空间的 javascript 对象

我遇到了需要从服务器访问javascript对象的情况。服务器返回函数或对象的字符串名称,我将根据其他元数据对对象进行不同的评估。最初我正在评估(eval([string]))并且一切正常。最近我正在更新函数以不使用eval以确保安全安心,但我遇到了命名空间对象/函数的问题。具体来说,我尝试用window[name]替换eval([name])以通过全局对象的方括号语法访问对象vs评估。但是我遇到了命名空间对象的问题,例如:varstrObjName='namespace.serviceArea.function';//ifIdovarobj=eval(strObjName);//wo

javascript - JavaScript 中 eval 的替代方案是什么?

我有一些看起来像这样的代码:functionStrippedExample(i1,i2,i3,i4,i5,i6,i7,i8){this.i=[];for(vari=1,j=0;i0){this.i[j++]=k;}}}FireBug分析器声称第二长的函数是eval(),占用了将近6%的运行时间。EveryonesaysevalisEVIL(糟糕)和缓慢(正如我发现的那样),但我真的不能做任何其他事情-服务器只是将数据从数据库中拉出并推送到浏览器。我有什么选择?我可以在服务器上做同样的事情,但这只会将负担转移到更高的链条上。我无法更改数据库布局,因为所有内容都与这8个变量Hook并且是一

javascript - Angular 力矩 : Moment Timezone has no data for America/New_York

从服务器收到的日期是UTC时区,我需要将其转换为特定时区,例如:America/New_York。以下是相同的代码但是在这样做时我得到了以下错误:MomentTimezonehasnodataforAmerica/New_York.Seehttp://momentjs.com/timezone/docs/#/data-loading/.但是America/New_York是moment的已知时区,但它仍然要求我添加时区。 最佳答案 您需要加载以下所有内容:时刻时刻时区moment-timezone的时区数据Angular矩关于mom

javascript - (function eval () {}) 如果函数体处于严格模式会抛出语法错误?

为什么这段代码会抛出错误?//globalnon-strictcode(functioneval(){'usestrict';});现场演示:http://jsfiddle.net/SE3eX/1/所以,我们这里有一个命名函数表达式。我想明确指出这个函数表达式出现在非严格代码中。如您所见,它的函数体是严格的代码。严格模式规则在这里:http://ecma-international.org/ecma-262/5.1/#sec-C相关项目符号是这个(它是列表中的最后一个):ItisaSyntaxErrortousewithinstrictmodecodetheidentifierseva

javascript - CSP : How to allow unsafe-eval for a given URI prefix (Firefox)

我正在尝试使用MathJax作为我们网络应用程序的一部分,它使用非常严格的ContentSecurityPolicy(CSP).问题是MathJax被编码为使用eval()[确切地说,以Function()的形式],默认情况下CSP认为它不安全。我目前正在使用以下CSPheader:X-Content-Security-Policy:allow'self';img-src*;media-src*;frame-src*;font-src*;frame-ancestors'none';style-src*;report-uri'/:save-csp-violation';这会导致MathJ

javascript - 获取 : post json data, application/json 更改为 text/plain

我使用的是chrome53.0.2785.116m(64位)。我在devtools上得到了以下标题。该问题标有“//”注释。内容类型真的不允许我们将其设置为application/json,我已经尝试了100种不同的方法。importfetchfrom'isomorphic-fetch';constoption={method:'POST',mode:'no-cors',headers:{'Accept':'application/json','Content-Type':'application/json'},body:JSON.stringify({'aa':'bb'})}fetc

javascript - 为什么 webpack 以字符串形式创建输出 js 并使用 eval 函数部署它?

我的webpack.config.js文件如下:varpath=require('path');varwebpack=require('webpack');varCommonsChunkPlugin=webpack.optimize.CommonsChunkPlugin;varautoprefixer=require('autoprefixer');varHtmlWebpackPlugin=require('html-webpack-plugin');varExtractTextPlugin=require('extract-text-webpack-plugin');varCopyW