' $。md5之谜不是函数'

时间:2017-08-10 15:48:01

标签: javascript jquery iframe md5

我有一个使用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>

然后我将它上传到一个Web应用程序(我无法控制),这使它看起来像这样并将其放入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必须没有问题

更新:有问题的代码行为似乎是不可预测的,这意味着有时它可以正常工作而无需更改。

有什么不对?

1 个答案:

答案 0 :(得分:0)

嗯......这有点令人尴尬,但问题出在jQuery上。我在iframe中包含的那个与页面中包含的那个冲突了。不知怎的,这会导致&#34;隐藏&#34;代码结束后我的$ .md5函数。

是的,我知道,很明显jQuery可能会导致问题。