UIWebViewに対してJavaScriptを使うときの注意点
UIWebViewに対してJavaScriptを投げかける場合、
[webview stringByEvaluatingJavaScriptFromString:command];
を使うわけですが、その際になんか動かないなーとハマったのでメモ。
簡単に言えば、シングルコーテーションと改行は「\\’」「\\n」で置き換えること!
ということです。
バックスラッシュがひとつだと、ただのシングルコーテーション、改行として認識され、JavaScriptの実行の妨げになります。きちんとバックスラッシュをエスケープしましょうと、そういうことですね。
バックスラッシュが2つ必要ということに全然気が付かず2時間くらいハマってた…。
そしてもうひとつ。
このコードでJSを実行すると、動作は同期化するので処理が長い場合は全く動かなくなります。
変換系のコードをやってると20秒くらい止まって焦った…。これどうしたらいいんだ…。対処の仕様があるのかなあ。
このへんは多分、dyspatchAsyncで何とかなりそう。
広告
コメントする