我怎么负载一个webcomponent跨领域?

0

的问题

你能不载webcomponents从其他领域?

我得到一个功能强大的错误在火狐/linux。

我加入这个服务,但仍然不能负荷:

  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>

这里是错误:

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

这里的头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

最好的答案

0

网络部件与软. 属性 type="module"<script> 标记导致的软请求。 不同于经典的脚本 模块脚本 需要使用功能强大的协议,为跨源提取.

接下来这条线 add_header Access-Control-Allow-Origin *; 是没用的地域。 你必须设置 Access-Control-Allow-Origin 头上 briskreader.com 域。 如果你不能控制 briskreader.com,那么考虑使用古典剧本。 你仍然可以使用网络组成有古典剧本。

2021-11-21 06:06:13

我把它设置在briskrsader和它仍然没有工作。
chovy

@chovy你可以分享的头响应的请求 //briskreader.com/components/feed-list.js?
Harshal Patil

更新的问题,你可以看到它 access-control-allow-origin: *
chovy

因此,这里的问题。 我是用 http-server 其使用的http和我的服务器重新定向http>https其不适用于议定书》无关的网址,我猜。 奇怪的。
chovy

如果我改变的 src 特性的模块 //https:// 它工作正常。
chovy

理想的情况 // 应工作。 但是,这是奇怪的。 很高兴为你工作。
Harshal Patil

我投赞成票(从-1投票状态)。 [在我的外行话] // 意味着:我请求与《议定书》的请求是运行,所以一个网页提供有HTTP使HTTP请求;然后HTTPS 服务器会阻止它,因为它是一个不安全的要求。 做一个2分钟谷歌搜索和你会得到足够的答复。
Danny '365CSI' Engelman

我以为 briskreader.com 也是服务于 http 并不只是 https.
Harshal Patil

其他语言

此页面有其他语言版本

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