Файлы ниже должны заставить его работать. Кстати, я не уверен, что находится в вашем calllog.js, но в index.html обязательно должен быть ContactView.js. См. Следующие файлы и снимок экрана с полным запущенным приложением:
index.html
<!DOCTYPE HTML>
<html>
<head>
<meta name="viewport" content="width=320; user-scalable=no" />
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<title>PhoneGap Demo With JQuery Mobile</title>
<link rel="stylesheet" href="jquery.mobile/jquery.mobile-1.0.css" type="text/css"/>
<link rel="stylesheet" href="pgandjqm-style-override.css" type="text/css"/>
<script type="text/javascript" charset="utf-8" src="jquery.mobile/jquery-1.6.4.min"></script>
<script type="text/javascript" charset="utf-8" src="phonegap-1.3.0.js"></script>
<script type="text/javascript" charset="utf-8" src="jquery.mobile/jquery.mobile-1.0.js"></script>
<script type="text/javascript" charset="utf-8" src="main.js"></script>
<script type="text/javascript" charset="utf-8" src="ContactView.js"></script>
<script type="text/javascript" charset="utf-8">
var successCallBack = function(args) {
alert (JSON.stringify(args));
};
var failCallBack = function(args) {
alert (JSON.stringify(args));
};
</script>
</head>
<body onload="init();">
<div data-role="page" data-theme="b">
<div data-role="header">
<h1>Welcome to Stellar</h1>
</div>
<div data-role="content"><a href="tel:411" data-role="button">Call 411</a>
<div data-role="button" onclick="window.plugins.ContactView.show('all', successCallBack, failCallBack);">Beep</div>
<div data-role="button" onclick="beep();">Beep</div>
<div id="viewport" class="viewport" style="display:none;">
<img style="width:60px;height:60px" id="test_img" src="" />
</div>
</div><!-- end jqm content -->
<div data-role="footer">
<h1>Thanks for being around</h1>
</div>
</body>
</html>
ContactView.js
var ContactView = function() {};
ContactView.prototype.show = function(cmd, successCallback, failCallback) {
function success(args) {
successCallback(args);
}
function fail(args) {
failCallback(args);
}
return PhoneGap.exec(function(args) {
success(args);
}, function(args) {
fail(args);
}, 'ContactView', '', []);
};
/**
* Load ChildBrowser
*/
PhoneGap.addConstructor(function() {
PhoneGap.addPlugin("ContactView", new ContactView());
});
Кроме того, для файла res / xml / plugins.xml необходимо добавить следующую строку:
<plugin name="ContactView" value="com.rearden.ContactView"/>
Следующий снимок экрана показывает структуру каталогов, измененные файлы и запущенное приложение:
![Screen shot of running app](https://i.stack.imgur.com/qvKhD.png)