使用 jquery-rss 解析 XML 的 CORS 问题

CORS Issue Using jquery-rss to Parse XML

我正在尝试使用 jquery-rss 来解析博客的 RSS 提要,主要是因为它能够在 XML 节点内解析嵌套的 HTML 元素,例如图像。我在本地完美地 运行ning(具有讽刺意味的是,因为通常是本地开发给我带来了最大的 CORS 痛苦):

<!DOCTYPE html>
<html>
<head>
  <meta name="viewport" content="width=device-width, initial-scale=1" /> 
  <title>jquery.rss example</title>
  <script src="http://code.jquery.com/jquery-1.6.4.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.8.4/moment.min.js"></script>
  <script src="jquery.rss.min.js"></script>
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css">
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></script>
  <script>
    jQuery(function($) {
      $("#rss-feeds").rss("https://blog.sonelp.com/rss.xml",
      {
        limit: 3,
        layoutTemplate: '<div class="news-items"><div class="row">{entries}</div><div class="view-all col-12 col-sm-12 col-md-12 col-lg-12 col-xl-12"><a href="https://blog.sonelp.com">View archive</a></div></div>',
        entryTemplate: '<div class="news-item col-12 col-sm-12 col-md-4 col-lg-4 col-xl-4"><div class="news-head"><a class="news-title" href="{url}">{title}</a><img class="img-fluid" src="{teaserImageUrl}" /><span class="news-date">{date}</span></div><div class="news-body">{shortBodyPlain}</div><div class="buttons"><a href="{url}" class="button-2 btn btn-primary read-more" target="_blank">Read more</div></div>'
      })
    })
  </script>
</head>
<body>
  <div id="rss-feeds"></div>
</body>
</html>

但是将其添加到我的网站后,我收到以下“混合内容”错误:

Mixed Content: The page at 'https://blah.com/' was loaded over HTTPS, but requested an insecure script 'http://www.feedrapp.info/?callback=jQuery16409576896732281612_1640639664174&q=https%3A%2F%2Fblog.sonelp.com%2Frss.xml&num=3&_=1640639664276'. This request has been blocked; the content must be served over HTTPS.

请注意,https 用于我尝试 运行 此代码的托管站点和实际 XML 提要 - 问题显然是 jquery-rss 使用同一开发人员的 Feedr 替换 Google 现已弃用的 Feed API 的解决方案,它通过 http 调用(“...请求一个不安全的脚本 'http://www.feedrapp.info...”)。我尝试直接在 jquery-rss 脚本中更正此问题,但无济于事。关于如何在此处进行的任何想法?

Rory McCrossan 在上面的评论中得到了正确的答案:我必须确保我想解析的 RSS 提要的 Feedr 调用使用的是 https,而不是 http。它花了一些时间,但是通过删除 ssl 的每个实例和对它的引用 in this script 然后确保 URL 的构造函数默认包含 https 解决了我的问题和我不再有混合内容错误。