我正在尝试开发一个HTA,用于从大型办公室中的许多人中提取和处理PDF文件中的数据。我一直在研究使用PDF.js软件包,但是我无法让它工作。
我forked the project并创建了一个包含compatibility.js文件的helloworld示例的HTA版本。我可以通过gulp服务器获得这个在Firefox和IE11上运行的HTML版本,但是HTA不提供任何输出 - 没有文本,没有错误消息。
在使用alert()语句编写源文件之后,我发现原始的hello.js文件缺少promise promise功能,并且在添加时会触发,但是在这里我的知识限制。我真的不太了解承诺,所以我不明白为什么这个失败。这是可解决的还是意味着包不会在HTA中运行?
编辑:
我一直在研究这个问题,失败没有意义。
跟踪逻辑,hello.js文件从api.js调用函数api.getDocument。在此之后,只有一个return语句和此行正在运行之前的alert语句。但是,已完成的功能未触发。
从我非常有限的理解来看,promise的失败子句将从异步操作中的throw()语句触发。如果是这种情况,那么我希望操作立即停止并且拒绝函数触发,但为什么返回语句之前的行仍然会运行?
我确实追求一种理论,即api.js中的这一行是抛出错误的那一行:
}).catch(task._capability.reject);
为了检查这一点,我在util.js中的reject()函数语句中添加了一个alert语句,但它没有触发,所以我无法分辨错误的来源。
有人能够给我任何额外的指示来帮助我追踪这个吗?
答案 0 :(得分:0)
解决!
通过将兼容性设置更改为IE10而不是IE9(我不知道我能做到),我在正确的位置得到了更有用的错误。仔细研究一下,这个问题似乎与这个问题重复: