我制作了一个iFrame,并希望在它加载到10个不同来源中的下一个时更改它的来源:
看起来像这样:
iframe loaded =>更改为example.com => iframe loaded =>更改为example1.com => iframe loaded =>更改为example2.com ...
有没有办法做到这一点? ... 我已经尝试了很多东西并坚持这样的事情:(当然根本不起作用)
<html>
<body>
<iframe onload="srca('http://www.com', 'a')" src="http://www.example.com"> </iframe>
<script>
function srca (src, load){
document.getElementsByTagName('iframe')[0].src = src
alert(document.getElementsByTagName('iframe')[0].src)
document.getElementsByTagName('iframe')[0].onload = load
}
function a(){
srca('http://js.do', 'b')
}
</script>
</body>
</html>
谢谢!
答案 0 :(得分:1)
我解决了这样的问题: working jsfiddle here.
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);
}
我得到your code working.问题是:
blabla.onload = a
blabla.onload = 'a'
错了onload
事件,即您调用的函数尚未定义
<iframe>
body.onload
执行(jsfiddle就是这样)