gpt4 book ai didi

meteor - 如何在 Meteor 中加载 Twitter 小部件等外部脚本?

转载 作者:行者123 更新时间:2023-12-04 01:24:40 24 4
gpt4 key购买 nike

我正在尝试在 meteor 中加载 Twitter 小部件,例如:

<blockquote class="twitter-tweet" lang="en"><p>&quot;Curiosity Finds Iron Meteorite on Mars&quot; <a href="http://t.co/qh6f1ITd7b">http://t.co/qh6f1ITd7b</a></p>&mdash; Daniel Fischer (@dfischer) <a href="https://twitter.com/dfischer/statuses/489240003927887872">July 16, 2014</a></blockquote>
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>

但这只是作为纯文本加载。

我尝试创建一个包:

Package.describe({
summary: "External script"
});

Package.on_use(function (api) {
api.use(['templating'], 'client');

api.add_files('widget.html', 'client');
});

widget.html 具有:

<head><script type="text/javascript" src="//platform.twitter.com/widgets.js"></script></head>

但运气不佳。关于如何实现这项工作有什么想法吗?

最佳答案

在您的模板(我们称之为 widgetTemplate)中,应使用以下函数呈现小部件(为了安全起见,请尝试/捕获):

Template.widgetTemplate.rendered = function () {
try {
twttr.widgets.load();
} catch (e) {}
}

同样可以用于 Facebook 小部件(如分享等) - FB.XFBML.parse()

确保您已在头中加载 widgets.js - 同步或异步。

对于异步加载,请在“head”中使用此代码:

<script>
! function (d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (!d.getElementById(id)) {
js = d.createElement(s);
js.id = id;
js.src = "https://platform.twitter.com/widgets.js";
fjs.parentNode.insertBefore(js, fjs);
}
}(document, "script", "twitter-wjs");
</script>

关于meteor - 如何在 Meteor 中加载 Twitter 小部件等外部脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24771525/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com