# Twitter 原生嵌入

**URL:** https://meta.discourse.org/t/twitter-native-embed/261792
**Category:** Theme component
**Created:** [2023年四月15日 12:35 UTC](https://meta.discourse.org/t/twitter-native-embed/261792 "2023-04-15T12:35:49Z")
**Posts on this page:** 20
**Page:** 5

<div class="post-metadata">

### Author: ![Yt.w](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/yt.w/32/348367_2.png) [@Yt.w](https://meta.discourse.org/u/Yt.w)
#### Post date: [2024年八月14日 08:01 UTC](https://meta.discourse.org/t/twitter-native-embed/261792/81 "2024-08-14T08:01:52Z")

</div>

是的，我屏蔽了 [Twitter.com](http://Twitter.com) 和 [x.com](http://x.com)。  
但是推文的原生嵌入无法显示。取而代之的是，嵌入的推文不带图片和视频。

该插件在我旧的 3.2.0 站点上可用，但在新的 3.3.0 站点上却无法使用。

---

<div class="post-metadata">

### Author: ![Yt.w](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/yt.w/32/348367_2.png) [@Yt.w](https://meta.discourse.org/u/Yt.w)
#### Post date: [2024年八月14日 12:54 UTC](https://meta.discourse.org/t/twitter-native-embed/261792/82 "2024-08-14T12:54:30Z")

</div>

编辑帖子本身后，它就能正常工作了。真有趣。

---

<div class="post-metadata">

### Author: ![SPJohn](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/spjohn/32/446429_2.png) [@SPJohn](https://meta.discourse.org/u/SPJohn)
#### Post date: [2025年四月6日 20:41 UTC](https://meta.discourse.org/t/twitter-native-embed/261792/83 "2025-04-06T20:41:31Z")

</div>

更新Discourse后，似乎这个组件又坏了。

有人遇到这种情况并找到解决方法吗？

---

<div class="post-metadata">

### Author: ![Jack123](https://avatars.discourse-cdn.com/v4/letter/j/c37758/32.png) [@Jack123](https://meta.discourse.org/u/Jack123)
#### Post date: [2025年八月20日 03:39 UTC](https://meta.discourse.org/t/twitter-native-embed/261792/84 "2025-08-20T03:39:16Z")

</div>

我也遇到了同样的问题。此组件在我的 discourse 版本 3.5.0.beta9-dev 上不起作用。有人能帮忙吗？

---

<div class="post-metadata">

### Author: ![ncaming215](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ncaming215/32/205701_2.png) [@ncaming215](https://meta.discourse.org/u/ncaming215)
#### Post date: [2025年八月23日 18:18 UTC](https://meta.discourse.org/t/twitter-native-embed/261792/85 "2025-08-23T18:18:08Z")

</div>

来这里也说一样的话。这个组件坏了。

---

<div class="post-metadata">

### Author: ![Lhc\_fl](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/lhc_fl/32/268115_2.png) [@Lhc\_fl](https://meta.discourse.org/u/Lhc_fl)
#### Post date: [2025年八月24日 01:40 UTC](https://meta.discourse.org/t/twitter-native-embed/261792/86 "2025-08-24T01:40:22Z")

</div>

这个主题组件在我的最新论坛上仍然有效。

它没有坏。也许我们可以检查一下配置错误？

> [@Twitter Native Embed](https://meta.discourse.org/t/twitter-native-embed/261792/28?u=lhc_fl):
>
> Alright +1. I tested, and if oneboxes don’t work well (like, not showing media), then you must add twitter.com in blocked onebox domains in order for the component to work. slight_smile From: To: I didn’t use the theme component widely and didn’t encounter the issue, but my guess is that Discourse doesn’t know how tall will be a Twitter iframe before the content is loaded. When the iframe loads, it pushes the content arround it, creating this behavior. Can you captu…

---

<div class="post-metadata">

### Author: ![Richie](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/richie/32/115110_2.png) [@Richie](https://meta.discourse.org/u/Richie)
#### Post date: [2025年八月24日 08:37 UTC](https://meta.discourse.org/t/twitter-native-embed/261792/87 "2025-08-24T08:37:38Z")

</div>

在我的 Discourse 上也运行正常（同样是最新版本）。

---

<div class="post-metadata">

### Author: ![David\_Ghost](https://avatars.discourse-cdn.com/v4/letter/d/c37758/32.png) [@David\_Ghost](https://meta.discourse.org/u/David_Ghost)
#### Post date: [2025年八月24日 08:41 UTC](https://meta.discourse.org/t/twitter-native-embed/261792/88 "2025-08-24T08:41:53Z")

</div>

这里运行也很好，在最新的 Discourse 上。

---

<div class="post-metadata">

### Author: ![ncaming215](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ncaming215/32/205701_2.png) [@ncaming215](https://meta.discourse.org/u/ncaming215)
#### Post date: [2025年八月24日 22:46 UTC](https://meta.discourse.org/t/twitter-native-embed/261792/89 "2025-08-24T22:46:40Z")

</div>

![Screenshot 2025-08-24 at 6.46.17 PM](https://global.discourse-cdn.com/meta/original/4X/1/8/e/18e95843dde7e060efe4c36487fd65bc983ff848.png)

> **[Call me crazy, but](https://thedenforum.com/t/call-me-crazy-but/43981)**
>
> I wouldn’t hate bringing him in.

---

<div class="post-metadata">

### Author: ![ncaming215](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ncaming215/32/205701_2.png) [@ncaming215](https://meta.discourse.org/u/ncaming215)
#### Post date: [2025年八月24日 22:47 UTC](https://meta.discourse.org/t/twitter-native-embed/261792/90 "2025-08-24T22:47:22Z")

</div>

我 fork 了这个仓库，并且 _某种程度上_ 让它工作了（它发了 8 次相同的推文），但我还是恢复到了你的组件。不管怎样，我还是无法让它工作。

---

<div class="post-metadata">

### Author: ![Jack123](https://avatars.discourse-cdn.com/v4/letter/j/c37758/32.png) [@Jack123](https://meta.discourse.org/u/Jack123)
#### Post date: [2025年八月28日 23:32 UTC](https://meta.discourse.org/t/twitter-native-embed/261792/91 "2025-08-28T23:32:36Z")

</div>

该组件在我旧的 3.4.6 版本论坛中运行正常。配置完全相同。但在 3.5.0.beta9-dev 版本中却无法运行。

---

<div class="post-metadata">

### Author: ![REALITY](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/reality/32/199798_2.png) [@REALITY](https://meta.discourse.org/u/REALITY)
#### Post date: [2025年八月29日 00:03 UTC](https://meta.discourse.org/t/twitter-native-embed/261792/92 "2025-08-29T00:03:32Z")

</div>

我刚刚更新到 3.5.0.beta9-dev，这里似乎仍然可以正常工作。虽然这没什么帮助，但我认为 Discourse 不是问题所在。

 ![Screenshot_20250829_010037](https://global.discourse-cdn.com/meta/original/4X/8/4/3/8434d21460e9938afc72db8a71b9b3e783dac699.png)

---

<div class="post-metadata">

### Author: ![etc](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/etc/32/114717_2.png) [@etc](https://meta.discourse.org/u/etc)
#### Post date: [2025年九月24日 11:23 UTC](https://meta.discourse.org/t/twitter-native-embed/261792/93 "2025-09-24T11:23:33Z")

</div>

几周前，Twitter 预览对我们来说仍然可以正常工作，无需此解决方案。不确定此次中断是否与新版本有关。这是确保 Twitter 链接预览正常工作的公认方法吗？

我尝试按照说明安装插件并进行配置，但遇到了障碍。

当我尝试将 [https://platform.twitter.com](https://platform.twitter.com) 添加到内容安全策略脚本 src 设置时，出现以下错误：

`发生错误：content_security_policy_script_src：值必须是 'unsafe-eval' 或 'wasm-unsafe-eval'，或者采用 '-' 的形式，其中支持的哈希算法为 sha256、sha384 或 sha512。请确保您的输入用单引号括起来。`

---

<div class="post-metadata">

### Author: ![jazznutUVA](https://avatars.discourse-cdn.com/v4/letter/j/7ba0ec/32.png) [@jazznutUVA](https://meta.discourse.org/u/jazznutUVA)
#### Post date: [2025年十一月5日 13:20 UTC](https://meta.discourse.org/t/twitter-native-embed/261792/94 "2025-11-05T13:20:54Z")

</div>

大家好…只是想看看这个问题是否已经解决或弄清楚了？

目前运行的是 3.5.2 版本，如果使用 [x.com](http://x.com) 则无法工作，但如果更改为 [twitter.com](http://twitter.com) 则可以工作！

 ![image](https://global.discourse-cdn.com/meta/original/4X/4/2/1/421bba9d3eb0e2177447cee6802f852c60b24e1a.png)

---

<div class="post-metadata">

### Author: ![legrit](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/legrit/32/90307_2.png) [@legrit](https://meta.discourse.org/u/legrit)
#### Post date: [2025年十一月5日 15:13 UTC](https://meta.discourse.org/t/twitter-native-embed/261792/95 "2025-11-05T15:13:53Z")

</div>

将“阻止重定向时的一箱式显示”设置修复了我的问题

---

<div class="post-metadata">

### Author: ![ZeroDean](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/zerodean/32/527869_2.png) [@ZeroDean](https://meta.discourse.org/u/ZeroDean)
#### Post date: [2025年十二月20日 17:32 UTC](https://meta.discourse.org/t/twitter-native-embed/261792/96 "2025-12-20T17:32:18Z")

</div>

> [@jazznutUVA](#):
>
> 如果你使用 [x.com](http://x.com) 它不工作，但如果你把它改成 [twitter.com](http://twitter.com) 它就工作了！

我这里也是一样。如果 [x.com](http://x.com) 能用就更好了，但至少在 2025 年 12 月，这仍然是一个有效的变通方法。

---

<div class="post-metadata">

### Author: ![Lilly](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/lilly/32/575047_2.png) [@Lilly](https://meta.discourse.org/u/Lilly)
#### Post date: [2025年十二月20日 18:22 UTC](https://meta.discourse.org/t/twitter-native-embed/261792/97 "2025-12-20T18:22:26Z")

</div>

@ZeroDean

如果您在“阻止的 onebox 域名”中阻止 `x.com` 的 onebox，然后启用“阻止重定向上的 onebox”，该组件应该可以工作（我刚刚在一个自托管的站点上进行了测试）：

![Screenshot 2025-12-20 at 10.19.27 AM](https://global.discourse-cdn.com/meta/original/4X/a/6/5/a652626f2217b8725ac7c685d52ee10f4abab783.png)

  

![Screenshot 2025-12-20 at 10.20.49 AM](https://global.discourse-cdn.com/meta/original/4X/7/7/f/77f3420b70b32202cb5096b644c6f6f98eb00d3d.png)

---

<div class="post-metadata">

### Author: ![ZeroDean](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/zerodean/32/527869_2.png) [@ZeroDean](https://meta.discourse.org/u/ZeroDean)
#### Post date: [2025年十二月20日 18:30 UTC](https://meta.discourse.org/t/twitter-native-embed/261792/98 "2025-12-20T18:30:59Z")

</div>

感谢 @Lilly！我特别欣赏这些说明/视觉效果。

它似乎在新帖子中有效。对旧帖子似乎没有影响（奇怪）。但这可能是一个缓存问题。我稍后会弄清楚。

再次感谢。

---

<div class="post-metadata">

### Author: ![Lilly](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/lilly/32/575047_2.png) [@Lilly](https://meta.discourse.org/u/Lilly)
#### Post date: [2025年十二月20日 19:19 UTC](https://meta.discourse.org/t/twitter-native-embed/261792/99 "2025-12-20T19:19:32Z")

</div>

您可以像这样在 Rails 中清除缓存并重新烘焙（最好先进行备份）。  
或者您可以等待 24 小时让 onebox 缓存过期。

```bash
# 进入 Rails 控制台
./launcher enter app
rails c

```

```ruby
# 从 Rails 控制台

# 1. 从 Redis 清除 onebox 缓存
Discourse.redis.keys("*onebox*").each { |key| Discourse.redis.del(key) }

# 2. 重新烘焙包含 twitter.com 的帖子
Post.where("raw LIKE ?", "%twitter.com%").find_each { |post| post.rebake! }

```

---

<div class="post-metadata">

### Author: ![ZeroDean](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/zerodean/32/527869_2.png) [@ZeroDean](https://meta.discourse.org/u/ZeroDean)
#### Post date: [2025年十二月20日 19:20 UTC](https://meta.discourse.org/t/twitter-native-embed/261792/100 "2025-12-20T19:20:54Z")

</div>

感谢 @Lilly。我目前是托管状态，所以无法访问 rails。我没问题等 24 小时。但确实很有用！🙌

[上一頁](https://meta.discourse.org/t/twitter-native-embed/261792.md?page=4)

[下一頁](https://meta.discourse.org/t/twitter-native-embed/261792.md?page=6)
