是什么阻止我的JavaScript修改iframe?
例如,他插入了一个iframe,其中iframe的高度更改为插入内容的高度。他解释了这个把戏 然而,当我尝试使用我的引导示例执行此操作时,有一些东西阻止JavaScript修改iframe。高度永远不会添加到iframe 问题: 有人能理解为什么没有像在原始示例中那样将高度添加到iframe中吗 我将此用作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是 <!
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;
}
}
};