首页 > 解决方案 > 无法读取 Javascript 中未定义的属性“toString”

问题描述

toString()我知道在 javascript 文件中调用了该方法。但我不明白为什么我会收到错误。

<!DOCTYPE html>
<html>
<body>
<script src="https://raw.githubusercontent.com/bradymholt/cRonstrue/master/dist/cronstrue.js" type="text/javascript"></script>
<script>
    var cronstrue = window.cronstrue;
    alert(cronstrue.toString("* * * * *"));
</script>
</body>
</html>

图片

标签: javascripthtml

解决方案


https://raw.githubusercontent.com/bradymholt/cRonstrue/master/dist/cronstrue.js用作 mimetype text/plain - 因此浏览器不会将其加载为 javascript

但是,使用记录在案的 CDN url(并删除async)-您的代码可以完美运行

注意:文档包含async脚本的属性 - 如果包含该属性,则下面的代码将不起作用,因为脚本不会“及时”加载 - 因此,async除非您知道何时以及如何使用,否则不要使用该属性用它

<script src="https://unpkg.com/cronstrue@latest/dist/cronstrue.min.js"></script>
<script>
    var cronstrue = window.cronstrue;
    console.log(cronstrue.toString("* * * * *"));
</script>


推荐阅读