Webview获取H5页面js方法参数


 
 

 #import<JavaScriptCore/JavaScriptCore.h>

 
 
#pragma mark UIWebViewDelegate

- (void)webViewDidFinishLoad:(UIWebView *)webView
{
    [SVProgressHUD dismissWithDelay:0.1];
    JSContext *jsContext = [webView valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"];
    
    jsContext[@"openLink"] =^(id obj,id obj1){
        
        NSInteger attacmentId = 0;
        NSString *attacmentType = nil;
        
        NSRange range = [obj rangeOfString:@"link_"];
        attacmentId = [[obj substringFromIndex:range.length] integerValue];
        
        NSRange rangeType =  [obj1 rangeOfString:@"." options:NSBackwardsSearch];
        attacmentType = [obj1 substringFromIndex:rangeType.location];
        
        InvestInnovationAttacmentViewController *vc = [[InvestInnovationAttacmentViewController alloc]init];
        
        NSString *strUrl = [[MSCoreManager sharedManager]getAttachmetURL:@(attacmentId)];
        vc.urlLink = strUrl;
        vc.type = attacmentType;
        [self.navigationController pushViewController:vc animated:YES];

    
    };
    
    jsContext.exceptionHandler = ^(JSContext *context, JSValue *exceptionValue) {
        context.exception = exceptionValue;
        //比如把js中的方法名改掉,OC找不到相应方法,这里就会打印异常信息
        MSLog(@"异常信息:%@", exceptionValue);
    };
    
}//

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM