参考URL:http://ascii.jp/elem/000/000/634/634982/
- PhoneGapを適用した後、プロジェクトを作成する。
PhoneGap-based Applicationを選択し、適当な名前で作成。
一度、実行した後、「wwwフォルダが無い」とエラーになるので自動で作成されたwwwフォルダをリンク
PhoneGap Plugins
https://github.com/purplecabbage/phonegap-plugins
をダウンロードして、ChildBrowserディレクトリ以下のファイルを、プロジェクトのPluginsフォルダにコピー
wwwフォルダに ChildBrowser.js と book.pdf をコピーし
<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01//EN” “http://www.w3.org/TR/html4/strict.dtd”>
<html>
<head>
<meta name=”viewport” content=”width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no;” />
<meta http-equiv=”Content-type” content=”text/html; charset=utf-8″>
<style type=”text/css”>
ul { display :none; }
</style>
<script type=”text/javascript” charset=”utf-8″ src=”phonegap-1.2.0.js”></script>
<script type=”text/javascript” charset=”utf-8″ src=”ChildBrowser.js”></script>
<script type=”text/javascript” charset=”utf-8″>
function onBodyLoad()
{
document.addEventListener(“deviceready”,onDeviceReady,false);
}
function onDeviceReady()
{
document.getElementsByTagName(“ul”)[0].style.display = “block”;
}
function openURL(url)
{
PhoneGap.exec(“ChildBrowserCommand.showWebPage”, url);
}
function openPDF(url)
{
var basePath = String(location);
var path = basePath.substr(0, basePath.lastIndexOf(“/”));
var pdfURL = encodeURI(path+url);
PhoneGap.exec(“ChildBrowserCommand.showWebPage”, pdfURL);
}
</script>
</head>
<body onload=”onBodyLoad()”>
<h1>PDFも表示する</h1>
<ul>
<li><a href=”#” onclick=”openURL(‘http://www.google.com/’)”>OpenSpace</a></li>
<li><a href=”#” onclick=”openPDF(‘/book.pdf’)”>book.pdf</a></li>
</ul>
</body>
</html>
を書く
ここまでは、よくある記事の内容ですが、ここからが大事です。
プロジェクトの中にある、PhoneGap.plistを開き、pluginsの項目に
Key:ChildBrowserCommand
Type:String
Value:ChildBrowserCommand
を追加します。
また、上記URLを許可するためにExternalHostsの項目に
Key:String
Value:開こうとするURL
を追加します。
この作業を行わないと、プログラムが実行されませんし、
ERROR whitelist rejection
とエラーが出て、URLを開くことが出来ません