网页 任何物体似乎都装上了该网页。 是否有办法确定全部装满内容?
有趣的是,我不认为它会这样做。 虽然我确信还有其他办法这样做(如果能够从网上电文中提取URL,以便你能够看到哪一是完成装货的主要网页?),但我认为,主要的东西是利用估算进度来检查页上的进展,并用你想要做的任何东西打上我所想的100%完成装货时。 谷歌“电话网概数”并点击了我撰写的指南中的第一个链接,说明如何做到这一点。
最新情况:
请使用下文中光彩的回答,而不是地雷。 在贵方言中使用私人标语是一种坏的思想,你可能会被拒绝,他的解决方案是正确的。
I m guessing that iframes causes the webViewDidStartLoad
/webViewDidFinish Load
pair.
false
。 甚至在两条<代码>第一号之后,即打电话。 相反,我把装货跟踪如下:
- (void)webViewDidStartLoad:(UIWebView *)webView {
webViewLoads_++;
}
- (void)webViewDidFinishLoad:(UIWebView *)webView {
webViewLoads_--;
if (webViewLoads_ > 0) {
return;
}
…
}
- (void)webView:(UIWebView*)webView didFailLoadWithError:(NSError*)error {
webViewLoads_--;
}
(注,只有开端/结对的奶制品没有连续出现时,才会奏效,但从我迄今的经验来看,这种情况已经发生。)
检查这一情况肯定会为你工作:
- (void)webViewDidFinishLoad:(UIWebView *)webView {
if ([[webView stringByEvaluatingJavaScriptFromString:@"document.readyState"] isEqualToString:@"complete"]) {
// UIWebView object has fully loaded.
}
}
监测负荷进展并控制较少的另一个办法是观察网上电文ProgressEstimateChanged Notetification、WebViewProgressFinished Notetification和WebViewProgressStartedNoification通知。 例如,你可以观察这些通知,以便在你的申请中执行简单的进展指标。 You通过援引估计数更新进展指标 获取目前装货量估计数的进展方法。
http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/WebKit/Classes/WebView_Class/Reference/Reference.html” rel=“nofollow” http://developer.apple.com/library/mac/documentation/Cocoa/Reference/WebKit/Classes/WebView_Class/Reference/Reference.html
你还可以使用第1类短短文,写到,在IDWebView中添加了部分内容,也允许你选择在缺电网之间。 观点行为(在每一物体装载后得到通知),或“预期”行为(只在网页满负荷时才得到通知)。
我需要从尚未完全加载的页面中捕获一个变量。
这为我工作:
- (void) webViewDidFinishLoad:(UIWebView *)webView {
NSString *valueID = [webView stringByEvaluatingJavaScriptFromString:@"document.valueID;"];
if([valueID isEqualToString:@""]){
[webView reload];
return;
}
//page loaded
}
所有这些选择都没有真正为我的使用案例发挥作用。 我使用的是磷酸kins。 我发现,如果把超文本装入网上调查,就会有单独的形象,而这种形象是连续发生的,因此我们必须对此负责,我确实有时间。 这不是最佳解决办法,而是似乎行之有效:
- (void)webViewActuallyFinished {
_webViewLoads--;
if (_webViewLoads > 0) {
return;
}
//Actually done loading
}
- (void)webViewDidStartLoad:(UIWebView *)webView {
_webViewLoads++;
}
- (void)webViewDidFinishLoad:(UIWebView *)webView {
[NSTimer scheduledTimerWithTimeInterval:2 target:self selector:@selector(webViewActuallyFinished) userInfo:nil repeats:NO];
}
- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error {
_webViewLoads--;
}
它可能已经远远落后了,但希望能够提供帮助。
i 在进入网络电荷法时仅使用通知,这样一来就可以掌握一种方法,然后可以发现通知,并且从那里去做我的逻辑。
希望这一帮助。 它没有抓住最近一个称为网络电话法的事例,而是允许你在被召唤后做一些事情,而不是重复使用这一特定方法(例如,显示一个纽州)。
<><><>><>>>><>>>>><>>>>>><>>>><>>>>>>><>><>>><>>>><>>><>><>>><>>>>>><>>>>><>>>>>><>>>>>><>>>>>><>>>>>>><>>>>>><>>>>>>>>><>>>>>>><>>>>>>>><>>>>>>>>>>>><>>>>>>>>>>>>>>>>>>><>>>>>>>>>>>>>>>>>><>>>>>>>>>>>>>>>>>>>>>>>>><>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
i 进行了测试,并得以测试。 通知所要求的方法在全页上装满后将打电话。
或者,我认为你可以在授权方法上对“DidStartLoad”和网上“DidFinishLoad”进行反响,以确保他们在你管理自己的法典之前也这样做。 然而,这只是一个粗略的黑板,因为我们永远不会知道,除非像我一样,你装上了一条html的垫子,并且能够添加一个 Java的文字,以检查你装上的网页上有多少内容。 i 只是分享一些试图解决这一问题的方法。 希望它能够提供帮助。
鼓励反馈意见。 感谢!
这里,我用什么来显示在“Vinod s”答案之上的“DOM”装载物时的先质。
注:webViewDidStartLoad
和之间 www.un.org/Depts/DGACM/index_french.htm
- (void)webViewDidStartLoad:(UIWebView *)webView {
[self spinnerOn];
}
- (void)webViewDidFinishLoad:(UIWebView *)webView {
[self startDOMCompletionPolling];
}
- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error {
[self startDOMCompletionPolling];
}
- (void)startDOMCompletionPolling {
if (self.domCompletionListener) {
[self.domCompletionListener invalidate];
}
self.domCompletionListener = [NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(checkDOMCompletion) userInfo:nil repeats:YES];
}
- (void)checkDOMCompletion {
NSString *readyState = [self.webView stringByEvaluatingJavaScriptFromString:@"document.readyState"];
if (readyState != nil) {
if (readyState.length > 0) {
if ([readyState isEqualToString:@"loading"]) { //keep polling
return;
}
}
}
// completed , interactive , nil, others -> hide spinner
[self.domCompletionListener invalidate];
[self spinnerOff];
}
- winforms
- combobox
- fogbugz
- java
- date
- internationalization
- asp.net
- iis
- url-rewriting
- urlrewriter
- c#
- enums
- ocaml
- haxe
- algorithm
- string
- viewstate
- .net
- c++
- c
- symbol-table
- mysql
- database
- postgresql
- licensing
- migration
- vb.net
- vb6
- declaration
- vb6-migration
- python
- psycopg2
- backup
- vmware
- virtualization
- gnu-screen
- authentication
- desktop
- excel
- xll
- cultureinfo
- regioninfo
- oracle
- client
- session
- download
- html
- virtual
- constructor
- scenarios
- perl
- full-text-search
- javascript
- ajax
- testing
- oop
- inheritance
- vim
- encapsulation
- information-hiding