回答編集履歴

3

訂正

2022/03/28 08:39

投稿

退会済みユーザー
test CHANGED
@@ -26,7 +26,7 @@
26
26
 
27
27
  **【追記2】**
28
28
 
29
- 下のコメント欄の 2022/03/28 17:30 の私のコメントで「普通はこうするという図を回答欄に追記しておきます」と書いた件です。CDN から取得する場合はこういう感じになります。アクセス権の問題が無くて、上の【追記】に書いたような特別なケースでなけれれば CORS とか関係なくブラウザは js ファイル取得できます。
29
+ 下のコメント欄の 2022/03/28 17:30 の私のコメントで「普通はこうするという図を回答欄に追記しておきます」と書いた件です。CDN から取得する場合はこういう感じになります。アクセス権の問題が無くて、上の【追記】に書いたような特別なケースでなけれれば CORS とか関係なくブラウザは js ファイル取得できます。
30
30
 
31
31
  ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-03-28/29a4781f-da7f-4adc-b0d6-2251f0710920.jpeg)
32
32
 

2

追記

2022/03/28 08:38

投稿

退会済みユーザー
test CHANGED
@@ -21,3 +21,14 @@
21
21
  上の記事では crossorigin="use-credentials" にしたとのことですが、Access-Control-Allow-Origin: * を返すように設定したのであれば crossorigin="anonymous" で試してみてください。
22
22
 
23
23
  crossorigin="use-credentials" にすると要求の credential mode が 'include' になり、そのモードでは Access-Control-Allow-Origin にワイルドカード '*' は許されてないので CORS ポリシーによりブロックされスクリプトは読み込まれませんので。
24
+
25
+ ---
26
+
27
+ **【追記2】**
28
+
29
+ 下のコメント欄の 2022/03/28 17:30 の私のコメントで「普通はこうするという図を回答欄に追記しておきます」と書いた件です。CDN から取得する場合はこういう感じになります。アクセス権の問題が無くて、上の【追記】に書いたような特別なケースでなけれれば CORS とか関係なくブラウザは js ファイルは取得できます。
30
+
31
+ ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-03-28/29a4781f-da7f-4adc-b0d6-2251f0710920.jpeg)
32
+
33
+ 質問者さんの場合はこれとは違うのですか? 違う場合はどのように違うのか説明願います。
34
+

1

追記

2022/03/28 02:24

投稿

退会済みユーザー
test CHANGED
@@ -8,3 +8,16 @@
8
8
  「sample.ne.jp」というサーバーからブラウザに送られてきた html ソースに ```<script src="https://hoge.com/hoge.js"></script>``` が含まれていて、ブラウザがそれを見て指定された「hoge.com」の場所から js ファイルを読むということならその js ファイルに匿名アクセスが許可されているか否かの話で CORS とか関係ないはずですけど。
9
9
 
10
10
  CDN とか JSONP って知ってますか? クロスドメインでも CORS とかなしで取得できるのはご存じですよね。
11
+
12
+ ---
13
+
14
+ **【追記】**
15
+
16
+ エラーメッセージ "blocked from asking for credentials because it is a cross-origin request" でググってみると、特定の設定&特定の環境のようですが同じエラーが出たという話があり、script タグに crossorigin 属性を追加することで解決できたそうです。試してみてはいかがですか?
17
+
18
+ type="module"がsafariで上手く読み込めなかった時の対応
19
+ https://qiita.com/shimooon/items/bd404af8107481e526af
20
+
21
+ 上の記事では crossorigin="use-credentials" にしたとのことですが、Access-Control-Allow-Origin: * を返すように設定したのであれば crossorigin="anonymous" で試してみてください。
22
+
23
+ crossorigin="use-credentials" にすると要求の credential mode が 'include' になり、そのモードでは Access-Control-Allow-Origin にワイルドカード '*' は許されてないので CORS ポリシーによりブロックされスクリプトは読み込まれませんので。