我有一个PhoneGap HTML5文件如下(仅显示部分头部),
<head>
<script type="text/javascript" src="Javascript/phonegap-1.3.0.js"></script>
<!--<script type="text/javascript" src="Javascript/photo.js"></script>-->
<script>
function takePhoto()
{
alert("Take Photo");
navigator.camera.getPicture(onSuccess, onFail, {
quality: 50,
destinationType: Camera.DestinationType.FILE_URI,
sourceType: Camera.PictureSourceType.CAMERA});
}
function onSuccess(imageData)
{
var image = document.getElementById('photoImg');
image.src = "data:image/jpeg;base64," + imageData;
}
function onFail(message)
{
alert('Failed because: ' + message);
}
</script>
</head>
在身体中我有这个标记,
<button onclick='takePhoto()'>Take Photo</button>
如上所述定义的工作正常。问题是我不想在我的html文档中定义javascript。我希望它看起来像这样,
<script type="text/javascript" src="Javascript/phonegap-1.3.0.js"></script>
<script type="text/javascript" src="Javascript/photo.js"></script>
让photo.js包含takePhoto方法。我无法让它像那样工作。在我的javascript控制台中,我收到了错误
Uncaught ReferenceError: takePhoto is not defined at file:///android_asset/www/index.html:81
答案 0 :(得分:1)
好的,所以我遇到的主要问题是我的photo.js文件中有错误。修复错误让我到了一个工作的地方。
我认为这个问题还有更多,但这就是为什么我在这里问了一个问题。在我将脚本内联之前,它也没有工作,让我觉得那里的脚本无法调用phonegap.cs中的代码。
事实证明它在我的电脑上的浏览器中不起作用,但在实际的Android和Android模拟器中它正在工作。
答案 1 :(得分:0)
检查一下:这是你的文件。你的导入
// I changed it for the purposes of not intersecting any other library.
(function() {
MyLibrary = {
takePhoto: function() {
// your code here
}
}
})()
然后您的html文档可以执行类似
的操作<button onclick='MyLibrary.takePhoto()'>Take Photo</button>