【问题标题】:JavaScript access iframe inner variables in FirefoxJavaScript 访问 Firefox 中的 iframe 内部变量
【发布时间】:2013-10-31 12:53:12
【问题描述】:

以下内容适用于 Internet Explorer 和 Chrome,但不适用于 Firefox。
这个想法是在 iframe 中每次单击后更改父正文的背景。
请注意,Firefox 不知何故知道最初设置蓝色背景。

index.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head><script>
  function polling() {
    if (window.iframeId.change) document.body.style.background = 'red';
    if (!window.iframeId.change) document.body.style.background = 'blue';
    setTimeout(polling, 1000); }
</script></head>
  <body onload="polling();">
    <iframe id="iframeId" src="frame.html" style="width:100px; height:100px;"></iframe>
  </body>
</html>

frame.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head><script>var change=false;</script></head>
  <body style="background:yellow;" onclick="change=!change;"></body>
</html>

【问题讨论】:

    标签: javascript variables firefox dom iframe


    【解决方案1】:

    这就是我可以使它工作的方法:

    index.html

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
        <script>
            function polling() {
                if (window.frames['theIframe'].change) {
                    document.body.style.background = 'red';
                }
                else {
                    document.body.style.background = 'blue';
                }
    
                setTimeout(polling, 1000);
            }
        </script>
    </head>
    <body onload="polling();">
        <iframe id="iframeId" src="frame.html" name="theIframe" style="width: 100px; height: 100px;"></iframe>
    </body>
    </html>
    

    frame.html

    <!DOCTYPE HTML >
    <html>
    <head>
        <script>
            var change = false;
            function load() {
                document.onclick = doClick;
            }        
            function doClick() {
                change = !change;
            }
    
        </script>
    </head>
    <body style="background: yellow;"  onload="load()"></body>
    </html>
    

    【讨论】:

    • 谢谢,它有效。有趣的是,现在在 Firefox 中(仅)右键单击也有效:)
    猜你喜欢
    • 2013-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-02
    • 1970-01-01
    • 2012-05-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多