|
|
1
3
以下是我在应用程序中解决问题的方法:
|
|
|
2
2
当页面完全加载时 (包括框架)是这样的:
从我的其他方法中,我学到了一些“不要”:
|
|
|
3
2
这是我的测试版本。把这个当成你的
|
|
4
0
在每个帧中使用javascript在帧完成时设置一个标志,然后让C#查看标志如何? |
|
|
5
0
我不确定它是否有效,但尝试在您的框架集上添加JavaScript“onload”事件,如下所示:
|
|
|
6
0
|
|
|
7
0
您将获得外部网页以及每个框架的BeforeNavigate和DocumentComplete事件。当您获得外部网页的DocumentComplete事件时,您就知道您已经完成了。您应该能够使用 IWebBrowser2::TopLevelContainer() 来确定这一点。 然而,请注意,网站本身可以随时触发更多的框架导航,所以你永远不知道一个页面是否真的永远完成了。您所能做的最好的事情就是对您看到的所有预览进行计数,并在文档完成时减少计数。 编辑:以下是托管文档: TopLevelContainer |
|
|
8
0
以下是最终对我有效的方法:
这是相当可靠的,但正如jeffamaphone所说,我已经看到一些触发内部刷新的网站。 但是上面的代码满足了我的需要。 编辑:每个帧都可以包含帧,因此我认为应该更新此代码,以递归方式检查每个帧的状态。 |
|
|
9
0
我只使用webBrowser.StatusText方法。当它说“完成”时,所有内容都已加载! 还是我遗漏了什么? |
|
|
10
0
检查IE.readyState=readyState\u COMPLETE应该可以,但是如果这对您来说不可靠,并且您确实想知道“IE在其状态栏中写入“完成”的时刻”,那么您可以执行循环,直到IE.StatusText包含“完成”。 |
|
|
11
0
你试过了吗
|
|
|
12
0
最简单的解决方案是有一个循环,大约每100毫秒执行一次,直到
如果文档完成处理程序在另一个线程上执行,则可以使用锁将主线程发送到睡眠状态,并将其从文档完成线程中唤醒。然后检查
|
|
|
code-geek · Jquery根据单选按钮选择隐藏或显示文本字段 11 月前 |
|
|
Jamie · 在CSS链接的文件名中添加Jinja占位符 11 月前 |
|
ptownbro · 重叠分区标签,同时保持以下所有分区和内容就位 11 月前 |
|
|
Reegan · 使用Angular ngFor指令在html中渲染嵌套对象值 11 月前 |
|
|
john Rizzo · 按钮背景颜色、悬停和活动状态存在问题 12 月前 |