【问题标题】:Auto height for iframeiframe 的自动高度
【发布时间】:2015-10-15 09:55:39
【问题描述】:

我想从我自己的服务器 iframe/嵌入一个页面并将高度设置为自动。我做了一些研究,结果证明我无法将高度设置为自动。我正在尝试实现这样的目标:http://themeforest.net/item/king-responsive-multipurpose-wordpress-theme/full_screen_preview/12354623

这是我迄今为止尝试过的:

HTML:

<iframe class="forum-embed" src="forum/index.php"></iframe>

CSS:

.forum-embed {
    width: 100% !important;
    height: 100% !important;
    border: none;
}

PS:Themeforest 也使用 iframe。

【问题讨论】:

    标签: javascript jquery html css iframe


    【解决方案1】:

    您可以计算浏览器窗口/文档高度,然后设置 iframe 高度。

    如果你使用 jquery,你可以这样做:

    $(window).height();   // returns height of browser viewport
    $(document).height(); // returns height of HTML document
    

    如果您在为主题森林发布的链接上查看源代码,您可以看到他们是如何做到的。从他们的源代码中......

      //function to fix height of iframe!
      var calcHeight = function() {
        var headerDimensions = $('.preview__header').height();
        $('.full-screen-preview__frame').height($(window).height() - headerDimensions);
      }
    
      $(document).ready(function() {
        calcHeight();
      });
    
      $(window).resize(function() {
        calcHeight();
      }).load(function() {
        calcHeight();
      });
    

    【讨论】:

    • 如果您可以添加片段或显示 html 部分,这将真的对我有帮助。因为我对javascript和jquery不太熟悉。我非常非常感谢:)
    • 发布您的 html.. 根据您发布的示例,我给出的答案有效.. 似乎您的用例/代码不同
    • 您缺少 jquery 库.. 将其添加到您的 html 中.. &lt;script type="text/javascript" src="http://code.jquery.com/jquery-2.1.3.js"&gt;&lt;/script&gt; 它应该可以工作
    • 我可以发誓这样做跨域存在安全问题。我记得几年前试图这样做,这是一个巨大的问题。问题是内部 iframe 不必与外部父级在同一个域中,并且具有跨域 JS 功能需要一些工作。
    • 不幸的是仍然无法正常工作..现在看。我添加了查询,在我的本地服务器中也没有在片段中工作。 jsfiddle.net/sc89hjjn/1/embedded/result
    猜你喜欢
    • 2012-12-09
    • 1970-01-01
    • 1970-01-01
    • 2014-08-01
    • 1970-01-01
    • 2015-05-29
    • 1970-01-01
    • 2013-02-21
    相关资源
    最近更新 更多