jQuery在自定义插件(elevateZoom)之后加载。导致elevateZoom失败。

有没有解决方法?

请注意:根据政策,我只能更改正文。

<script type="text/javascript" src="/sites/default/files/jquery.elevateZoom.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

<script type="text/javascript">
  $(document).ready(function () {
    $("#zoom_01").elevateZoom();
  });
</script>

<p>
  <img id="zoom_01" alt="" data-entity-type="" data-entity-uuid=""
       data-zoom-image="/sites/default/files/2017-06/Ipad-with-loupe.png"
       src="/sites/default/files/2017-06/Ipad-with-loupe-small.png" />
</p>


控制台中的错误消息如下:

Refused to load the script 'https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js' because it violates the following Content Security Policy directive: "script-src 'self' 'unsafe-eval' 'unsafe-inline'


实时链接-https://www.workbooks.com/test-jquery-zoom

最佳答案

您的网站具有防止您从CDN加载jQuery的内容安全策略。

您链接的实时站点具有Content-Security-Policy标头的以下签名:

Content-Security-Policy:script-src 'self' 'unsafe-eval' 'unsafe-inline' https://www.youtube.com/ https://maps.googleapis.com ; object-src 'self'


您需要将ajax.googleapis.com域添加到该策略,或者将jQuery托管在已列入白名单的站点之一中。

关于javascript - 确保仅在第一个脚本之后加载第二个脚本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44757912/

10-12 15:37