Comment puis-je charger un webcomponent à travers les domaines?

0

La question

Pouvez-vous ne pas charger les webcomponents d'autres domaines?

Je suis un scro erreur dans firefox/linux.

J'ai ajouté ceci à nginx, mais ne peut toujours pas le charger:

  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>

Voici l'erreur:

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

Heres l'en-tête 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

La meilleure réponse

0

Les composants Web n'a rien à voir avec de la SCRO. L'attribut type="module" sur <script> tag causes de la SCRO demande. Contrairement à la classique scripts, module de scripts nécessitent l'utilisation de la SCRO protocole de cross-origin chercher.

Suivant cette ligne add_header Access-Control-Allow-Origin *; est inutile sur l'origine de domaine. Vous devez définir Access-Control-Allow-Origin l'en-tête de briskreader.com domaine. Si vous ne contrôlez pas briskreader.com, alors envisager l'utilisation classique de script. Vous pouvez toujours utiliser des composants Web classique avec des script.

2021-11-21 06:06:13

J'ai fait mettre sur les briskrsader et ça ne marche toujours pas.
chovy

@chovy Pouvez-vous partager l'en-tête de réponse pour la demande de //briskreader.com/components/feed-list.js?
Harshal Patil

mise à jour de la question, comme vous pouvez le voir, il a access-control-allow-origin: *
chovy

alors, voici le problème. j'ai été en utilisant http-server qui utilise le protocole http et mon serveur redirigé http -> https qui ne marchera pas pour le protocole agnostique url, je suppose. Bizarre.
chovy

Si je change le src attribut du module à partir de // pour https:// il fonctionne très bien.
chovy

Idéalement // devrait fonctionner. Mais c'est étrange. Content que cela a fonctionné pour vous.
Harshal Patil

Je upvoted (à partir d'un -1 vote d'état). [dans mon profane mots] // moyens: faire la demande avec le protocole le demandeur est en cours d'exécution, si une page servi avec HTTP effectue une requête HTTP; puis le HTTPS serveur se bloque, puisque c'est une insécurité demande. Faire un 2 minutes de recherche sur Google et vous obtiendrez beaucoup de réponses.
Danny '365CSI' Engelman

J'ai pensé que briskreader.com est aussi sur http et pas seulement https.
Harshal Patil

Dans d'autres langues

Cette page est dans d'autres langues

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