Etki alanları arasında bir web bileşenini nasıl yüklerim?

0

Soru

Web bileşenlerini diğer etki alanlarından yükleyemiyor musunuz?

Firefox / linux'ta bir cors hatası alıyorum.

Bunu nginx'e ekledim ama yine de yükleyemiyorum:

  add_header Access-Control-Allow-Origin *;

<html lang="en">
  <head>
      <meta charset="utf-8" />
      <script type="module" src="//briskreader.com/components/feed-list.js"></script>
  </head>
  <body>
    <feed-list topic="bitcoin"></feed-list>
  </body>
</html>

İşte hata:

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://briskreader.com/components/feed-list.js. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing).

Loading module from “http://briskreader.com/components/feed-list.js” was blocked because of a disallowed MIME type (“text/html”).
test.html
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://briskreader.com/components/feed-list.js. (Reason: CORS request did not succeed).

İşte başlık briskreader.com:

$ curl -I 'https://briskreader.com/components/feed-list.js'
HTTP/2 200 
server: nginx/1.18.0 (Ubuntu)
date: Sun, 21 Nov 2021 06:30:51 GMT
content-type: application/javascript
content-length: 2187
expires: Sun, 21 Nov 2021 06:30:50 GMT
cache-control: no-cache
cache-control: no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0
access-control-allow-origin: *
accept-ranges: bytes
firefox nginx web-component
2021-11-20 05:37:14
1

En iyi cevabı

0

Web bileşenleri CORS ile ilgisi yoktur. Öznitelik type="module" üzerinde <script> etiket CORS isteğine neden olur. Klasik komut dosyalarından farklı olarak, modül komut dosyaları çapraz kaynak getirme için CORS protokolünün kullanılmasını gerektirir.

Sonraki satır add_header Access-Control-Allow-Origin *; kaynak etki alanında işe yaramaz. Ayarlamanız gerekir Access-Control-Allow-Origin başlık açık briskreader.com alan. Eğer kontrol etmezsen briskreader.com sonra klasik senaryoyu kullanmayı düşünün. Web bileşenlerini klasik komut dosyasıyla kullanmaya devam edebilirsiniz.

2021-11-21 06:06:13

Briskrsader'a kurdum ve hala çalışmıyor.
chovy

@chovy İstek için yanıt başlığını paylaşabilir misiniz //briskreader.com/components/feed-list.js?
Harshal Patil

güncellenmiş soru, gördüğünüz gibi access-control-allow-origin: *
chovy

işte sorun. kullanıyordum http-server http kullanan ve sunucum http -> https'yi yeniden yönlendirdi, bu da protokol agnostik url'leri için işe yaramayacak sanırım. Tuhaf.
chovy

Eğer değiştirirsem src modülün özniteliği // -e doğru https:// gayet iyi çalışıyor.
chovy

İdeal olarak // çalışması gerekir. Ama bu garip. Senin için çalıştığına sevindim.
Harshal Patil

Oyumu yükselttim (-1 oy durumundan). [meslekten olmayan sözlerimle] // anlamı: isteği istek sahibinin çalıştığı protokolle yapın, böylece HTTP ile sunulan bir sayfa bir HTTP isteği yapar; daha sonra HTTP S sunucusu güvenli olmayan bir istek olduğu için onu engeller. 2 Dakikalık bir Google araması yapın ve çok sayıda yanıt alırsınız.
Danny '365CSI' Engelman

Ben düşündüm briskreader.com ayrıca hizmet vermektedir http ve sadece değil https.
Harshal Patil

Diğer dillerde

Bu sayfa diğer dillerde

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................