JavaScript 访问 Firefox 中的 iframe 内部变量

JavaScript access iframe inner variables in Firefox

本文关键字:内部 变量 iframe 中的 访问 Firefox JavaScript      更新时间:2023-09-26

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

索引.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>

框架.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>

这就是我让它工作的方式:

索引.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>

框架.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>