js与webview的交互:stringByEvaluatingJavaScriptFromString的使用方法

1.document.readyState

document.readyState:判断文档是否加载完成。firefox不支持。

这个属性是只读的,传回值有以下的可能:

0-UNINITIALIZED:XML 对象被产生,但没有任何文件被加载。

1-LOADING:加载程序进行中,但文件尚未开始解析。

2-LOADED:部分的文件已经加载且进行解析,但对象模型尚未生效。

3-INTERACTIVE:仅对已加载的部分文件有效,在此情况下,对象模型是有效但只读的。

4-COMPLETED:文件已完全加载,代表加载成功。[_webView stringByEvaluatingJavaScriptFromString:@"document.readyState"];可以判断出当前webview加载状态



我们在webViewDidFinishLoad方法中就可以通过javascript操作界面元素了。


-(void)webViewDidFinishLoad:(UIWebView *)webView

{

    /** 读取结束的时候 */

    if ([[webView stringByEvaluatingJavaScriptFromString:@"document.readyState"] isEqualToString:@"complete"] ||

        [[webView stringByEvaluatingJavaScriptFromString:@"document.readyState"] isEqualToString:@"interactive"])

    {

    }

}


2.window.location.href 用window.location.href的就只能在当前页面打开,不能打开新窗口的

获取当前页面的url。

 1. - (void)webViewDidFinishLoad:(UIWebView *)webView {

 2. NSString *currentURL = [webView stringByEvaluatingJavaScriptFromString:@"document.location.href"];

 3. }


3.  NSString *title = [webview stringByEvaluatingJavaScriptFromString:@"document.title"];





你可能感兴趣的:(js与webview的交互:stringByEvaluatingJavaScriptFromString的使用方法)