]> git.mxchange.org Git - friendica.git/commitdiff
Automatically resize iframe if no height was provided.
authorMichael Vogel <icarus@dabo.de>
Fri, 1 May 2015 12:29:53 +0000 (14:29 +0200)
committerMichael Vogel <icarus@dabo.de>
Fri, 1 May 2015 12:29:53 +0000 (14:29 +0200)
include/oembed.php
js/main.js

index a793bd8006d754a242dd791a6a1952a684930622..6fc981729944a29323b969bb6fcdf78ba1de1b4c 100755 (executable)
@@ -199,10 +199,15 @@ function oembed_format_object($j){
 }
 
 function oembed_iframe($src,$width,$height) {
+
        if(! $width || strstr($width,'%'))
                $width = '640';
-       if(! $height || strstr($height,'%'))
+       if(! $height || strstr($height,'%')) {
                $height = '300';
+               $resize = 'onload="resizeIframe(this);"';
+       } else
+               $resize = '';
+
        // try and leave some room for the description line.
        $height = intval($height) + 80;
        $width  = intval($width) + 40;
@@ -210,7 +215,7 @@ function oembed_iframe($src,$width,$height) {
        $a = get_app();
 
        $s = $a->get_baseurl()."/oembed/".base64url_encode($src);
-       return '<iframe class="embed_rich" height="' . $height . '" width="' . $width . '" src="' . $s . '" frameborder="no" >' . t('Embedded content') . '</iframe>';
+       return '<iframe '.$resize.' class="embed_rich" height="'.$height.'" width="'.$width.'" src="'.$s.'" frameborder="no">'.t('Embedded content').'</iframe>';
 
 }
 
index d7381c96a474e47671f01bcdb727000be8a6b233..25029c1b055c536e401152a6a929d71a85cfa9cc 100644 (file)
@@ -1,3 +1,7 @@
+  function resizeIframe(obj) {
+    obj.style.height = 0;
+    obj.style.height = obj.contentWindow.document.body.scrollHeight + 'px';
+  }
 
   function openClose(theID) {
     if(document.getElementById(theID).style.display == "block") {