0

以下内容适用于 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>
4

1 回答 1

1

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

索引.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>
于 2013-10-31T13:45:19.593 回答