2017-06-26 12 views
0

Jqueryがロードされてから、2番目のスクリプトが読み込まれるようにします。 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

+1

これらのスクリプトタグの順序を逆にします。 jQuery; 2. jQueryに依存するその他すべて。 – Hitmands

+0

エラー出力は何ですか? – Edwin

+0

私は注文を変更しても差はありませんでしたか? –

答えて

0

これはブラウザになります。このため

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

にスクリプトタグを付けますまずjqueryをロードし、次にプラグインをロードします。 requirejsライブラリを使ってみることができます。 jsファイルを非同期にロードすることができ、依存関係を最初にロードし、次にプラグインをロードする機能を備えています。

+0

最近誰かがrequirejを使用していますか? :D – jsalonen

+0

私は少し古いことを知っています。しかし、それは初心者にとっては簡単です。 –

+0

私は完全にそして正当に反対しています:requirejsのような非同期ローダーは初心者にとっては驚くほど困難です。そしてその理由だけで、私は塩の穀物とそのrequirejs勧告を取るだろう。 ES2015はすでにモジュールを標準化しています。 redditのトピックについてもよく議論がありました:https://www.reddit.com/r/javascript/comments/3azxtj/requirejs_vs_browserify_vs_webpack/ – jsalonen

1

あなたのウェブサイトには、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' 

あなたはどちらか、すでにホワイトリストのthatsのサイトのいずれかで、そのポリシーまたはホストのjQueryへajax.googleapis.comドメインを追加する必要があります。

+1

誰かがCSPを使うことについての先見性を持っていたが、そこには「安全でない評価」と「危険なインライン」を含む脳死がより驚いた。彼らは文字通り「安全でない」と言っていますが、まだ... –

関連する問題