当angular-ui-router改变路由时,Facebook的社交插件就会消失
Facebook social plugins disappear when angular-ui-router changes route
我正在使用angular-ui-route来更改我的页面。其中一些页面包括facebook的社交插件,如评论和喜欢的盒子。但是,当路由改变时,插件没有显示。
这是我的指示。HTML部分就是简单的
app.directive('fbComment', function () {
return {
restrict: "E",
template: '<div class="fb-comments" data-href="http://example.com/comments" data-width="630" data-numposts="5" data-colorscheme="light"></div>'
}
});
这是我的ui-router配置。内容。faq路由是包含Comment插件的页面。
$stateProvider
.state('landing', {
url: "/",
template: " ",
onEnter: function($rootScope){
$rootScope.isContent = false;
}
})
.state('content', {
abstract: true,
url: "/",
templateUrl: "/javascripts/angular/views/content.html",
onEnter: function($rootScope){
$rootScope.isContent = true;
}
})
.state('content.faq', {
url: "faq",
templateUrl: "/javascripts/angular/views/faq.html",
onEnter: function($rootScope){
$rootScope.isContent = true;
}
})
我尝试了iframe版本,它可以工作。不幸的是,评论插件没有iframe版本,所以我想我仍然要弄清楚。(html5和XFBML版本都不起作用。)
ezfb已处理此问题。
Github: https://github.com/pc035860/angular-easyfb
按照说明先安装ezfb。然后在你的angular配置阶段:
angular.module('myApp').config(function(ezfbProvider) {
// ezfb settings
ezfbProvider.setLocale('zh_TW'); // if not en_US
ezfbProvider.setInitParams({
appId: 'YOUR_APP_ID',
version: 'v2.0'
});
});
like box的位置:
<div class="fb-like-box" onrender="fbLikeRendered()"
data-href="https://www.facebook.com/YOUR_PAGE"
data-height="443" data-colorscheme="light" data-show-faces="true"
data-header="false" data-stream="true" data-show-border="false"></div>
半年后,我遇到了同样的问题,我自己也在谷歌上搜索了我的问题,这既有趣又愚蠢。上次的截止日期很近,所以我放弃了,使用iframe。这一次,由于仍然没有答案,我环顾四周,尝试了几种方法,包括FB. xfxml .parse()和FB=null,但都不起作用。
谢谢你指出ezfb。我要做的是解决这个问题,让FB-comments插件显示在我不同的ui-router视图是:
<div class="fb-comments" data-href="https://www.facebook.com/YOUR_PAGE" data-width="100%" data-numposts="10"></div>
和在app.js中:
app.config(function(ezfbProvider) {
// Default init function
var _defaultInitFunction = ['$window', 'ezfbInitParams', function ($window, ezfbInitParams) {
// Initialize the FB JS SDK
$window.FB.init(ezfbInitParams);
}];
ezfbProvider.setInitFunction(_defaultInitFunction);
});
如果对别人有帮助的话
相关文章:
- 如何在Angular2中使用jQuery插件
- 可以前端maven插件使用节点,npm已经安装
- 如何使jQuery插件函数可调用以供独立使用,而不在集合上操作
- 我的jQuery插件参数没有正确启动,遇到了问题
- 如何在elfinder插件(一个文件管理器插件)上获得上传前事件
- 是否有任何snippet或jQuery插件可以列出easylist.txt模式匹配的DOM中的所有元素
- TableExport jquery插件:文件名和扩展名问题
- facebook”;添加评论“;popup获胜'不要消失
- 如何在使用selectBoxIt JQuery插件时检测选项更改
- jQuery插件-从插件中调用公共方法
- 压缩phonegap中ios的图像插件
- 为什么js事件消失了
- jQuery粘性插件可变顶部间距
- Jquery表单验证插件-如果选中复选框,如何在提交时执行某些操作
- JS文件的路径正在消失
- Chrome开箱扩展插件消失
- heatmap.js(传单插件)中正在消失的数据点
- facebook评论插件消失了
- 列表消失时,PullRefresh插件在Sencha Touch 2.2
- 当angular-ui-router改变路由时,Facebook的社交插件就会消失