jjzjj

webViewDidFinishLoad

全部标签

javascript - iOS uiwebview 在加载整个 html 文件之前触发 finishLoad 事件

我在uiwebview上加载静态html文件,当webViewDidFinishLoad时,我插入以下javascript以获取包含在div中的数据。NSString*body=[self.webView1stringByEvaluatingJavaScriptFromString:@"document.getElementById('social').innerHTML"];NSLog(@"receiveddata:%@",body);一切似乎都在正常工作,但有时div是空的!!假设div总是被填充,因为div是静态的,我认为webViewDidFinishLoad事件在加载整个页面

ios - webViewDidFinishLoad 阻塞主线程

我刚刚注意到webViewDidFinishLoad方法阻塞了整个应用程序,所以我什至无法触摸任何按钮。我需要解析UIWebView的结果页面,这可能会花费很多时间。那么在不阻塞整个应用程序的情况下解析它的最佳方法是什么?也许创建另一个线程? 最佳答案 使用GCD在后台解析它:-(void)webViewDidFinishLoad:(UIWebView*)webView{//GetthecontentsfromtheUIWebView(inthemainthread)NSString*data=[webViewstringByEva

ios - 在尝试创建一个带有 GIF 的 UIWebView 之后,当调用 webViewDidFinishLoad 时,URL 总是大约为 :blank. 为什么?

我正在尝试显示其中包含GIF的UIWebView,但只有在GIF加载后才显示。我按如下方式加载GIF:self.GIFWebView=[[UIWebViewalloc]init];self.GIFWebView.delegate=self;NSString*html=[NSStringstringWithFormat:@"",post.url];[self.GIFWebViewloadHTMLString:htmlbaseURL:nil];post只是一个具有某些属性(例如GIF的URL)的对象。然后在webViewDidFinishLoad:中显示网页View:-(void)webV

javascript - 为谷歌搜索结果触发 webViewDidFinishLoad

我正在尝试在我的webViewDidFinishLoad中完成加载页面时运行代码。但是,如果我在我的UIWebView中访问google.com,然后输入搜索,第一个查询有效,但所有其他搜索都不会触发webViewDidFinishLoad。根据其他文章,这是因为谷歌使用ajax请求。为了解决这个问题,将javascript注入(inject)页面以在加载完成后触发iOS方法。然而,它似乎不适用于谷歌,但适用于其他ajax网站,如雅虎。我是否正确地执行了javascript?有没有人建议在ajax加载完成后如何让javascript调用Obj-C方法?ajax_handler.js(与

ios - 在 webViewDidFinishLoad 上,我在 swift3 中获得了额外的内容高度

EventWebView.frame.size=EventWebView.sizeThatFits(CGSize.zero)EventWebView.scrollView.isScrollEnabled=false;varframe=EventWebView.frame;frame.size.width=EventTableView.frame.size.width-40;//Yourdesiredwidthhere.frame.size.height=1;//Settheheighttoasmallone.EventWebView.frame=frame;//SetwebView's

ios - UIWebView webViewDidFinishLoad 不返回嵌入式 scrollView 的正确内容大小

我正在将mathml内容加载到UIWebView,有时数学表达式可能会穿过我的webview框架,用户必须滚动才能查看超出边界的内容.为了处理这种情况,只要用户是可滚动的内容,我就会向用户显示一个可视箭头指示器。我的问题是,在我的webViewDidFinishLoad中,如果我尝试访问webview,scrollView.contentSize它不会返回准确的内容大小,但如果我在一些延迟后用其他方法检查它正在获得正确的内容大小。但是我不认为用计时器检查是一种有效的方法。下面是我的代码片段,-(void)webViewDidFinishLoad:(UIWebView*)webView{

ios - 使用 goBack 时未触发 webViewDidFinishLoad

我想在网页加载后做一些额外的工作,所以我在webViewDidFinished中添加了一些代码,但在这种情况下似乎不起作用。情况:我使用UIWebview访问一个网页,然后单击另一个链接,之后,我运行[webviewgoback];似乎页面是从缓存中加载的,只是-(BOOL)webView:(UIWebView*)webViewshouldStartLoadWithRequest:(NSURLRequest*)requestnavigationType:(UIWebViewNavigationType)navigationType;被称为,-(void)webViewDidFinish

ios - webViewDidFinishLoad 为单个加载请求多次调用

长期以来,我一直在成功地使用webView委托(delegate)。但最近我遇到了这个代表的奇怪问题。在我当前的项目中,我试图从webview访问我的路由器。我仅在URL内传递用户名和密码。下面是加载请求代码。[self.webViewloadRequest:[NSURLRequestrequestWithURL:[NSURLURLWithString:@"http://uname:password@192.168.1.1"]]];这会调用webView委托(delegate)方法(webViewDidFinishLoad和webViewDidStartLoad)5次。是预期的吗?当我

ios - UIWebViewDelegate:页面内导航期间未调用 webViewDidFinishLoad

我有一个应用程序,用户可以在其中导航一堆本地存储的HTML文件。我有一个UIWebView,使用UIWebViewDelegate正确配置。通常,当用户点击链接时,shouldStartLoadWithRequest会被调用,稍后会调用webViewDidFinishLoad。但是,如果链接指向与当前显示的同一页面上的anchor,则仅调用shouldStartLoadWithRequest。webViewDidFinishLoad不会触发。从某种意义上说,我认为这可能是预期的行为,因为页内导航不应要求重新加载页面。但是,在页内导航完成后,我确实需要一个地方来挂接到调用堆栈。最佳解决方

ios - UIWebViewDelegate:页面内导航期间未调用 webViewDidFinishLoad

我有一个应用程序,用户可以在其中导航一堆本地存储的HTML文件。我有一个UIWebView,使用UIWebViewDelegate正确配置。通常,当用户点击链接时,shouldStartLoadWithRequest会被调用,稍后会调用webViewDidFinishLoad。但是,如果链接指向与当前显示的同一页面上的anchor,则仅调用shouldStartLoadWithRequest。webViewDidFinishLoad不会触发。从某种意义上说,我认为这可能是预期的行为,因为页内导航不应要求重新加载页面。但是,在页内导航完成后,我确实需要一个地方来挂接到调用堆栈。最佳解决方