海蓝啸 发表于 2008-1-9 09:40

动态替换iframe怎么做

我网页上有几个按钮,还有一个iframe   
比如我想按一个按钮,就把这个iframe换成一个页面,按另一个按钮把这个按钮换成另一个iframe
请问怎么做?

cdmalcl 发表于 2008-1-9 13:13

[code]<script type="text/javascript" language="javascript">
function changeSrc(srcName)
{
        document.all.iframeId.src = srcName ;
}
</script>
<body>
<form id="formId">
<input type="button" name="baidu" value="百度" onclick="changeSrc('http:\\\\www.baidu.com')" />
<input type="button" name="google" value="谷歌" onclick="changeSrc('http:\\\\www.google.cn')" />
</form>
<iframe name="iframeId" src="http:\\www.baidu.com" height="400" width="98%">
</iframe>
</body>[/code]

渚薰 发表于 2008-1-9 15:34

修改下,如果使用document.all在ff下无法执行:
function changeSrc(srcName)
{
    document.iframeId.src = srcName ;
}

cdmalcl 发表于 2008-1-9 17:07

[quote]原帖由 [bold][underline]渚薰[/underline][/bold] 于 2008-1-9 15:34 发表 [url=http://bbs.bc-cn.net/redirect.php?goto=findpost&pid=1175940&ptid=196604][img]http://bbs.bc-cn.net/images/common/back.gif[/img][/url]
修改下,如果使用document.all在ff下无法执行:
function changeSrc(srcName)
{
    document.iframeId.src = srcName ;
} [/quote]
运行不成功 document下找不到iframeId

lmhllr 发表于 2008-1-9 17:13

修改下:[code]<script type="text/javascript" language="javascript">
function changeSrc(srcName)
{
    document.getElementById("iframeId").src = srcName ;
}
</script>
<body>
<form id="formId">
<input type="button" name="baidu" value="百度" onclick="changeSrc('http://www.baidu.com')" />
<input type="button" name="google" value="谷歌" onclick="changeSrc('http://www.google.cn')" />
</form>
<iframe id="iframeId" src="http://www.baidu.com" height="400" width="98%">
</iframe>
</body>[/code]

渚薰 发表于 2008-1-9 17:56

sorry,写错了,应该是
function changeSrc(srcName)
{
    window.iframeId.src = srcName ;
}

cdmalcl 发表于 2008-1-9 18:49

[quote]原帖由 [bold][underline]lmhllr[/underline][/bold] 于 2008-1-9 17:13 发表 [url=http://bbs.bc-cn.net/redirect.php?goto=findpost&pid=1176096&ptid=196604][img]http://bbs.bc-cn.net/images/common/back.gif[/img][/url]
修改下:
function changeSrc(srcName)
{
    document.getElementById("iframeId").src = srcName ;
}








[/quote]
学习了
一直不太理解getElementById[em10]

cdmalcl 发表于 2008-1-9 18:50

[quote]原帖由 [bold][underline]渚薰[/underline][/bold] 于 2008-1-9 17:56 发表 [url=http://bbs.bc-cn.net/redirect.php?goto=findpost&pid=1176143&ptid=196604][img]http://bbs.bc-cn.net/images/common/back.gif[/img][/url]
sorry,写错了,应该是
function changeSrc(srcName)
{
    window.iframeId.src = srcName ;
} [/quote]
还是不行
再研究一下[em09]

海蓝啸 发表于 2008-1-10 08:38

哈哈。。。谢谢各位
我用的正是5楼的方法

渚薰 发表于 2008-1-10 09:02

[quote]原帖由 [bold][underline]cdmalcl[/underline][/bold] 于 2008-1-9 18:50 发表 [url=http://bbs.bc-cn.net/redirect.php?goto=findpost&pid=1176205&ptid=196604][img]http://bbs.bc-cn.net/images/common/back.gif[/img][/url]

还是不行
再研究一下[em09] [/quote]

iframe的name和id全部写上,这里就是"iframeId"

cdmalcl 发表于 2008-1-10 12:12

[quote]原帖由 [bold][underline]渚薰[/underline][/bold] 于 2008-1-10 09:02 发表 [url=http://bbs.bc-cn.net/redirect.php?goto=findpost&pid=1176611&ptid=196604][img]http://bbs.bc-cn.net/images/common/back.gif[/img][/url]


iframe的name和id全部写上,这里就是"iframeId" [/quote]
还是不行

渚薰 发表于 2008-1-10 13:51

sorry,是我忘记区别了。这里我详细描述下
document.getElementById('iframeId')
获得的是iframe元素(element)的对象,所以可以用src属性来设置。
而window.iframeId,获得的是iframe中页面的window对象(不管页面有没有加载)。即window.iframeId,其实就现当于我们在网页中用到的window对象。故,可以采取window.iframeId.location.href=""的方式来设置。
建议如果只需要改变iframe中地址的,可以采用
document.getElementById('iframeId')来获得iframe元素的对象。
而如果需要操作iframe中页面的元素时,可以使用window.iframeId对象。
更正完毕。

cdmalcl 发表于 2008-1-10 14:01

好使了
但是为什么 window.iframeId[color=Magenta]拒绝访问。[/color]呢?

[[italic] 本帖最后由 cdmalcl 于 2008-1-10 14:05 编辑 [/italic]]

渚薰 发表于 2008-1-10 14:15

拒绝访问什么??

madpbpl 发表于 2008-1-10 14:45

[quote]原帖由 [bold][underline]渚薰[/underline][/bold] 于 2008-1-10 14:15 发表 [url=http://bbs.bc-cn.net/redirect.php?goto=findpost&pid=1176955&ptid=196604][img]http://bbs.bc-cn.net/images/common/back.gif[/img][/url]
拒绝访问什么?? [/quote]
按前面的错误方法操作得到的,我这边的错误提示如下图
[attach]32010[/attach]

渚薰 发表于 2008-1-10 17:41

[code]<html>
        <head>
                <script type="text/javascript">
                        window.onload=function() {
                                window.if.location.href="http://www.baidu.com";
                        }
                </script>
        </head>
        <body>
                <iframe name="if" id="if" src="" width="800" height="600"></iframe>
        </body>
</html>[/code]

luo123 发表于 2008-1-10 23:49

[quote]原帖由 [bold][underline]cdmalcl[/underline][/bold] 于 2008-1-9 13:13 发表 [url=http://bbs.bc-cn.net/redirect.php?goto=findpost&pid=1175796&ptid=196604][img]http://bbs.bc-cn.net/images/common/back.gif[/img][/url]

function changeSrc(srcName)
{
        document.all.iframeId.src = srcName ;
}








[/quote]
这个url行吗?

luo123 发表于 2008-1-10 23:57

我是说这个url
<script type="text/javascript" language="javascript">
function changeSrc(srcName)
{
    document.all.iframeId.src = srcName ;
}
</script>
<body>
<form id="formId">
<input type="button" name="baidu" value="百度" onclick="changeSrc('http:\\\\[url]www.baidu.com[/url]')" />
<input type="button" name="google" value="谷歌" onclick="changeSrc('http:\\\\[url]www.google.cn[/url]')" />
</form>
<iframe name="iframeId" src="http:\\[url]www.baidu.com[/url]" height="400" width="98%">
</iframe>
</body>

海蓝啸 发表于 2008-1-11 08:09

15楼会不会是浏览器的JS被限制了?

cdmalcl 发表于 2008-1-11 10:08

[quote]原帖由 [bold][underline]海蓝啸[/underline][/bold] 于 2008-1-11 08:09 发表 [url=http://bbs.bc-cn.net/redirect.php?goto=findpost&pid=1177706&ptid=196604][img]http://bbs.bc-cn.net/images/common/back.gif[/img][/url]
15楼会不会是浏览器的JS被限制了? [/quote]
不是那问题

页: [1] 2

编程论坛