gpt4 book ai didi

javascript - IE7不完全支持javascript的insertBefore方法吗?

转载 作者:搜寻专家 更新时间:2023-11-01 04:11:27 24 4
gpt4 key购买 nike

我有以下代码,可以在 Chrome、IE8 和 FF 中完美运行。但是,当我使用 IE7 对其进行测试时出现错误。有人知道这里发生了什么吗?

 function do_replace(s, p1,p2,p3,child_node,syn_text) {
reg = new RegExp('[h\|H][1-7]');
if(p1.length>0){ //this might not be necessary
//create textnode
var text_node = document.createTextNode(p1);
child_node.parentNode.insertBefore(text_node,child_node); //errors out here in IE7
}

代码在最后一行出现错误 - IE7 给出“htmlfile:无效参数”。当我通过调试器查看代码时出错。运行此脚本时,child_node、parentNode 和 text_node 看起来与 Firefox 和 Chrome 完全相同。

有什么想法吗?还是 IE7 只是不支持这种方法以及其他浏览器?

谢谢

最佳答案

我没有让这个问题悬而未决,而是找出我的代码出了什么问题:

我使用了一个广泛的框架集(糟糕!!),当我调用 text_node = document.createTextNode() 时,我并没有在我的应用程序所在的框架中执行此操作。

我通过显式调出框架以在以下位置创建对象来修复此问题:

var text_node = MainFrame.child_frame.WhySoManyFrames.document.createTextNode(p1);

这样做之后,insertBefore 方法就完美了!

希望这能帮助任何正在看这个问题的人——我知道这花了我很长时间和很多挫折才弄明白!

关于javascript - IE7不完全支持javascript的insertBefore方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5172202/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com