c# - 如何在 Blazor 页面中嵌入推文?
问题描述
是否有一种公认的方法可以在 Blazor 页面中嵌入推文或其他社交媒体帖子?Twitter 嵌入和大多数其他标签中的标签在 Visual Studio 中会产生编译器错误。
以下是 Twitter 告诉您粘贴到源代码中的内容:
<blockquote class="twitter-tweet"><p lang="en" dir="ltr">Is there an accepted method to embed a Tweet or other social media post in a <a href="https://twitter.com/hashtag/Blazor?src=hash&ref_src=twsrc%5Etfw">#Blazor</a> page? The <script> tags in most embeds give a compiler error in Visual Studio.</p>— BenjaminCharlton (@Benjami63766584) <a href="https://twitter.com/Benjami63766584/status/1296819523304271873?ref_src=twsrc%5Etfw">August 21, 2020</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
请问在 Blazor 页面上执行此操作的正确方法是什么?
解决方案
您可以从此页面获取脚本并将其放入您的 Index.html
从您拥有的脚本中删除脚本,或使用 API 生成没有脚本的脚本。
这是一个将接受嵌入字符串作为参数的组件:
@using Microsoft.JSInterop
@((MarkupString)RawHtml)
@code {
[Inject]
public IJSRuntime JSRuntime { get; set; }
[Parameter]
public string RawHtml { get; set; }
protected override async Task OnAfterRenderAsync(bool firstRender)
{
if (firstRender)
{
await JSRuntime.InvokeVoidAsync("twttr.widgets.load");
}
}
}
推荐阅读
- javascript - 如何将html字符串读取为工作表?
- sqlite - 如何从sqlite中的计算列和表中的列计算天数
- javascript - 如何在不允许用户读取数据的情况下将数据存储在 Windows 共享文件夹 JSON 中?
- mongodb - (如何)聚合()可以破坏索引?
- macos - 奇怪的目录被添加到我的 PATH
- excel - VBA 在 Excel 中的 Word 文档中创建报告
- python - 输出视频与原始视频不同 Open CV
- ios - 仅在滚动时,iFrame 中的延迟加载页面在 iOS 设备上(垂直)被切断
- pandas - Pandas:仅将列中的某些字符串大写
- g1ant - 带有参数相对真或相对假的颜色命令输出?