我目前正在使用 HtmlUnit 开发一些测试.它正在加载一个包含 Braintree.js(他们的表单加密库)的页面.我有一堆正在运行,但我被困在它称为加密的地方.有问题的JS是:
I'm currently developing some tests with HtmlUnit. It's loading a page that contains braintree.js (their form encryption library). I have a bunch running, but I'm stuck where it calls crypto. The JS in question is:
(function() {
try {
var ab = new Uint32Array(32);
crypto.getRandomValues(ab);
sjcl.random.addEntropy(ab, 1024, "crypto.getRandomValues");
} catch (e) {}
})();
HtmlUnit 正在抛出:
HtmlUnit is throwing:
EcmaError, ReferenceError, "'crypto' is not defined."
我想 HtmlUnit 不包括加密.是否可以自己包含一个加密库?
I suppose HtmlUnit doesn't include crypto. Would it be possible to include a crypto library myself?
根据您的评论,我不得不告诉您,HtmlUnit 在涉及到 JavaScript 时是一个令人头疼的问题.它会抱怨很多没有定义的变量和未知的函数等等.
Based on your comment, I have to tell you that HtmlUnit is a pain in the neck when it comes to JavaScript. It will complain a lot about variables not being defined and unknown functions and so on.
真正的浏览器更灵活,例如:它们接受语法不正确的 JavaScript 片段.HtmlUnit 期望一切都是完美的,没有任何错误.此外,即使您没有错过分号,HtmlUnit 也可能会抱怨.
Real browsers are more flexible, eg: they accept syntactically incorrect pieces of JavaScript. HtmlUnit expects everything to be perfect without any kind of error. Furthermore, even if you didn't miss a semicolon, HtmlUnit might complain.
我的建议:
BrowserVersions 之间切换.事实证明,Internet Explorer(具有讽刺意味的是)在解释 JavaScript 时提供了最佳结果BrowserVersions. Internet Explorer (ironically) has proven to provide the best results when it comes to interpreting JavaScript这篇关于JavaScript 未在 HtmlUnit 中正确执行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!
Java从数组中删除重复项?Java Remove Duplicates from an Array?(Java从数组中删除重复项?)
如何修复调用失败来自服务器的意外响应:在 AnHow to fix Invocation failed Unexpected Response from Server: Unauthorized in Android studio(如何修复调用失败来自服务器的意外响应:在
AES 加密,解密文件中有多余的垃圾字符AES encryption, got extra trash characters in decrypted file(AES 加密,解密文件中有多余的垃圾字符)
AES 错误:给定的最终块未正确填充AES Error: Given final block not properly padded(AES 错误:给定的最终块未正确填充)
在 JAVA 中使用 AES/GCM 检测不正确的密钥Detecting incorrect key using AES/GCM in JAVA(在 JAVA 中使用 AES/GCM 检测不正确的密钥)
Java 中的 AES-256-CBCAES-256-CBC in Java(Java 中的 AES-256-CBC)