Skip to content

UIWebViewに対してJavaScriptを使うときの注意点

2011年10月31日

UIWebViewに対してJavaScriptを投げかける場合、

[webview stringByEvaluatingJavaScriptFromString:command];

を使うわけですが、その際になんか動かないなーとハマったのでメモ。

簡単に言えば、シングルコーテーションと改行は「\\’」「\\n」で置き換えること!

ということです。

バックスラッシュがひとつだと、ただのシングルコーテーション、改行として認識され、JavaScriptの実行の妨げになります。きちんとバックスラッシュをエスケープしましょうと、そういうことですね。

バックスラッシュが2つ必要ということに全然気が付かず2時間くらいハマってた…。

そしてもうひとつ。

このコードでJSを実行すると、動作は同期化するので処理が長い場合は全く動かなくなります。

 

変換系のコードをやってると20秒くらい止まって焦った…。これどうしたらいいんだ…。対処の仕様があるのかなあ。

 

このへんは多分、dyspatchAsyncで何とかなりそう。

広告

From → iPhone開発

コメントする

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。