$(".iframe").attr("src",arr[i]);//动态加载iframe
var content=document.getElementById("iframe").contentWindow; alert(content.document.body.innerHTML);
//我的iframe文件有很多个,所以我只能根据某个东西去动态加载它,但现在就是操作他的时候
//操作不了了,这样该怎么处理啊
<iframe id="iframe" class="iframe" src="#" frameborder="0" scrolling="no">
我给一个示例吧:
主页代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="FuYeMian.aspx.cs" Inherits="Iframe.FuYeMian" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> <script type="text/javascript" src="http://www.cloopen.com/js/jquery-1.8.1.min.js"></script> <script type="text/javascript"> $(function () { //动态加载AIframe var IFramwString = "<iframe src='ZiYe1.aspx' style=\"height:100px; width: 504px;\" id='frame1'></iframe>"; $("#IFramwDIV").html(IFramwString); $("#IFramwDIV").show(); //动态加载BIframe var IFramwString = "<iframe src='ZiYe2.aspx' style=\"height:100px; width: 504px; \" id='frame2'></iframe>"; $("#IFramwDIV2").html(IFramwString); $("#IFramwDIV2").show(); //取A页中的值 $("#AAAAAAAAAAA").click(function () { var bbb = document.getElementById('frame1').contentWindow.document; alert(bbb.getElementById("AAAAAAAAA").value); }); // //取B页中的值 $("#BBBBBBBBBBBB").click(function () { var bbb = document.getElementById('frame2').contentWindow.document; alert(bbb.getElementById("AAAAAAAAA").value); }); }); </script> </head> <body> <form id="form1" runat="server"> <input type="button" value="获取A页中文本框的值" id="AAAAAAAAAAA"/> <input type="button" value="获取A页中文本框的值" id="BBBBBBBBBBBB"/> <div id="IFramwDIV"> </div> <div id="IFramwDIV2"> </div> </form> </body> </html>
A子页代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ZiYe1.aspx.cs" Inherits="Iframe.ZiYe1" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title> </head> <body> <form id="form1" runat="server"> <div> <input type="text" id="AAAAAAAAA" value="aaaaaaaaaaaaaaaaaa" /> </div> </form> </body> </html>
B子页代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ZiYe2.aspx.cs" Inherits="Iframe.ZiYe2" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title> </head> <body> <form id="form1" runat="server"> <div> <input type="text" id="AAAAAAAAA" value="BBBBBBBBBBBBBBBBbb" /> </div> </form> </body> </html>
看起来的效果为:
我相信这样子的效果应该可以 解答你的问题了
第二个按钮 应该是:获取B页中文本框的值。
你是想在主页面操作iframe标签指定的src的页面??
你是想通过iframe加载一个页面,然后在在获取页面内容是吗?如果是可以试试使用jQuery的load方法实现,直接去请求一个页面内容
没看懂你要干什么, 可能是生命周期的问题, 注意你的代码, 要在加载iframe完毕后才执行。 另外, iframe里也有onland事件, 你可以监听。
是不是跨域了,如果iframe中的页面和父页面不在一个域中,那么是不能直接通过js操作的。
没有路跨域还在本地测试呢
你这个问题应该是跨域操作的吧?假如你的网址是www.a.com,那么除了a.com这个网址下面的页面,其它网址里面的页面你是操作不了的。想知道为什么你就查一下“跨域”相关的资料吧。
没有跨域