Affectiva jsfiddle example adapted locally gives error: "Failed to load resource: ...affdex/adapter-1.4.0.js"

Affectiva jsfiddle example adapted locally gives error: "Failed to load resource: ...affdex/adapter-1.4.0.js"

我正在尝试改编 Affectiva 开发者网站上给出的 jsfiddle 示例:

https://jsfiddle.net/affectiva/opyh5e8d/show/

我将 fiddle 中的 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");
});
}
};

这个问题之前在 : 被问过 所以我接受了那里建议的答案并尝试 运行 它并检查了 控制台日志并收到错误:

"Failed to load resource: the http://localhost:8000/affdex/adapter-1.4.0.js server responded with a status of 404 (File not found)"

这实际上是 "require.." 行代码最终尝试加载的内容。 它看起来像是一个依赖项,但它没有在 jsfiddle 中列出,而且我也无法在 Affectiva SDK 网站上的任何地方找到它。

如果有人对此有任何想法,我们将不胜感激。谢谢。

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>

如果您真的需要在没有互联网访问的情况下运行它,如果您下载所有这些文件并将它们保存在与affdex.js

相同的位置,它就可以工作
  • affdex.js
  • affdex-worker.js
  • affdex-native-bindings.js.mem
  • affdex-native-bindings.js
  • affdex-native-bindings.data
  • affdex-native-bindings.asm.js
  • 适配器 1.4.0.js