Javascript 多次更改iframe源
我制作了一个iFrame,并希望在加载时将其源更改为10个不同源中的下一个: 它看起来是这样的: iframe loaded=>更改为example.com=>iframe loaded=>更改为example1.com=>iframe loaded=>更改为example2.com 有没有办法做到这一点。。。 我已经尝试了很多东西,并坚持这样做:(当然根本不起作用)Javascript 多次更改iframe源,javascript,iframe,src,Javascript,Iframe,Src,我制作了一个iFrame,并希望在加载时将其源更改为10个不同源中的下一个: 它看起来是这样的: iframe loaded=>更改为example.com=>iframe loaded=>更改为example1.com=>iframe loaded=>更改为example2.com 有没有办法做到这一点。。。 我已经尝试了很多东西,并坚持这样做:(当然根本不起作用) 函数srca(src,load){ document.getElementsByTagName('iframe')[0].sr
函数srca(src,load){
document.getElementsByTagName('iframe')[0].src=src
警报(document.getElementsByTagName('iframe')[0].src)
document.getElementsByTagName('iframe')[0]。onload=load
}
函数a(){
srca('http://js.do","b")
}
谢谢大家! 我这样解决了这个问题: javascript部分如下所示:
urls = ['http://www.example.com', 'http://www.com', 'http://js.do'];
position = 0;
element = document.getElementsByTagName('iframe')[0];
element.onload = frameLoaded;
next(); /* i.e. load the first */
function next() {
if (urls.length > position) {
element.src = urls[position];
position += 1;
}
}
function frameLoaded() {
setTimeout(next, 4000);
}
我得到的问题是:
- 难读:-P
- 如果要传递命名函数,请使用其名称,而不是其字符串,例如:
blabla.onload=a
错误blabla.onload='a'
- 在脚本之前触发的
事件,即您调用的函数尚未定义onload
- 这是一个共同的问题
- 我将脚本部分放在
- 我的解决方案的代码应该由
执行(JSFIDLE就是这样做的)body.onload
urls = ['http://www.example.com', 'http://www.com', 'http://js.do'];
position = 0;
element = document.getElementsByTagName('iframe')[0];
element.onload = frameLoaded;
next(); /* i.e. load the first */
function next() {
if (urls.length > position) {
element.src = urls[position];
position += 1;
}
}
function frameLoaded() {
setTimeout(next, 4000);
}