在 iFrames 中使用查找和替换功能有效吗?

TLDR:是否有办法在 iFrame 中查找和替换文本?

我们正尝试在我们网站上使用 Vidyard 嵌入,但他们生成的 iframe 嵌入文本在 URL 中不包含 https:

只需将 src="//play... 更新为 src="https://play... 即可解决此问题。我向 Vidyard 团队提出,除了 iframe 方式外,所有其他嵌入选项都包含 https。在他们从后端修复之前,我正尝试在 Discourse 中自动更正。我的想法是使用 watched-words 替换为上述字符串,但这似乎不起作用。我猜 Watched Words 不会查看代码内部。这是正确的吗?

为什么要替换这些?

使用双斜杠是一种常见且有效的方法,可以确保嵌入内容使用与嵌入页面相同的安全/非安全协议。这可以避免浏览器在混合使用安全和非安全内容时发出的各种警告。

这被称为协议相对 URL:https://en.wikipedia.org/wiki/URL#prurl

因为播放器在没有 https 的情况下无法加载

啊!如果我理解正确的话:

您已在“允许的 iframe”设置中将 https://play.vidyard.com/ 列入了白名单。但由于嵌入代码未指定协议……嵌入无法正常工作?

如果是这样,我认为最好的前进方式是向您的 Discourse 主机(也许是我们)提交支持工单,看看我们是否可以在白名单中硬编码 //play.vidyard.com;绕过输入检查或进行其他类似的创意操作。

2 个赞

您说得对,现有的白名单路径是 https://play.vidyard.com/。我刚尝试添加非 HTTPS 版本,但设置似乎不接受:

我将提交一个支持工单 :slight_smile: 感谢您的帮助 @Bas

3 个赞