参考链接1:https://www.cnblogs.com/html55/p/10163631.html
参考链接2:https://www.runoob.com/jsref/dom-obj-frame.html
Frame 对象
Frame 对象代表一个 HTML 框架。
<frame>标签定义了在框架中一个特定的窗口(框架)。
在 HTML 文档中 <frame> 每出现一次,就会创建一个 Frame对象。
IFrame 对象
IFrame 对象代表一个 HTML 的内联框架。
<iframe> 标签定义了包含另外一个文档的内联框架。
在 HTML 文档中 <iframe> 每出现一次,一个 IFrame 对象就会被创建。
Frame/IFrame 对象属性
| 属性 | 描述 | W3C |
|---|---|---|
| align | 根据周围的文字排列 iframe。 | Yes |
| contentDocument | 容纳框架的内容的文档。返回 frame/iframe 生成的文档对象。 | Yes |
| contentWindow | 返回 frame/iframe 生成的 window 对象。 | No |
| frameBorder | 设置或返回是否显示框架周围的边框。 | Yes |
| height | 设置或返回 iframe 的高度。 | Yes |
| longDesc | 设置或返回指向包含框架内容描述文档的 URL。 | Yes |
| marginHeight | 设置或返回 iframe 的顶部和底部的页空白。 | Yes |
| marginWidth | 设置或返回 frame/iframe 的左侧和右侧的页空白。 | Yes |
| name | 设置或返回 frame/iframe 的名称。 | Yes |
| noResize | 设置或返回框架是否可调整大小。 | Yes |
| scrolling | 设置或返回框架是否可拥有滚动条。 | Yes |
| src | 设置或返回应被加载到框架中的文档的 URL。 | Yes |
| width | 设置或返回 iframe 的宽度。 | Yes |
onload 事件在frame或者iframe载入完成后被触发。
实例:
1. demo1.html页面中有个iframe元素,iframe元素的src是iframe1.html,怎么在demo1.html页面中操作iframe1.html页面
答曰:demo1.html中,js先找到iframe元素(比如命名为:oIframe),那么oIframe.contentWindow就是iframe1.html这个页面的window,剩下了就是DOM操作的事情了。
举例:要求:demo1.html页面中有个按钮,点击按钮,iframe1页面某些文字改变颜色
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8"> 5 <title>我是demo1.html</title> 6 </head> 7 <body> 8 9 <input type="button" name="btn1" id="btn1" value="点击按钮控制iframe页面" /> 10 <br /> 11 <iframe id="iframe1" src="iframe1.html" width="300" height="200"></iframe> 12 <script> 13 window.onload = function(){ 14 var oBtn1 = document.getElementById('btn1'); 15 //获取iframe元素,oIframe.contentWindow就是iframe1.html页面的window对象 16 var oIframe = document.getElementById('iframe1'); 17 oBtn1.onclick = function() { 18 //demo1.html页面中的js控制了iframe1.html页面的字体颜色 19 oIframe.contentWindow.document.body.style.color = 'red'; 20 } 21 } 22 </script> 23 24 25 </body> 26 </html>