我有一个页面索引,其中包含以下内容和iframe设置:
索引页:
<html>
<body>
<iframe src=".." id="leftFrame"></frame>
<iframe src="mainFrame.html" id="mainFrame"></frame>
</body>
</html>
mainFrame.html:
<div class="hidden" id="hiddenStuff">
....
</div>
现在在mainFrame中我将一些内容加载到隐藏的div中。
是否可以从mainFrame.html获取该内容并将其显示在索引中,是通过javascript 从mainFrame触发的?
即。一旦mainFrame加载,它将通过javascript调用父iframe来获取#hiddenStuff的内容,然后在索引页面中显示它。
答案 0 :(得分:1)
是的,如果parent和mainFrame都在同一个域中,则可能。
<强>父/索引:强>
<html>
<body>
<script type="text/javascript">
function updateContent(content)
{
$('#content').html(content);
}
document.domain = "yourdomain.com";
</script>
<iframe src=".." id="leftFrame"></frame>
<iframe src="mainFrame.html" id="mainFrame"></frame>
<div id="content"> </div>
</body>
</html>
<强>大型机/儿童:强>
<script type="text/javascript">
document.domain = "yourdomain.com";
$(document).ready(function(){
// on page load, trigger the update
var content = $('#hiddenStuff').html();
try
{
parent.updateContent(content);
}
catch(e)
{
// couldn't call the parent, handle the exception
}
});
</script>
<div class="hidden" id="hiddenStuff">
....
</div>
在将原始HTML处理成元素时,请记住,如果任何内容来自用户输入,则需要考虑XSS的可能性。