0

我对网络作品相当陌生。我正在尝试让相机 api 工作,但我不断收到错误消息:

支持的错误:TypeError:'未定义'不是对象(评估'blackberry.media.camera')

我尝试使用的页面位于托管服务器上。代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" id="viewport" content="height=device-height,width=device-width,user-scalable=no" />
<script language="javascript" type="text/JavaScript" >
function takePicture() {
try {
blackberry.media.camera.takePicture(successCB, closedCB, errorCB);
} catch(e) {
alert("Error in supported: " + e);
}
}
function successCB(filePath) { 
document.getElementById("path").innerHTML = filePath;

//alert("Succeed: " + filePath);
}
function closedCB() {
// alert("Camera closed event");
}
function errorCB(e) {
alert("Error occured: " + e);
}
</script>
<title>Camera Test Widget</title>
</head>
<body >
<p>Test the Camera by pressing the button below</p>
<b><a href="#" onclick="takePicture();">Take a Picture</a></b>
<div id="path"></div>
</body>
</html>

而我的 config.xml 文件如下:

<?xml version="1.0" encoding="UTF-8"?>
<widget xmlns="http://www.w3.org/ns/widgets" 
xmlns:rim="http://www.blackberry.com/ns/widgets" 
version="1.0.0.0" rim:header="WebWorks Sample">
<access uri="http://www.flyloops.net/" subdomains="true">
<feature id="blackberry.app.event" required="true" version="1.0.0.0"/>
<feature id="blackberry.media.camera" />
</access>
<name>Flyloops.net</name>
<description>This is a sample application.</description>
<content src="index.html"/>
</widget>

该页面托管在:http ://www.flyloops.net/mobile/bb/camera.html

在过去的 3 个小时里,我一直在扯头发……任何帮助将不胜感激。

4

2 回答 2

1

如果使用 PlayBook,请确保定义了正确的元素 https://developer.blackberry.com/html5/apis/blackberry.media.camera.html

否则,如果您尝试远程网站访问 blackberry.media.camera API,那么您需要在 config.xml 中正确地将其列入白名单,如下所示:

<access uri="http://www.flyloops.net/" subdomains="true">
   <feature id="blackberry.media.camera" />
</access>
于 2012-10-31T18:43:06.377 回答
0

你在运行什么设备?代码看起来不错,应该可以工作。您可以从设备获取事件日志并查看引发了哪些异常。

谢谢

纳文 M

于 2012-07-13T18:57:28.423 回答