UIWebViewでローカルのHTMLを扱うときにハマったこと
ちょいいくつかハマったので。
UIWebviewでローカルHTMLを読み込んでJSを実行しようとしても実行されないときがある
ローカルコンテンツでもUIWebViewDelegateのwebViewFinishLoadでJavaScriptを実行しないと、確実にHTMLのロード後にJSを実行できない。
ローカルで読み込んだJS,CSSファイルのパスの設定の仕方
シミュレータにインストールされるアプリを見てみると、パッケージディレクトリの直下に展開されるよう。
XCode4.5では以下のような指定でおkでした。
NSString *path = [[NSBundle mainBundle] pathForResource: @"foobar" ofType: @"html"]; [webView loadRequest: [NSURLRequest requestWithURL: [NSURL fileURLWithPath: path]]];
あとはHTML内で
<link rel="stylesheet" type="text/css" href="./main.css" /> <script type="text/javascript" src="./application.js"></script>
と相対パスでURL指定すれば読み込めます。