我试图调整Affectiva开发者网站上提供的jsfiddle示例:
https://jsfiddle.net/affectiva/opyh5e8d/show/
我将小提琴中的html部分添加到html文件中,并将js脚本分别添加到js文件中并在html文件中调用它。
按下jsfiddle上的开头会显示多个日志和弹出窗口,请求使用相机的权限。但我当地的例子没有这样做。 使用一些控制台日志进行调试,我将其缩小到一行未在affdex.js(sdk提供的js文件)脚本代码中执行:
require(docElement, url, function() {
self._startCamera();
},
function() {
self.getCallback("onInitialize", false)("Unable to load adaptor.js to load the camera");
位于此代码块中,来自affdex.js:
self.start = function() {
if(!self.isRunning) {
ctor();
var url = affdex.getAffdexDotJsLocation() + adapterJSVersion;
require(docElement, url, function() {
self._startCamera();
},
function() {
self.getCallback("onInitialize", false)("Unable to load adaptor.js to load the camera");
});
}
};
之前曾在Affdex JS SDK - Can't get callbacks from the camera detector提出此问题 所以我把答案建议在那里,并尝试运行它并检查 控制台日志并得到错误:
"无法加载资源:http://localhost:8000/affdex/adapter-1.4.0.js服务器响应状态为404(找不到文件)"
实际上是"需要的......"代码行最终会尝试加载。 它看起来像是一个依赖项,但它没有在jsfiddle中列出,我也无法在Affectiva SDK站点的任何地方找到它。
如果有人对此有所了解,我们将不胜感激。感谢。
答案 0 :(得分:3)
如果您确实需要能够在没有Internet访问权限的情况下运行它,那么如果您下载所有这些文件并将它们保存在与affdex.js相同的位置,则它可以正常运行
答案 1 :(得分:1)
affdex.js从我们的CDN中提取了一堆依赖项,包括adaptor.js,这就是为什么你不能自己托管它的原因。您必须使用托管版本。 在您的HTML文件更改
<script src="http://localhost:8000/affdex/affdex.js" type="text/javascript"> </script>
到
<script src="https://download.affectiva.com/js/3.1/affdex.js" type="text/javascript"> </script>