本地改编的Affectiva jsfiddle示例给出了错误:"无法加载资源:... affdex / adapter-1.4.0.js"

时间:2016-10-20 21:17:24

标签: javascript affdex-sdk

我试图调整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站点的任何地方找到它。

如果有人对此有所了解,我们将不胜感激。感谢。

2 个答案:

答案 0 :(得分:3)

如果您确实需要能够在没有Internet访问权限的情况下运行它,那么如果您下载所有这些文件并将它们保存在与affdex.js相同的位置,则它可以正常运行

  • affdex.js
  • affdex-worker.js
  • affdex天然-bindings.js.mem
  • affdex天然-bindings.js
  • affdex-native-bindings.data
  • affdex天然-bindings.asm.js
  • 适配器-1.4.0.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>