Facebook 插件无法在 content/template 页面上运行
Facebook plugins not working on content/template pages
我对 Facebook 插件编程还很陌生。我指的是快速入门文档。
在我的网站中,我有一个布局页面和几个内容页面。只有布局页面包含完整的 html-head-body 结构,其余内容页面包含部分 html 元素(可以将其视为模板)。
我只将 FB.init()
脚本放在布局页面中,就在 body
标记下方:
<script>
window.fbAsyncInit = function () {
FB.init({
appId: 'MY-APP-ID',
xfbml: true,
version: 'v2.3'
});
};
(function (d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) { return; }
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>
并尝试在我的一个内容页面中使用 like 插件测试集成:
<div class="col-sm-10 fb-like"
data-share="true"
data-width="450"
data-show-faces="true">
但是我发现放在content/template页上就不行了。请注意,在这种情况下,我什至没有在浏览器控制台中发现任何 JavaScript 错误。但是,直接放在Layout页面也是一样的。
请让我知道我在这里遗漏了什么。
P.S.: 同样适用于 fb 登录(适用于布局但不适用于模板)。
在模板添加到 DOM 之前,init
听起来像是 运行。您为 aurelia
标记了您的问题,所以我假设您有一个支持模板的视图模型。考虑利用您可用的生命周期回调 -
attached
- 一旦模板被渲染并且 VM 被附加到它,这个回调就会被调用。将您的 FB.init()
放在这里应该就足够了。根据您的设置,您可以在父项或子项中执行此操作。
我对 Facebook 插件编程还很陌生。我指的是快速入门文档。
在我的网站中,我有一个布局页面和几个内容页面。只有布局页面包含完整的 html-head-body 结构,其余内容页面包含部分 html 元素(可以将其视为模板)。
我只将 FB.init()
脚本放在布局页面中,就在 body
标记下方:
<script>
window.fbAsyncInit = function () {
FB.init({
appId: 'MY-APP-ID',
xfbml: true,
version: 'v2.3'
});
};
(function (d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) { return; }
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>
并尝试在我的一个内容页面中使用 like 插件测试集成:
<div class="col-sm-10 fb-like"
data-share="true"
data-width="450"
data-show-faces="true">
但是我发现放在content/template页上就不行了。请注意,在这种情况下,我什至没有在浏览器控制台中发现任何 JavaScript 错误。但是,直接放在Layout页面也是一样的。
请让我知道我在这里遗漏了什么。
P.S.: 同样适用于 fb 登录(适用于布局但不适用于模板)。
在模板添加到 DOM 之前,init
听起来像是 运行。您为 aurelia
标记了您的问题,所以我假设您有一个支持模板的视图模型。考虑利用您可用的生命周期回调 -
attached
- 一旦模板被渲染并且 VM 被附加到它,这个回调就会被调用。将您的 FB.init()
放在这里应该就足够了。根据您的设置,您可以在父项或子项中执行此操作。