.NET 開発基盤部会 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。

目次

概要

スマホネイティブから、ウェブコンテンツを表示するときに使用するコンポーネント。

Android

Android WebView

WebView

簡易ブラウザ開発

プロキシ

その他

iOS

Android WebViewには、

というWebViewがある模様。

iOSのバージョンアップに従って機能が変更されている模様。

WebView

簡易ブラウザ開発

プロキシ

その他

デバッグ

Android

iOS

ハイブリッド開発

HTMLコンテンツから、JavaScriptを経由して、スマホネイティブのデバイスへアクセスする。

参考

HTML→(JavaScript)→スマホネイティブ

スマホネイティブ→(JavaScript)→HTML

HTML→(JavaScript)→スマホネイティブの処理方式

addJavascriptInterface?方式

カスタムURLスキーム方式

onJsAlert?方式

ローカルHTTPサーバ方式

スマホネイティブ→(JavaScript)→HTMLの処理方式

ネイティブ側からJavaScriptを実行し、JavaScriptのグローバル変数に値を代入する。

JSONライブラリ

Objectは渡せないので、JSONライブラリを用いて文字列にParseする。

Android

ネイティブ側からJavaScriptを実行する方法は、
loadUrlメソッドにjavascriptスキームのURLを読み込ませる。

webView.loadUrl("javascript:window.objectFromNative=" + new JSONObject().toString());

Android 4.4 (KitKat) でjavascriptを実行する場合、webview.loadUrlからwebview.evaluateJavascriptへ変更する必要がある。

iOS

ネイティブ側からJavaScriptを実行する方法は、
stringByEvaluatingJavaScriptFromString?メソッドを実行する。

[webView evaluateJavaScript: @"window.objectFromNative = 'foobarvalue';"];

セキュリティ

Android

WebView#addJavascriptInterface?(Android)

WebView#addJavascriptInterface?は危険。

iOS

バージョン間の差異

Android

Android 4.4 (KitKat?)での変更が大きかった模様。

Migrating to WebView in Android 4.4 (KitKat?)

JavaScriptの実行

https://gist.github.com/seamountain/7415057#multi-threading-and-thread-blocking

Signature

iOS


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS