WKWebView圖片文字大小的自適應

#第一種:初始化的時候賦值(界面自適應大小包括圖片和文字)

 WKWebViewConfiguration * configuration=[[WKWebViewConfiguration alloc]init];
    WKPreferences * preferences = [[WKPreferences alloc]init];
    preferences.javaScriptCanOpenWindowsAutomatically = true;

NSString*jScript =@"var meta = document.createElement('meta'); meta.setAttribute('name', 'viewport'); meta.setAttribute('content', 'width=device-width'); document.getElementsByTagName('head')[0].appendChild(meta);";
    
    WKUserScript * wkUscript = [[WKUserScript alloc]initWithSource:jScript injectionTime:WKUserScriptInjectionTimeAtDocumentEnd forMainFrameOnly:YES];
    WKUserContentController *ucontroller =[[WKUserContentController alloc]init];

_webview = [[WKWebView alloc] initWithFrame:CGRectMake(5, 8, myDeviceScreenWidth-10, myDeviceScreenHeight-10-NaviHeight) configuration:configuration];
    
    [self.view addSubview:_webview];

 _webview.UIDelegate = self;
    _webview.navigationDelegate = self;

 

#第二種:在代理面修改(文字樣式修改)

- (void)webView:(WKWebView *)webView didFinishNavigation:(WKNavigation *)navigation
{

  //修改字體大小 300%
    [ webView evaluateJavaScript:@"document.getElementsByTagName('body')[0].style.webkitTextSizeAdjust= '230%'" completionHandler:nil];
    //修改字體顏色  #9098b8
    [ webView evaluateJavaScript:@"document.getElementsByTagName('body')[0].style.webkitTextFillColor= '#000000'" completionHandler:nil];

//修改圖片的大小(會變形的)

  [ webView evaluateJavaScript:@"var script = document.createElement('script');"
     "script.type = 'text/javascript';"
     "script.text = \"function ResizeImages() { "
     "var myimg,oldwidth,oldheight;"
     "var maxwidth = 1000;"
     "var maxheight = 1400;"
     "for(i=0;i <document.images.length;i++){"
     "myimg = document.images[i];"
     "oldwidth = myimg.width;"
     "oldheight = myimg.height"
     "myimg.width =1000;"
//賦值圖片的大小
     "myimg.height=2000;"//賦值圖片的大小
     "}"
     "}\";"
     "document.getElementsByTagName('head')[0].appendChild(script);ResizeImages();" completionHandler:nil];

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章