我写了一个.html文件来测试从另一个文件导入内容。文件结构如下所示:

测试(是一个文件夹)

ㄴasdf.html

ㄴlib(是一个文件夹)

---ㄴsjcl.js

asdf.html看起来像这样:

<!DOCTYPE html>
<html>
    <head>
        <title>form test</title>
        <script type="text/javascript" src="lib/sjcl.js"></script>
    </head>
    <body>
        <form action="" method="POST" onsubmit="sjcl.hash.sha512.hash(document.getElementsByName('normaltext')[0].value);">
            <p>input password.<br></p>
            <input type="text" name="normaltext" value="">
            <input type="submit" value="submit">
        </form>
    </body>
</html>


至于sjcl.js,我将这里的内容(http://bitwiseshiftleft.github.io/sjcl/sjcl.js)复制粘贴到了lib / sjcl.js文件中。

当我在Firefox上打开asdf.html时,在文本框中键入内容并单击“提交”,即使sjcl.js文件中已明确定义,控制台也会显示“ sjcl.hash.sha512未定义”。

我倾向于认为这不是sjcl.js的问题,而是我弄得一团糟。

如何确保将提交的sha512哈希值打印在控制台上?

最佳答案

您正在使用的sjcl库的特定版本没有sha512的代码。

似乎开发人员尚未更新已编译的程序包以匹配当前的源代码。您需要自己下载和编译存储库,或使用其他库才能使用该功能。您也可以提交issue来鼓励开发人员更新编译的库。

关于javascript - 在html中导入脚本:sjcl.hash.sha512未定义,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55095422/

10-09 09:09