为什么我的Javascript脚本标签不起作用?

时间:2019-02-16 06:52:15

标签: javascript django

虽然我的css是有效的,但我在django中的脚本标签却无法正常工作。

我将MEDIA_URLSTATIC_URL包括在基本urls.py中,如下所示:

if settings.DEBUG:
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
    urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

仅具有属性integritycrossorigin的脚本标签有效(外部引导CDN和JQuery)。但是其他脚本,即本地脚本(JavaScript在同一文件中,如我将在下面显示)和带有外部源链接的脚本标签(如<script src="https://js.stripe.com/v3/"></script>)不起作用。 无法运行的JavaScript代码是:

<button id="togglebtn" class="btn btn-warning" style="width: 100%;">
         Checkout with a credit card
       </button>    //onClick didn't work
<script type="text/javascript">
 function toggleDisplay() {
      var x = document.getElementById("collapseStripe");
      if (x.style.display === "none") {
          x.style.display = "block";
      } else {
          x.style.display = "none";
      }
    }
  document.getElementById("togglebtn").addEventListener("click", toggleDisplay);
</script>

我已经在我的settings.py文件中添加了CSP:

CSP_STYLE_SRC = ("'self'", 'https://stackpath.bootstrapcdn.com/', ' https://use.fontawesome.com/releases/v5.0.13/css/all.css ',)
CSP_FONT_SRC = ("'self'",  'https://use.fontawesome.com/', )
CSP_IMG_SRC = ("'self'",  'https://js.stripe.com',)
CSP_FRAME_ANCESTORS = ("'self'", 'frame-ancestors', 'https://js.stripe.com/v3/', 'https://js.stripe.com',)
CSP_SCRIPT_SRC = ("'self'", 'https://ajax.googleapis.com/', 'https://code.jquery.com/', 'https://cdnjs.cloudflare.com/',
                  'https://stackpath.bootstrapcdn.com/', 'https://js.stripe.com/v3/', 'https://js.stripe.com',
                  )

我不知道这是否是脚本的障碍。

0 个答案:

没有答案