首页 新闻 搜索 专区 学院

动态加载iframe操作不了???

0
悬赏园豆:30 [已解决问题] 解决于 2014-12-26 11:45

$(".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">

Mi文的主页 Mi文 | 初学一级 | 园豆:6
提问于:2014-12-25 18:06
< >
分享
最佳答案
0

我给一个示例吧:

主页代码:

<%@ 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>

看起来的效果为:

 

 

我相信这样子的效果应该可以 解答你的问题了

收获园豆:30
田麦成 | 老鸟四级 |园豆:2004 | 2014-12-26 09:05

第二个按钮 应该是:获取B页中文本框的值。

田麦成 | 园豆:2004 (老鸟四级) | 2014-12-26 09:06
其他回答(5)
0

你是想在主页面操作iframe标签指定的src的页面??

卷王归来 | 园豆:99 (初学一级) | 2014-12-25 18:16
0

你是想通过iframe加载一个页面,然后在在获取页面内容是吗?如果是可以试试使用jQuery的load方法实现,直接去请求一个页面内容

i迷倪 | 园豆:185 (初学一级) | 2014-12-25 18:26
0

没看懂你要干什么, 可能是生命周期的问题,  注意你的代码, 要在加载iframe完毕后才执行。  另外, iframe里也有onland事件, 你可以监听。 

问天何必 | 园豆:3311 (老鸟四级) | 2014-12-25 18:45
1

是不是跨域了,如果iframe中的页面和父页面不在一个域中,那么是不能直接通过js操作的。

ThreeTree | 园豆:1490 (小虾三级) | 2014-12-26 09:16

没有路跨域还在本地测试呢

支持(0) 反对(0) Mi文 | 园豆:6 (初学一级) | 2014-12-26 10:59
0

你这个问题应该是跨域操作的吧?假如你的网址是www.a.com,那么除了a.com这个网址下面的页面,其它网址里面的页面你是操作不了的。想知道为什么你就查一下“跨域”相关的资料吧。

JRoger | 园豆:258 (菜鸟二级) | 2014-12-26 10:35

没有跨域

支持(0) 反对(0) Mi文 | 园豆:6 (初学一级) | 2014-12-26 11:44
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册