У меня есть программа, которая будет динамически устанавливать iframe src для загрузки страниц. Мне нужно подключить обработчик событий для полностью загруженной страницы. Как мне это сделать? Спасибо!
Динамически установить iframe src
Ответ 1
<script type="text/javascript">
function iframeDidLoad() {
alert('Done');
}
function newSite() {
var sites = ['http://getprismatic.com',
'http://gizmodo.com/',
'http://lifehacker.com/']
document.getElementById('myIframe').src = sites[Math.floor(Math.random() * sites.length)];
}
</script>
<input type="button" value="Change site" onClick="newSite()" />
<iframe id="myIframe" src="http://getprismatic.com/" onLoad="iframeDidLoad();"></iframe>
Пример http://jsfiddle.net/MALuP/
Ответ 2
Попробуйте это...
function urlChange(url) {
var site = url+'?toolbar=0&navpanes=0&scrollbar=0';
document.getElementById('iFrameName').src = site;
}
<a href="javascript:void(0);" onClick="urlChange('www.mypdf.com/test.pdf')">TEST </a>
Ответ 3
Попробуйте следующее:
top.document.getElementById('AppFrame').setAttribute("src",fullPath);
Ответ 4
Попробуйте следующее:
document.frames["myiframe"].onload = function(){
alert("Hello World");
}
Ответ 5
Вы также должны учитывать, что в некоторых версиях Opera onload запускается несколько раз и добавляет некоторые перехватчики:
// fixing Opera 9.26, 10.00
if (doc.readyState && doc.readyState != 'complete') {
// Opera fires load event multiple times
// Even when the DOM is not ready yet
// this fix should not affect other browsers
return;
}
// fixing Opera 9.64
if (doc.body && doc.body.innerHTML == "false") {
// In Opera 9.64 event was fired second time
// when body.innerHTML changed from false
// to server response approx. after 1 sec
return;
}
Код, заимствованный из Загрузка Ajax