我有一段使用jQuery.MD5库的JS代码,在我的服务器上能够完美运行:
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://example.com/static/js/jquery.md5.js"></script>
</head>
<body>
<script>
// my code goes here (declaring variables and functions)
var code = $.md5('mystring');
// and a little more code
</script>
</body>
但是当我将它上传到一个网络应用程序(我无法控制)时,它会被显示成这个样子并且被放入一个iframe中:
<head>
<script>
// some extra variables are declared here
// double-checked that nothing here can break my code
</script>
</head>
<body>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://example.com/static/js/jquery.md5.js"></script>
<script>
// some code
var code = $.md5('mystring');
// some code
</script>
</body>
这段代码开始出现错误:$.md5 is not a function
。很奇怪。尝试清除缓存,将jquery.md5.js代码直接放入我的代码中,但都没有起作用。
请注意:在我的电脑上,所有的代码都可以正常工作,因此我的JS应该没有问题。
更新:问题代码的行为似乎是不可预测的,有时候它可以正常工作而不需要进行任何更改。
可能出了什么问题?