IE8 JavaScript弹出菜单”;第3行的堆栈溢出”;

IE8 JavaScript Popup "Stackoverflow at line 3"

本文关键字:3行 堆栈 栈溢出 JavaScript 菜单 IE8      更新时间:2023-09-26

我正在为IE8开发一个web应用程序。

问题是:我的JavaScript/JQuery代码显示弹出窗口"第3行堆栈溢出":

$(new Array(
    new Array(/'xE4/g, "ä"), //ä
    new Array(/'xF6/g, "ö"), //ö
    new Array(/'xFC/g, "ü"), //ü
    new Array(/'xC4/g, "Ä"), //Ä
    new Array(/'xD6/g, "Ö"), //Ö
    new Array(/'xDC/g, "Ü")  //Ü
)).each(function(){
    $("textarea[name=remarks]").val($("textarea[name=remarks]").val().replace(this[0], this[1]));
    $("input[name=firstname]").val($("input[name=firstname]").val().replace(this[0], this[1]));
    $("input[name=lastname]").val($("input[name=lastname]").val().replace(this[0], this[1]));
    alert("1"); //after popup "1" ==> stackoverflow popup appears...
});
alert("2"); //is not executed

此错误只出现在IE8中,没有其他浏览器,也没有出现在IE10中,也没有在其兼容模式中。。。

有人有解决方案吗
据我所知,也没有递归,对吧?

编辑:
错误消息不会出现在第一个循环之后。它实际上出现在第6个"1"-弹出窗口之后。。。

我真的很惭愧。。。

首先,我注意到,即使我删除了我认为是原因的代码,错误仍然存在。

然后我发现了错误的真正来源:我的应用程序使用了一个jQuery插件,它为输入&文本区域。

几周前,我修改了其中的一些内容作为错误修复,还写了这样的东西:

$(...).submit(function(){
  ...
  $(...).submit();
  ...
});

===>很好的递归…>_<

@尤里·塔拉班科感谢您提供的代码片段。