是什么阻止我的JavaScript修改iframe?

是什么阻止我的JavaScript修改iframe?,javascript,jquery,html,css,iframe,Javascript,Jquery,Html,Css,Iframe,例如,他插入了一个iframe,其中iframe的高度更改为插入内容的高度。他解释了这个把戏 然而,当我尝试使用我的引导示例执行此操作时,有一些东西阻止JavaScript修改iframe。高度永远不会添加到iframe 问题: 有人能理解为什么没有像在原始示例中那样将高度添加到iframe中吗 我将此用作iframe内容 wget http://www.456bereastreet.com/lab/iframe-height/iframe-content.html 我的html是 <!

例如,他插入了一个iframe,其中iframe的高度更改为插入内容的高度。他解释了这个把戏

然而,当我尝试使用我的引导示例执行此操作时,有一些东西阻止JavaScript修改iframe。高度永远不会添加到iframe

问题:

有人能理解为什么没有像在原始示例中那样将高度添加到iframe中吗

我将此用作iframe内容

wget http://www.456bereastreet.com/lab/iframe-height/iframe-content.html
我的html是

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css" rel="stylesheet">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>

    <style>
      iframe {
         width:100%;
         margin:0 0 1em;
         border:0;
      }
      #external-frame {min-height:800px;}

      body {
         padding-top: 70px;
      }

      .container .jumbotron {
         background-color: #ffffff;
         padding-right: 0px;
         padding-left: 0px;
         height: 100%;
         margin:0 auto;
      }
    </style>

    <script>
      window.onload = function () {
         setIframeHeight(document.getElementById('external-frame'));
      };
    </script>
  </head>
  <body>

    <div class="container">
      <div class="jumbotron">
    <iframe src="iframe-content.html" frameborder="0" id="external-frame"></iframe>
      </div>
    </div>

  </body>
</html>

这感觉太明显了,但实际上看起来您只是没有定义setIframeHeight或包含任何定义它的脚本。 如果你想调用一个函数,显然你需要有这个函数。 这就是函数,复制自:


将其粘贴到脚本标记中,就可以开始了。

是否检查了浏览器控制台中的错误?通常情况下,不允许一个域中的代码与从不同域加载的内容相混淆。这将是同源策略!我看不到任何地方定义了setIframeHeight。请按F12并切换到控制台,然后重试。研究出现的错误。请落选的选民解释一下我的答案有什么问题吗?
function setIframeHeight(iframe) {
    if (iframe) {
        var iframeWin = iframe.contentWindow || iframe.contentDocument.parentWindow;
        if (iframeWin.document.body) {
            iframe.height = iframeWin.document.documentElement.scrollHeight || iframeWin.document.body.scrollHeight;
        }
    }
};