2011-12-04 14 views
3

あり、いくつかの提案のように見えるが、何も動いていないようにみえ: https://stackoverflow.com/search?q=UIWebview+load+local+css+remote+website&submit=searchのUIWebView - リモートサイトにローカルのCSSを読み込み

ウェブサイトにロードされた後に2つのJavaScriptファイルをロードしている私は何をやっています。

最初のプロパティはいくつかのプロパティを設定し、2番目のプロパティはDOMを通過してページの書式を変更します。正しいhrefを持つリンクタグがリンク要素をループすることでDOMに挿入されていることを確認できます。 2番目のスクリプトによって行われた処理も正しく実行されます。

ブラウザでこれをブックマークレットとして設定することもできます。これはこれまでテストしたすべてのブラウザで有効です。 CSSはUIWebViewを取り入れません。

最近この機能を使用する人はいますか?

のObj-C

NSString * css = [[NSBundle mainBundle] pathForResource:@"mycss" ofType:@"css"]; 
NSURL * cssURL = [NSURL fileURLWithPath:css]; 
[_webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"appendCSS('%@')", cssURL]]; 

はJavaScript

function appendCSS(csshref) 
{ 
    //alert(css); 
    var css=document.createElement('link'); 
    css.rel='stylesheet'; 
    css.href=csshref; 
    css.type='text/css'; 
    css.media='all'; 
    //Try a couple of things. Appear to be equivalent. 
    //document.documentElement.appendChild(css); 
    document.getElementsByTagName('head')[0].appendChild(css); 
} 

答えて

-2

リモートWebページには、ローカルのファイルにアクセスすることはできません。 (使用しているURLはあなたのバンドル内のファイルにあります)

CSSはどこか別の場所にホストできますか?それ以外の場合は、ファイルからCSSをロードしてスタイル要素のDOMに挿入するだけです。

関連する問題