Cum pot încărca un webcomponent domenii?

0

Problema

Nu poți încărca webcomponents din alte domenii?

Primesc un cor de eroare în firefox/linux.

Am adaugat asta la nginx dar încă nu se poate încărca:

  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>

Aici e eroarea:

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).

Iată antetul de 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

Cel mai bun răspuns

0

Componente Web nu are nimic de-a face cu CORS. Atributul type="module" pe <script> tag cauze COR cerere. Spre deosebire de clasic scripturi, module scripturi necesită utilizarea de COR protocol pentru cross-origin preluarea.

Lângă această linie add_header Access-Control-Allow-Origin *; este inutil de origine domeniu. Trebuie să setați Access-Control-Allow-Origin antet pe briskreader.com domeniu. Dacă nu control briskreader.com, apoi ia în considerare utilizarea clasică script. Puteți utiliza în continuare componente Web clasice script.

2021-11-21 06:06:13

Am setat pe briskrsader și încă nu funcționează.
chovy

@chovy Puteți partaja antet de răspuns pentru cererea de //briskreader.com/components/feed-list.js?
Harshal Patil

actualizat întrebare, după cum puteți vedea, a access-control-allow-origin: *
chovy

deci, aici e problema. am fost folosind http-server care utilizează http și serverul meu redirecționat-http -> https care nu va lucra pentru protocol agnostic url-uri cred. Ciudat.
chovy

Dacă am schimba src atribut al modulului de // pentru a https:// acesta funcționează bine.
chovy

Ideal // ar trebui să funcționeze. Dar asta e ciudat. Mă bucur că a lucrat pentru tine.
Harshal Patil

Am upvoted (de la -1 vot de stare). [în profan cuvinte] // înseamnă: a face cererea cu protocolul solicitantul se execută, astfel încât o pagină servit cu HTTP face o cerere HTTP; apoi HTTPS serverul se va bloca, deoarece este o persoană nesigură cerere. Fac 2 minute de căutare pe Google și veți obține o mulțime de răspunsuri.
Danny '365CSI' Engelman

M-am gândit că briskreader.com este, de asemenea, servește pe http și nu doar https.
Harshal Patil

În alte limbi

Această pagină este în alte limbi

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