本地加载html\css\Js

首先加载本地的html文件:

[objc]  view plain  copy
 print ?
  1. NSURL *baseURL = [NSURL fileURLWithPath:[[NSBundle mainBundle] bundlePath]];  
  2.         NSString *path = [[NSBundle mainBundle] pathForResource:@"post.dark" ofType:@"html"];  
  3.         NSString *html = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];  
  4.         [_javaWebView loadHTMLString:html baseURL:baseURL];  

然后调用webView的dai里方法:

[objc]  view plain  copy
 print ?
  1. - (void)webViewDidFinishLoad:(UIWebView *)webView  

[objc]  view plain  copy
 print ?
  1. [webView stringByEvaluatingJavaScriptFromString:JSstringAction];  

可以用这个方法向js文件进行传值,调用js方法,给js方法设置参数:

实例应用:

html:

[objc]  view plain  copy
 print ?
  1.   
  2.   
  3.   
  4.       
  5.     "utf-8">  
  6.     "viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no" />  
  7.     "stylesheet" href="app.light.css" type="text/css">  
  8.     "zepto.min.js" type="text/javascript">  
  9.     "app.js" type="text/javascript">  
  10.   
  11.   
  12.     id="title">  
  13.   
  14.     
  
  •     id="author_avatar">  
  •   
  •     
  •   
  •     id="page_header">
  •   
  •     id="content">  
  •     //传入内容  
  •         
  •   
  •     id="page_footer">
  •   
  •     id="page_bottom">
  •   
  •   
  •   
  •   
  • js部分 :

    [objc]  view plain  copy
     print ?
    1. function initBody1(para) {  
    2.     var pageContent = $("#content");  
    3.     pageContent.html(para);  
    4.     pageContent.css('font-size','100% ');  
    5.       
    6. }  
    7.   
    8. function initBody2(para) {  
    9.     var pageContent = $("#content");  
    10.     pageContent.html(para);  
    11.     pageContent.css('font-size','120% ');  
    12. }  

    css:部分

    [objc]  view plain  copy
     print ?
    1. #content {  
    2.     color: #1a1a1a;  
    3.     font-size: 100%;  
    4.     margin0 1em;  
    5.     line-height: 150%;  
    6.     letter-spacing: 50%;  
    7.     word-wrap: break-word;  
    8.     word-break:normal;  
    9. /*    white-space: pre-wrap;*/  
    10.     text-align:justify;  
    11. }  
    12. #content p {  
    13.     margin1em auto;  
    14. }  
    15. #content img {  
    16.     /* keep aspect ratio, use max width */  
    17.     max-width:100%;  
    18.     height:auto;  
    19.     /* center image */  
    20.     margin:1em auto;  
    21.     display: block;  
    22. }  
    23. #content .img_desc {  
    24.     color:#888888;  
    25.     font-size:75%;  
    26.     line-height:120%;  
    27.     margin-bottom:0.4em;  
    28. }  

    可以对css的"#content"做修改  达到想要的效果  


    我们通过

    [objc]  view plain  copy
     print ?
    1. [webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"initBody2('%@')",self.titleStr]];  

    向js文件传送content 在传到html     在掉用css进行改变.


    5.捕捉html的交互
    如果我们在html页面中有交互,可以通过webView的delegate获取到操作的链接(在第一步没有设置webView的delegate的,现在需要设置了~)
    遵守UIWebViewDelegate协议
    在ViewController中实现UIWebViewDelegate中的这个方法
    - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType


    你可能感兴趣的:(iOS开发中问题,iOS与JS交互)