【问题标题】:Load external HTTPS script in HTTP WordPress site在 HTTP WordPress 站点中加载外部 HTTPS 脚本
【发布时间】:2026-02-24 00:00:01
【问题描述】:

我正在尝试使用 PHP 在 WordPress HTTP 站点上加载脚本。该脚本本身位于另一个站点上,并且只能通过 HTTPS 访问。我正在使用以下行加载脚本:

wp_enqueue_script('airtable_embed', 'https://static.airtable.com/js/embed/airtable_embed.js');

但是,当页面加载时,url 中的 https 总是被 http 替换,并且脚本 not 通过 HTTP 可用 - 只有 HTTPS。由于找不到HTTP版本,所以报错:

http://static.airtable.com/js/embed/airtable_embed.js?ver=4.3.1
Failed to load resource: the server responded with a status of 403 (Forbidden)

WordPress 文档说

可以使用与协议无关的 URL 指定远程脚本,例如//otherdomain.com/js/their-script.js.

所以,我认为协议从 HTTPS 更改为 HTTP 的原因是 WordPress 强制它使用与当前站点相同的协议。如何解决这个问题并将 HTTPS 脚本包含在我的 HTTP 站点中?

【问题讨论】:

  • 他们不希望您在 HTTP 站点上包含 HTTPS 脚本是有原因的。有很多事情不能在 HTTP 上做,而你可以在 HTTPS 上做,因为 HTTP 不安全。
  • 只是一个小点,你没有使用 与协议无关的 URL 你引用了https: 那是特定于协议的

标签: php wordpress security ssl https


【解决方案1】:

如果您将 airtable embed sn-p 粘贴到 HTML 页面中,然后检查 DOM,您可以为您的 wordpress 网站获取原始 HTML。

【讨论】:

    最近更新 更多