从Iframe更改innerHtml

时间:2012-05-11 14:20:48

标签: javascript iframe html document-ready

我正在尝试从iframe的src的ready函数更改div的innerHTML。代码如下。 innerHtml不会改变,但颜色工作正常。关于为什么会发生这种情况和/或如何解决这个问题的想法?

<html><head></head><body>
<script type="text/javascript" src="Javascript/Import_Subprocess_Content/RAC_Connolly.js"></script>
<div id="importcontent" runat="server">
</div>
<iframe id="frametest" src="./AJAX/Import_Subprocess_Content/RAC_Connolly_ImportSession.aspx">

</iframe>
<div id="popup">FIRST TEXT</div>

</body>

iframe src

<script type="text/javascript" src="../../Utilities/Javascript/jquery-1.7.1.min.js"></script>
<script type="text/javascript" src="../../Javascript/Import_Subprocess_Content/RAC_Connolly.js"></script>
<script type="text/javascript">
    $(document).ready(function () {
        uploadComplete();
    });
</script>
end it!

JS

function uploadComplete() {
    window.parent.document.getElementById("popup").innerHtml = "lala";

}

独家在IE7中进行测试。

2 个答案:

答案 0 :(得分:0)

您可以尝试一种解决方法:

  1. uploadComplete方法转移到父级。

    function uploadComplete() {
       document.getElementById("popup").innerHtml = "lala";
       return false;
    }
    
  2. 在iFrame中调用此方法

    <script type="text/javascript">
    $(document).ready(function () {
        parent.uploadComplete();
    });
    </script>
    
  3. 类似的问题:Calling a parent window function from an iframe

答案 1 :(得分:0)

资本化问题。正确的语法是

document.getElementById("ID").innerHTML = "HTML";

document.getElementByID("ID").innerHtml = "HTML";

由于频繁切换语言,我正在关注c#和javascript可能与VB扭曲语法的融合。愚蠢的小错误,大问题。