UIWebViewでローカルJavascriptを読み込む
2013/6/27 [19:05:12] (木) 

安直iOSアプリ。UIWebViewを使ってデバイス上にローカルHTMLを表示させるだけ、というシロモノ。
簡単じゃん、と思ってたら甘かった。
jQueryを使ってJavascriptをごにょごにょするには、HTMLのheadに外部Javascriptへリンクするだけじゃダメだった。Xcode側でjavascriptを読み込ませる必要があった(…CSSは特に細工もなしに、HTMLに指定するだけで使えるのに)
ViewController.m の viewDidLoad の中に(これは多分 Javascript でいう、onload関数)読み込みのときにjavascriptも読み込め、と指示してやる。
NSString *path = [[NSBundle mainBundle] pathForResource:@"jquery-1.7.2.min" ofType:@"js"];
NSString *jsCode = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];
[wview stringByEvaluatingJavaScriptFromString:jsCode];
NSString *localpath = [[NSBundle mainBundle] pathForResource:@"local" ofType:@"js"];
NSString *localjsCode = [NSString stringWithContentsOfFile:localpath encoding:NSUTF8StringEncoding error:nil];
[wview stringByEvaluatingJavaScriptFromString:localjsCode];
ためしに、local.jsというjqueryを使ったjavascript
$(function(){ alert(’here’); } )
を試してアラートが出ることを確認。今日のところはここまで。
cssの書き方もちょっと考えなきゃいけないかもしれない。
単純なcssなら問題なく意図通り表示されるけど、複雑になってくると、対応状況対応レベルがあるのかもなあ。
[更新]2026-02-01 15:25:31

