iPage.html,<body>里dom:
<iframe id="iId" name="iName" src="srcPage.html" scrolling="no" frameborder="0"></iframe>
srcPage.html,<body>里dom:
<h1>妹妹的一天</h1>
<p>早上吃早点,中午约会吃饭,下午K歌,晚上和哥哥瞎折腾</p>
一、ie下访问操作iframe里内容
1. ie通过document.frames["IframeName"]获取它,例子:我们在iPage.html里输出srcPage.html里h1的内容,JS如下:
alert(document.frames["iName"].document.getElementsByTagName_r('h1')[0].firstChild.data);
window.onload = (function () { alert(document.frames["iName"].document.getElementsByTagName_r('h1')[0].firstChild.data); });
2. ie另一种方法contentWindow获取它,代码:
window.onload = (function () { var iObj = document.getElementByIdx_x('iId').contentWindow; alert(iObj.document.getElementsByTagName_r('h1')[0].firstChild.data); });
3.改变srcPage.html里h1标题内容,代码:
iObj.document.getElementsByTagName_r('h1')[0].innerHTML='我想变成她一天的一部分';
通过contentWindow后访问里面的节点就和以前一样了。
二、firefox下访问操作iframe里内容
var iObj = document.getElementByIdx_x('iId').contentDocument; alert(iObj.getElementsByTagName_r('h1')[0].innerHTML='我想变成她一天的一部分');
alert(iObj.getElementsByTagName_r('p')[0].firstChild.data);
三、重写iframe里的内容
var iObj = document.getElementByIdx_x('iId').contentWindow;
iObj.document.designMode = 'On';
iObj.document.contentEditable = true;
iObj.document.open();
iObj.document.writeln('<html><head>');
iObj.document.writeln('<style>body {background:#000;font-size:9pt;margin: 2px; padding: 0px;}</style>');
iObj.document.writeln('</head><body></body></html>');
iObj.document.close();