星空网 > 软件开发 > Java

关于页面刷新或者调用方法事获取不到元素信息或者出现缺少对象错误的换位思考setTimeout的使用

这两天客户的需求不能定下来,做闲人好长时间了,不如来整理下最近碰到的一些个小麻烦。

正题:

场景一、

最近在开发的过程中使用到了百度的富客户端文本编辑器(ueditor)---这是一款功能很强大的文本编辑器,

现在需求:当在这个页面打开以后需要把用户上次编辑的信息写回到此文本编辑器中去,这里使用的方法是ueditor给定的方法。同时使用iframe对此编辑器进行了页面嵌套的显示。

关于页面刷新或者调用方法事获取不到元素信息或者出现缺少对象错误的换位思考setTimeout的使用关于页面刷新或者调用方法事获取不到元素信息或者出现缺少对象错误的换位思考setTimeout的使用
 1  //将html代码展示到编辑器中。 2   function insertHtml(value) { 3     setContent(""); 4     UE.getEditor('newsContent').execCommand('insertHtml', value) 5   } 6   //获得编辑器的HTML代码。 7   function getContent() { 8    return UE.getEditor('newsContent').getContent(); 9   }10   //设置编辑器内容,非html形式用于设置编辑器为null,也可以使用insertHtml("");11   function setContent(isAppendTo) {12     UE.getEditor('newsContent').setContent(isAppendTo);13   }

获取与写入编辑器内容方法

当我在单前页面直接使用setContent(data)进行数据写入的时候发现当页面刷新完成以后并不是每一次都能成功的写入到文本编辑器中去,那么问题来了,为什么不会每次都能成功,经过调试发现没有报出任何错误。。。。试了一些办法,后来发现当页面加载的时候并不能直接使用iframe子页面中所定义的方法,需要在当前页面全部加载完成以后才可以调用相关的方法,在此处写入数据的时候加上setTimeout完美解决问题

关于页面刷新或者调用方法事获取不到元素信息或者出现缺少对象错误的换位思考setTimeout的使用关于页面刷新或者调用方法事获取不到元素信息或者出现缺少对象错误的换位思考setTimeout的使用
1 setTimeout(function(){2  eWebEditor.setContent(content);3 },1000); 4     5     6     

解决代码

场景二、

现在需求:我在父页面通过jquery插件colorbox打开了一个子页面(A),在这个页面上进行操作的时候因为不想继续打开新的子页面所以我在这里用的是parent.$.colorbox从父页面直接打开了一个新的colorbox(B)来替换了当前的这个子页面,当在B页面操作完成以后我需要通过在父页面设置的一个方法转换到原来由父页面打开的子页面A去。

这时我可以通用过parent获取到父页面的全部信息了,也可以实现了基本的功能,但是在浏览时下面会报出一个 SCRIPT5007: 缺少对象 的错误,代码书写的正确,A页面正常使用,B页面也能正常工作,只有在当我在B页面通过父页面方法跳转到A页面时浏览器会报出这个异常,但是可以跳转到B页面的。想了好长时间的思路也试过了好多方法都不能解决这个问题,后来发现当我发出事件时如果有停顿,也就是alert的提示框没有迅速关闭时这个错误就不会发生了,这是我就想到了setTimeout,一用果然没有再出现这种错误了。

现在还在纠结着个问题到底是为什么,,,,,

关于页面刷新或者调用方法事获取不到元素信息或者出现缺少对象错误的换位思考setTimeout的使用关于页面刷新或者调用方法事获取不到元素信息或者出现缺少对象错误的换位思考setTimeout的使用
setTimeout(function(){ parent.$("#btn_upd").click();},500); 

解决代码

其实在父页面打开另外一个也页面的话当前的这个页面应该是关闭了的吧。还是说也是存在的只是显示被覆盖了,设置完setTimeout加载完成后就可以调用方法了?

 




原标题:关于页面刷新或者调用方法事获取不到元素信息或者出现缺少对象错误的换位思考setTimeout的使用

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

抢跑2024!品牌出海必备1月营销日历来咯~:https://www.kjdsnews.com/a/1695257.html
TME律所代理英国赛车手Lando Norris发起商标维权案:https://www.kjdsnews.com/a/1695258.html
这款产品上架就侵权!警惕年底被收割!!:https://www.kjdsnews.com/a/1695259.html
【干货】TRO案件遇到GBC怎么办?不要慌!应对方法在这里!:https://www.kjdsnews.com/a/1695260.html
Temu欧洲市场流量现状,最新数据公布:https://www.kjdsnews.com/a/1695261.html
TikTok与Tokopedia联手,东南亚电商格局再生变:https://www.kjdsnews.com/a/1695262.html
活动回顾 | 千亚麦佳携手MoonSees呈现精彩亚马逊运营管理课程:https://www.kjdsnews.com/a/1836386.html
生日景点免费 上海景点生日免费景点:https://www.vstour.cn/a/363173.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流