`
liuzhster
  • 浏览: 15744 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

代替eval的方法

 
阅读更多
//预选处理被加载页面的JS
function preExecuteScript(data){
    //查找data中的JS
    var js = findJavaScript(data);
    executeScript(js);
}

// 处理被加载页面的JS
function executeScript(data){
    if (window.execScript)
        window.execScript(data);
    else
        eval.call(window, data);
}

/* 查找data中的JS代码 */
function findJavaScript(data){
    var js = '';
    var regStr = new RegExp('(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)', 'img')
    var result = data.match(regStr);
    for(var i=0;i<result.length;i++){
    js += result[i].replace(/<\/?script.*?>/img,'');
    }
return js;
}
 
分享到:
评论

相关推荐

    eval 加密和解密

    在描述中提到的博客链接(https://jickcai.iteye.com/blog/400994)可能详细解释了如何在实际项目中安全地使用`eval`进行加密和解密操作,以及如何利用其他工具代替`eval`。这个链接指向的是ITEYE博客平台上的一个...

    eval函数的一些用法

    1. 使用函数工厂:通过创建函数并传入字符串参数来代替`eval()`。 2. 使用`new Function()`构造函数:与`eval()`类似,但只接受一组参数和一个包含代码的字符串。 3. JSON.parse():对于JSON数据,始终优先使用这个...

    winform Eval的功能

    - Lambda表达式:对于简单的表达式计算,可以使用lambda表达式来代替,它们在编译时已知,因此更安全。 - 动态方法:.NET Framework允许创建动态方法,这是一种更安全的执行动态代码的方式,因为它们可以限定在...

    javascript中eval函数用法分析.docx

    由于`eval()`函数的安全性和性能问题,推荐使用其他方法来代替它,如使用`new Function()`构造函数来创建和执行函数。 例如: ```javascript var code = "var x = 10; var y = 20; return x + y;"; var fn = new ...

    js下用eval生成JSON对象

    尽管`eval()`提供了一种简便的方法,但为了提高代码的安全性和可维护性,建议使用`JSON.parse()`方法来代替`eval()`。`JSON.parse()`不仅能够更安全地解析JSON字符串,而且还支持处理各种异常情况,例如非法JSON数据...

    Javascript中eval函数的使用方法与示例

    由于 eval() 的安全和性能问题,通常建议寻找替代方案,如使用对象和数组来存储和访问数据、使用模板字符串来代替字符串拼接,或使用其他函数(如 setTimeout 和 setInterval)来代替 eval() 动态执行代码。...

    JavaScript中的eval&#40;&#41;函数使用介绍

    在许多情况下,可以使用其他技术代替eval(),如使用函数构造器(`new Function`)或者简单的字符串操作。例如,要计算一个字符串表示的数学表达式,可以创建一个新函数来执行计算,而不是使用eval(): ```javascript ...

    Eval 函数 | Execute 语句 | ExecuteGlobal 语句使用说明

    Eval 函数 计算一个表达式的值并返回结果。  [result = ]Eval&#40;expression&#41; 参数 result 可选项。 是一个变量,用于接受返回的结果。...Eval 方法总是采用第二种解释,而 Execute 语句总是采用第一种

    Javascript中Eval函数的使用说明

    在某些情况下,可以使用`new Function()`或者`Function`构造函数来代替`eval()`,它们同样可以动态创建函数,但通常被认为比`eval()`更安全,因为它们不会在全局作用域中执行代码。 总的来说,JavaScript的`eval()`...

    eval-app

    因此,通常会建议使用沙箱环境、限制作用域或使用“new Function”代替“eval”,以降低风险。 在实际应用中,为了提升用户体验,"eval-app"可能还涉及到了错误处理机制,当用户输入的代码出错时,能够提供友好的...

    PHP函数eval&#40;&#41;介绍和使用示例

    考虑到安全问题,通常有更安全的替代方法来实现类似的功能。例如,使用数组、对象或者预定义的函数来代替动态创建变量。如果需要解析简单的模板或配置文件,可以使用解析器库,如 `sprintf()` 或 `strtr()`。对于更...

    javascript eval函数深入认识

    在大多数情况下,可以使用其他技术,如立即执行函数表达式(IIFE)或 `new Function` 来代替 `eval`。此外,`JSON.parse` 可用于解析 JSON 字符串,以替代使用 `eval` 处理 JSON 数据。 总之,`eval` 是一个强大的...

    eval

    不过,为了安全起见,通常推荐使用`JSON.parse()`代替`eval()`来解析JSON,因为前者专门为此目的设计,不会执行任何非JSON格式的代码: ```javascript let jsonObject = JSON.parse(jsonString); console.log...

    了解一点js的Eval函数

    1. **使用函数工厂**:通过创建函数并传递参数来代替`eval()`执行代码。 2. **使用`new Function()`**:虽然这个方法也存在安全问题,但相比`eval()`稍微安全一些,因为它不能访问父作用域的变量。 3. **利用ES6的...

    JavaScript必知必会(五) eval 的使用

    当JavaScript代码需要被其他方式解析和执行时,考虑使用如JSON.parse()这样的方法来代替eval。 9. 如果你必须使用eval,请确保传递给eval的代码是可控的、安全的,且在执行前对其内容进行充分的检查和清理。 10. ...

    Python学习笔记整理之输入输出、python eval函数

    如果仅需要将字符串转换为特定类型,如整数或浮点数,可以使用`int()`或`float()`函数代替`eval()`,这样更安全。 总结起来,本篇学习笔记主要涵盖了Python中的变量自动类型推断、`input`和`print`函数的使用、以及...

    json2 json

    parse方法使用的eval方法做theparsing的,守着几个正则表达式到捍卫againstaccidental的代码执行隐患。这个文件在当前的浏览器,什么也不做,更为偏好json2.js确实内置在JSON object.json.js:这个文件做的一切。它...

    JavaScript eval&#40;&#41; 函数介绍及应用示例

    JavaScript 的 `eval()` 函数...通常,更安全和推荐的做法是使用函数、模板字符串或其他 JavaScript 功能来代替 `eval()` 完成相同的工作。在处理用户输入或动态代码时,务必避免使用 `eval()`,以防止潜在的安全风险。

    将字符串转换为json对象的方法_名扬四海.docx

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它...使用`JSON.parse`代替`eval`可以提高程序的安全性和效率,而当不得不使用`eval`时,务必确保字符串是安全的,并且在解析前对其进行适当的预处理。

    eveal.txt

    - 使用函数和对象的方法来代替直接执行字符串。 - 使用模板字符串和函数构建动态内容。 - 对于更复杂的情况,考虑使用函数工厂模式或动态模块加载技术。 #### 五、示例代码分析 在提供的示例代码中: ```...

Global site tag (gtag.js) - Google Analytics