UIWebView のアプリに表示される 2 つの単純な html ファイルがあります。そのコードは index.html です。
<script>
var iWinWidth = window.innerWidth;
var iWinHeight = window.innerHeight;
alert(window.name + "\n iWinWidth="+iWinWidth+" iWinHeight="+iWinHeight);
</script>
<FRAMESET rows="704,..." cols="1024,...">
<FRAME SRC="2.html" name="contentFrame" noresize>
</FRAMESET>
および 2.html:
<html>
<body>
<script>
var iWinWidth = window.innerWidth;
var iWinHeight = window.innerHeight;
alert(window.name + "\n iWinWidth="+iWinWidth+" iWinHeight="+iWinHeight); </script>
</body>
</html>
問題は、2.html で window.innerWidth と window.innerHeight が頻繁に 0 になることです。これを解決するにはどうすればよいですか? このコードは、大きなプログラムの問題をテストして解決するための小さなサンプルです。2.html のようなファイルはサード パーティです。index.html を変更したり、javascript を 2.html に挿入したりできますが、独自のスクリプトを変更することはできません。
obj-c にファイルを読み込んでいます:
documentPath=[[[NSBundle mainBundle] pathForResource:@"testFormats" ofType:@""] stringByAppendingPathComponent:documentPath];
NSURL *url = [NSURL fileURLWithPath:documentPath];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[self.webView loadRequest:request];