WebViewロードHTML画像サイズ適応と文章自動改行

1800 ワード

HTMLコードにコンテンツスタイルを設定し、一般的にcssまたはjsを使用すると、ロードの優先度やロード効果に応じて、自分で選択できます.
  • jsはページのロードが完了した後にロードされるので、画像スタイルを設定するときは、まず大きな図をロードし、突然小さくなります.
  • cssは導入時にロードされ、縮小したピクチャを直接ロードする(実際の占有メモリは縮小しない);
  • 一、画像適応
    1.cssによる画像の適応
    Webフロントエンド、つまりHTMLでは、画像の幅だけを設定すると、画像の元のサイズに応じて高さがスケールされます.
    バックグラウンドで返されるHTMLコードにタグが含まれていない場合は、HTML文字列の前に直接次のコードを付けることができます(が含まれている場合はタグの内部に追加します).コードは、ユーザーが以前設定したピクチャサイズがどんなに大きくても、幅320 pxサイズに縮小することを意味します.

    画像の元のサイズに応じて、幅が320 px未満のズームなし、320 px以上のズームを320 pxにする必要がある場合は、HTML文字列の前にコードを追加します.
    <head><style>img{max-width:320px !important;}</style></head>

    2.jsを用いた画像の適応
    Webviewのエージェントでjsコードを実行します.(次のコードにはラベルが必要です)
    タグがなければ簡単ですが、返されたHTML文字列の前にをつなぎ合わせるだけです.
    - (void)webViewDidFinishLoad:(UIWebView *)webView
     {
        [webView stringByEvaluatingJavaScriptFromString:     @"var script = document.createElement('script');"
         "script.type = 'text/javascript';"
         "script.text = \"function ResizeImages() { "
             "var myimg,oldwidth,oldheight;"
             "var maxwidth=320;"//     
             "for(i=0;i  maxwidth){"
                     "myimg.width = maxwidth;"
                 "}"
             "}"
         "}\";"
         "document.getElementsByTagName('head')[0].appendChild(script);"];
        [webView stringByEvaluatingJavaScriptFromString:@"ResizeImages();"];
    }

    二、文章の内容を自動的に改行する
    文章の自動改行もcssで実現され、書き方は画像のスケールが似ている.タグがない場合は、HTMLコードの前に、以下のコードを直接つなぎ合わせればよい(が含まれている場合はbodyタグの内部にコードを追加する)、すべての内容が自動的に改行されることを意味します.
    <body width=320px style=\"word-wrap:break-word; font-family:Arial\">