首页 > 解决方案 > 如果脚本不在脚本文件中,用户是否有任何理由无法加载脚本?

问题描述

问题

script tags我面临一个相当奇怪的问题,即如果 Windows 10 用户位于模板文件 (.html)中,则它们无法加载脚本。script file但是,如果将脚本添加到(.js)中,则它们可以正常加载。

问题是我无法将所有内容硬编码到脚本文件中,因为某些值是动态生成的。这是一个非常简单的例子:

前任:


   $.ajax({
      url: "{% url 'some-namespace' %}",
      type: "POST",
      data: data,
    ...

如果我要更改 url 模式,那么我可以直接在 Django urls.py 文件中执行此操作,而不必更新所有脚本。

我怎么知道这个?

当用户告诉我他得到了Uncaught ReferenceError: discardDraft is not defined,然后我意识到他的计算机没有在模板中加载脚本。我首先在模板文件中添加了一个基本警报来测试这一点,但什么也没出现。然后我尝试在脚本文件中添加另一个警报,瞧,它起作用了。

所以我非常困惑,老实说不知道如何解决这个问题。

该用户面临的其他问题:

make-corrections.js:96 Uncaught ReferenceError: discardDraft is not defined
    at HTMLButtonElement.<anonymous> (make-corrections.js:96)
    at HTMLButtonElement.dispatch (VM201 jquery-3.5.1.min.js:2)
    at HTMLButtonElement.v.handle (VM201 jquery-3.5.1.min.js:2)
    at HTMLButtonElement.c (rocket-loader.min.js:1)

我尝试禁用火箭装载机并在 cloudflare 上打开开发模式,但没有骰子。

这个问题似乎只影响这个特定的用户而不影响其他人。他们尝试了两种不同的浏览器(Opera 和 Chrome),隐身/私人浏览,并选中禁用缓存。所有插件也被禁用。

有什么想法吗?

编辑:

模板:


<body>

<script type="application/javascript" src="{% static 'js/jquery-3.5.1.min.js' %}"></script>

<script>
   code here
</script>

</body>

Edit2:我需要添加type="application/javascript"它才能为该用户工作吗?

标签: javascripthtmldjango

解决方案


推荐阅读