gpt4 book ai didi

JavaScript 未在 HtmlUnit 中正确执行

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:16:25 25 4
gpt4 key购买 nike

我目前正在使用 HtmlUnit 开发一些测试。它正在加载一个包含 braintree.js(他们的表单加密库)的页面。我有一群人在跑,但我被困在它称之为加密的地方。有问题的 JS 是:

  (function() {
try {
var ab = new Uint32Array(32);
crypto.getRandomValues(ab);
sjcl.random.addEntropy(ab, 1024, "crypto.getRandomValues");
} catch (e) {}
})();

HtmlUnit 正在抛出:

EcmaError, ReferenceError, "'crypto' is not defined."

我想 HtmlUnit 不包含加密。是否可以自己包含一个加密库?

最佳答案

根据您的评论,我必须告诉您,当涉及到 JavaScript 时,HtmlUnit 是一个令人头疼的问题。它会提示很多关于 undefined variable 和未知函数等。

真正的浏览器更灵活,例如:它们接受语法错误的 JavaScript 片段。 HtmlUnit 期望一切都完美无缺。此外,即使您没有漏掉分号,HtmlUnit 也可能会报错。

我的建议:

  • 确保您的 JavaScript 在语法上是正确的
  • 避免使用复杂的库(jQuery 似乎得到了适当的支持)
  • 如果您可以使用非最小化版本的库,那么值得一试
  • 尽量避免使用复杂的 jQuery 方法(例如:向元素动态添加事件)
  • 最重要的一点:尝试在不同的浏览器版本之间切换。 Internet Explorer(具有讽刺意味的是)已被证明在解释 JavaScript 方面提供最佳结果

关于JavaScript 未在 HtmlUnit 中正确执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19646612/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com