如何获取一个页面中所有子苹果小组件页面怎么删除全部加载完成

Webbrowser控件判断网页加载完毕的简单方法
一般情况下,当ReadyState属性变成READYSTATE_COMPLETE时, Webbrowser控件会通过触发DocumentCompleted事件来指示网页加载完毕。但当加载的网页包含frame时,可能会多次触发该事 件,所以不能简单地通过它来判断网页加载完毕。从微软的官方网站上了解到,并非每个frame都对应了一个 DocumentCompleted事件,只有触发了DownloadBegin事件的frame才会有相应的DocumentCompleted事件。 另外,最外层的frame总是最后触发DocumentCompleted事件。DocumentCompleted事件具有一个IDispatch *类型的参数,它指示了是在哪个frame上触发的该事件。所以,要判断文档是否加载完毕,只需要判断IDispatch *参数是否是Webbrowser控件的IDispatch。微软support网站上关于这个问题的说明:
http://support.microsoft.com/kb/180366/这 个方法用到了COM相关的知识,在没有现成代码的情况下,对于像我这样从.NET开始进入Windows平台的程序员来讲理解和实现起来都有一定的难度。 尤其是.NET 2.0下的Webbrowser控件是对Webbrowser COM组件的不完全封装,我在考察.NET 2.0 Webbrowser的WebBrowserDocumentCompletedEventArgs后并未发现有IDispatch参数或相关参数。不知 道是不是在封装过程中被省去了。希望哪位高手能告诉我如何用C#实现上面的方法,先在此谢过!不过,利用前面提到的最外层的frame总是最后触发DocumentCompleted事件,还有一种更为简单的方法:1. 引入一个计数器变量,初始值为0;2. 当Webbrowser控件的DownloadBegin (.NET 2.0中的Navigated)事件发生时对计数器加一;3. 当Webbrowser控件的DownloadCompleted事件发生时对计数器减一;4. 计数器减为0说明文档加载完毕主要代码:
添加事件响应函数
.webBrowser.Navigated
System.Windows.Forms.WebBrowserNavigatedEventHandler(webBrowser_Navigated);
.webBrowser.DocumentCompleted
System.Windows.Forms.WebBrowserDocumentCompletedEventHandler(
.webBrowser_DocumentCompleted);
事件响应函数
webBrowser_Navigated(
sender, WebBrowserNavigatedEventArgs e)
webBrowser_DocumentCompleted(
sender, WebBrowserDocumentCompletedEventArgs e)
没有更多推荐了,Webbrowser控件判断网页加载完毕的简单方法
一般情况下,当ReadyState属性变成READYSTATE_COMPLETE时,Webbrowser控件会通过触发DocumentCompleted事件来指示网页加载完毕。但当加载的网页包含frame时,可能会多次触发该事件,所以不能简单地通过它来判断网页加载完毕。
从微软的官方网站上了解到,并非每个frame都对应了一个DocumentCompleted事件,只有触发了DownloadBegin事件的frame才会有相应的DocumentCompleted事件。另外,最外层的frame总是最后触发DocumentCompleted事件。DocumentCompleted事件具有一个IDispatch *类型的参数,它指示了是在哪个frame上触发的该事件。所以,要判断文档是否加载完毕,只需要判断IDispatch *参数是否是Webbrowser控件的IDispatch。
微软support网站上关于这个问题的说明:这个方法用到了COM相关的知识,在没有现成代码的情况下,对于像我这样从.NET开始进入Windows平台的程序员来讲理解和实现起来都有一定的难度。尤其是.NET 2.0下的Webbrowser控件是对Webbrowser COM组件的不完全封装,我在考察.NET 2.0 Webbrowser的WebBrowserDocumentCompletedEventArgs后并未发现有IDispatch参数或相关参数。不知道是不是在封装过程中被省去了。
希望哪位高手能告诉我如何用C#实现上面的方法,先在此谢过!不过,利用前面提到的最外层的frame总是最后触发DocumentCompleted事件,还有一种更为简单的方法:
1. 引入一个计数器变量,初始值为0;
2. 当Webbrowser控件的DownloadBegin (.NET 2.0中的Navigated)事件发生时对计数器加一;
3. 当Webbrowser控件的DownloadCompleted事件发生时对计数器减一;
4. 计数器减为0说明文档加载完毕
主要代码:
// 添加事件响应函数
this .webBrowser.Navigated
System.Windows.Forms.WebBrowserNavigatedEventHandler(webBrowser_Navigated);
this .webBrowser.DocumentCompleted
System.Windows.Forms.WebBrowserDocumentCompletedEventHandler( this .webBrowser_DocumentCompleted);
// 事件响应函数
webBrowser_Navigated( object
sender, WebBrowserNavigatedEventArgs e)
counter ++ ;
webBrowser_DocumentCompleted( object
sender, WebBrowserDocumentCompletedEventArgs e)
counter -- ;
// 加载完毕
没有更多推荐了,在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。
问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
问题解决了,解决方式是在data里面多声明一个属性,然后再computed的get的axios里面对这个变量进行赋值,get返回这个属性
如果我在子组件的created方法里面,根据id去后台查询详情,可以正常显示,不报错,但是当父组件id值改变后,并不会再次去后台查询了,
,假如我后台返回的对象时detail,如果写在computed里面写detail: {
let detail
const gameId = this.id
querySingleGameDetail(gameId).then(response =& {
detail= response.data.data.detail//我们的结构就是这样的
return detail
},页面就无法正常显示,比如在某标签使用了 {{detail.content}},js就会报错
Error in render: "TypeError: Cannot read property 'content' of undefined",
所以我现在就是在父组件获取详情,直接把详情传入给子组件,但是我觉得这么做不优雅,所以想咨询下各位,有没有更好地解决办法
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
你这个是promise概念和js执行机制没理解,兄弟,
querySingleGameDetail(gameId).then(response =& {
detail= response.data.data.detail//
这个detail只有promise执行完成了才有值,但是return detail在promise执行之前就返回了detail=undefined
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
兄弟啊,你这个computed 里面只定义了get方法,没有执行啊
你是模仿这个写法对把?
还是建议用watch,不必太纠结。
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
回复 coder94:get是会执行的,但是还是用watch吧,computed并不能很好的处理异步数据
— toBeTheLight · 4 小时前回复 toBeTheLight:好的,谢谢哈,那我就得到答案了就是 computed并不能处理异步数据
— coder94 · 4 小时前
回复 coder94:你这个场景不适合promise,他的链式调用返回值一直是promise对象,你改成同步方法,获取你的detail就可以了,这里也不好使用async/await,也是返回的promise对象promise只有在第一层的能与外面同步执行,其余的均是加入任务队列,异步进行执行,建议你了解一下js eventLoop机制
— 懒懒的技术宅 · 3 小时前
同步到新浪微博
分享到微博?
关闭理由:
删除理由:
忽略理由:
推广(招聘、广告、SEO 等)方面的内容
与已有问题重复(请编辑该提问指向已有相同问题)
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
无法获得确切结果的问题
非开发直接相关的问题
非技术提问的讨论型问题
其他原因(请补充说明)
我要该,理由是:
在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。让所有数据都加载完了停止跳转
[问题点数:20分]
本版专家分:0
CSDN今日推荐
本版专家分:10601
2013年8月 Linux/Unix社区大版内专家分月排行榜第一2012年11月 Linux/Unix社区大版内专家分月排行榜第一2012年10月 Linux/Unix社区大版内专家分月排行榜第一2012年9月 Linux/Unix社区大版内专家分月排行榜第一2012年7月 Linux/Unix社区大版内专家分月排行榜第一2012年6月 Linux/Unix社区大版内专家分月排行榜第一2012年5月 Linux/Unix社区大版内专家分月排行榜第一2011年11月 Linux/Unix社区大版内专家分月排行榜第一
2013年6月 Linux/Unix社区大版内专家分月排行榜第二2013年5月 Linux/Unix社区大版内专家分月排行榜第二2013年3月 Linux/Unix社区大版内专家分月排行榜第二2013年1月 Linux/Unix社区大版内专家分月排行榜第二2012年12月 Linux/Unix社区大版内专家分月排行榜第二2012年8月 Linux/Unix社区大版内专家分月排行榜第二2011年12月 Linux/Unix社区大版内专家分月排行榜第二2011年10月 C/C++大版内专家分月排行榜第二2011年10月 Linux/Unix社区大版内专家分月排行榜第二
2012年6月 C/C++大版内专家分月排行榜第三2012年6月 PHP大版内专家分月排行榜第三2012年5月 C/C++大版内专家分月排行榜第三2012年3月 Linux/Unix社区大版内专家分月排行榜第三2012年2月 Linux/Unix社区大版内专家分月排行榜第三2011年11月 C/C++大版内专家分月排行榜第三
本版专家分:56116
2015年8月优秀小版主
2012年2月 PHP大版内专家分月排行榜第一2012年1月 PHP大版内专家分月排行榜第一2011年11月 PHP大版内专家分月排行榜第一2011年9月 PHP大版内专家分月排行榜第一
2012年3月 PHP大版内专家分月排行榜第二2011年12月 PHP大版内专家分月排行榜第二2011年10月 PHP大版内专家分月排行榜第二
2013年2月 PHP大版内专家分月排行榜第三2012年9月 PHP大版内专家分月排行榜第三2012年7月 PHP大版内专家分月排行榜第三2012年5月 PHP大版内专家分月排行榜第三
本版专家分:0
本版专家分:0
匿名用户不能发表回复!|
其他相关推荐如何判断所有的子组件加载完成_百度知道
如何判断所有的子组件加载完成
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
可以设置这个回调函数12345678//view重绘时回调view.getViewTreeObserver().addOnDrawListener(new OnDrawListener() {
@Overridepublic void onDraw() {// TODO Auto-generated method stub//view加载完成时回调view.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() {@Overridepublic void onGlobalLayout() {// TODO Auto-generated method stub
采纳率:87%
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 iphone小组件页面删除 的文章

 

随机推荐