【问题标题】:Eval function execution leads to internal erroreval函数执行导致内部错误
【发布时间】:2015-07-20 08:37:42
【问题描述】:

我正在使用 IE Edge 浏览器分析我们的应用程序,同时我发现了一个奇怪的行为。执行 eval 函数会导致以下错误。 甚至尝试过像这样的示例:

eval("2");

错误: SCRIPT51:内部错误

请帮我解决这个问题,在其他浏览器中我没有遇到这个问题。

【问题讨论】:

  • 这似乎是一个难以解决的浏览器问题。还有一个根本不使用eval 的原因。
  • 你需要eval做什么?
  • @maja,我无法避免使用eval,我们的框架在很多地方都引用了eval。
  • 我相信eval("2") 是完全合法的用法,IE 没有理由抛出这样的错误

标签: javascript internet-explorer microsoft-edge


【解决方案1】:

恐怕这似乎是 IE Edge 的浏览器问题。 除了摆脱所有eval 呼叫之外,您无法解决此问题。

由于您的应用程序使用了许多eval 函数(即bad idea),因此摆脱它们可能不是一种选择。你必须等到微软修复它的浏览器。

但是,由于许多网页仍在使用eval,我相信该错误将得到高度重视,并且可能会在正式发布之前得到修复。

【讨论】:

  • 或者它会随错误一起发布,并且 eval 声明一个坏主意。微软作品。没有人说没有错误。
【解决方案2】:

似乎我找到了根本原因,下面的技巧解决了我的问题。

eval 函数需要在窗口上下文中专门调用(虽然实际上不需要)

Edge 浏览器在评估期间似乎遇到了一些上下文问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-24
    • 1970-01-01
    • 2020-03-11
    • 2018-01-11
    • 2018-10-31
    • 2011-09-07
    相关资源
    最近更新 更多