diff options
Diffstat (limited to 'priv/static/embed.js')
| -rw-r--r-- | priv/static/embed.js | 43 | 
1 files changed, 43 insertions, 0 deletions
diff --git a/priv/static/embed.js b/priv/static/embed.js new file mode 100644 index 000000000..f675f6417 --- /dev/null +++ b/priv/static/embed.js @@ -0,0 +1,43 @@ +(function () { +  'use strict' + +  var ready = function (loaded) { +    if (['interactive', 'complete'].indexOf(document.readyState) !== -1) { +      loaded() +    } else { +      document.addEventListener('DOMContentLoaded', loaded) +    } +  } + +  ready(function () { +    var iframes = [] + +    window.addEventListener('message', function (e) { +      var data = e.data || {} + +      if (data.type !== 'setHeightPleromaEmbed' || !iframes[data.id]) { +        return +      } + +      iframes[data.id].height = data.height +    }); + +    [].forEach.call(document.querySelectorAll('iframe.pleroma-embed'), function (iframe) { +      iframe.scrolling = 'no' +      iframe.style.overflow = 'hidden' + +      iframes.push(iframe) + +      var id = iframes.length - 1 + +      iframe.onload = function () { +        iframe.contentWindow.postMessage({ +          type: 'setHeightPleromaEmbed', +          id: id +        }, '*') +      } + +      iframe.onload() +    }) +  }) +})()  | 
