• 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);
        };
        
    }//
  • 相关阅读:
    BZOJ 3522 Hotel
    BZOJ 1864 三色二叉树
    396595
    CodeForces
    CodeForces
    CodeForces
    E. 数字串
    算术基本定理总结
    Cyclic Nacklace 杭电3746
    Period
  • 原文地址:https://www.cnblogs.com/zhujin/p/6168709.html
Copyright © 2020-2023  润新知