2015年2月2日月曜日

Chrome アプリ:<webview> は描画されていなくても動作する

<webview> では partition を設定することでクッキーの保存が可能であるため、
ログインした状態でセッションを継続させるために利用できる。

<webview> に外部サイトのログイン画面を表示して、
JavaScript でフォーム入力・送信すれば自動的にクッキーが <webview> に保存される。

これらの処理は <webview> を隠した状態で動作させられる。
例えば height: 0px にしたり、visibility: hidden; を指定すれば良い。


/* CSS */
#my-webview {
    display: hidden;
}
<!-- HTML -->
<webview id="my-webview" src="http://target-site.com/login" partition="persist:googlepluswidgets"></webview>
/* JavaScript(jQuery) */
$('#my-webview').on('loadstop', function() {
    var doc = $(this.contentWindow.document);
    doc.find('#login-id').val('my_id');
    doc.find('#login-pass').val('my_pass');
    doc.find('#login-submit').click();
});

0 件のコメント:

コメントを投稿