我正在开发一个 AngularJs 应用程序,它在视图中集成了类似 fb 的功能。它只在第一次工作,如果我也刷新浏览器,当我导航到其他视图并返回时,插件不起作用。
我创建了一个指令。
angular.module('myApp.directives', []).directive('fbLike',['$timeout', function($timeout) {
return {
restrict: 'A',
scope: {},
template: "<div class=\"fb-like-box\" data-href=\"{{page}}\" data-width=\"{{width}}\" data-show-faces=\"{{faces}}\" data-height=\"{{height}}\" data-show-border=\"{{border}}\" data-stream=\"{{stream}}\" data-header=\"{{header}}\"></div>",
link: function($scope, $element, $attrs) {
var working, _ref, _ref1;
$scope.page ="https://www.facebook.com/company_name";
$scope.border = false;
$scope.height = (_ref = $attrs.fbHeight) != null ? _ref : '260';
$scope.faces = $attrs.fbFaces != null ? $attrs.fbFaces : 'false';
$scope.stream = $attrs.fbStream != null ? $attrs.fbStream : 'true';
$scope.header = $attrs.fbHeader != null ? $attrs.fbHeader : 'false';
$scope.width = (_ref1 = $attrs.fbWidth) != null ? _ref1 : $element.parent().width()-19;
$timeout(function () { return typeof FB !== "undefined" && FB !== null ? FB.XFBML.parse($element.parent()[0]): void 0; });
}
};}]);
我的观点
<script>
window.fbAsyncInit = function() {
FB.init({
appId: '',
status: true, // check login status
cookie: true, // enable cookies to allow the server to access the session
xfbml: true, // parse XFBML
oauth: true
});
};
(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/es_LA/all.js#xfbml=1";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>
<div fb-like></div>
我正在寻找其他选择,但没有幸运。
我不知道怎么了。
非常感谢