JAVASCRIPT   55

facebook.js

Guest on 15th August 2021 07:16:36 AM

  1.  
  2. angular
  3. .module('fonderieComponent')
  4. .directive('facebookVideo', [ 'MediaService', '$compile', 'resizer', function (MediaService, $compile, resizer) {
  5.  
  6.     return {
  7.         restrict: 'E',
  8.         transclude : "true",
  9.         templateUrl:"js/partials/facebook.html",
  10.  
  11.         scope : {
  12.             data:"="
  13.  
  14.         },
  15.  
  16.         link: function ($scope, $element, $attr) {
  17.  
  18.  
  19.             var playerDom = document.createElement('div');
  20.  
  21.             playerDom.classList.add('fb-video');
  22.             playerDom.setAttribute('data-href',$scope.data.url);
  23.             playerDom.setAttribute('data-width', 'auto');
  24.             //playerDom.setAttribute('data-lazy', 'true');
  25.  
  26.             playerDom.style.display = "block";
  27.             //playerDom.style.position = "absolute";
  28.             playerDom.style.zIndex = "inherit";
  29.  
  30.  
  31.  
  32.             $element.append(playerDom);
  33.  
  34.             $element[0].style.display = "block";
  35.             $element[0].style.position = "absolute";
  36.  
  37.  
  38.             $element[0].style.height = "100%";
  39.             $element[0].style.width = "100%";
  40.  
  41.  
  42.             var resize = function(callback) {
  43.  
  44.                 console.log('resize')
  45.  
  46.                 var contenantHeight = playerDom.offsetHeight;
  47.                 var containerHeight = $element[0].offsetHeight;
  48.  
  49.  
  50.  
  51.                 playerDom.style.top =  (containerHeight-contenantHeight)/2 +"px";
  52.  
  53.                 console.log(playerDom.offsetHeight);
  54.                 console.log($element[0].offsetHeight);
  55.  
  56.             }
  57.  
  58.  
  59.             resizer.addEventListener('resize', function (callback) {
  60.  
  61.  
  62.                 resize(callback);
  63.  
  64.                 setTimeout(function() {
  65.                     resize();
  66.                 }, 200);
  67.  
  68.             }, $element);
  69.  
  70.  
  71.             setInterval(function() {
  72.  
  73.                 resize();
  74.             }, 1000)
  75.  
  76.  
  77.  
  78.  
  79.             if(window.FB == undefined){
  80.  
  81.  
  82.                 $.getScript( "https://connect.facebook.net/en_US/sdk.js", function( data, textStatus, jqxhr ) {
  83.  
  84.  
  85.                 });
  86.  
  87.  
  88.                 var facebookRoot = document.createElement('div');
  89.  
  90.                 facebookRoot.setAttribute("id","fb-root");
  91.                
  92.                 document.body.appendChild(facebookRoot);
  93.  
  94.  
  95.  
  96.  
  97.                 window.fbAsyncInit = function() {
  98.  
  99.                     FB.init({
  100.                     appId      : '3288215797943636',
  101.                     xfbml      : true,
  102.                     version    : 'v3.2'
  103.                     });
  104.  
  105.                     // Get Embedded Video Player API Instance
  106.                     var my_video_player;
  107.  
  108.  
  109.                     resize();
  110.  
  111.  
  112.  
  113.  
  114.                     FB.Event.subscribe('xfbml.ready', function(msg) {
  115.                         console.log(msg)
  116.  
  117.  
  118.                         resize();
  119.  
  120.  
  121.                         if (msg.type === 'video') {
  122.                           my_video_player = msg.instance;
  123.                         }
  124.                     });
  125.                 };    
  126.  
  127.             }
  128.        
  129.  
  130.            
  131.         }
  132.     }
  133. }]);

Raw Paste


Login or Register to edit or fork this paste. It's free.