Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   изменить html фрейма (https://javascript.ru/forum/misc/52564-izmenit-html-frejjma.html)

qwermjk 24.12.2014 13:04

изменить html фрейма
 
Есть фрейм, в него загружается сайт, секунд через 10 в этом фрейме открывается другая страница, но без конечных тегов body и html, мне нужно средствами javascript дописать эти теги (неважно зачем!)

Может можно как то повешать событие на перезагрузку фрейма? и потом когда он загрузится как нибудь дописать теги??

skrudjmakdak 24.12.2014 13:15

если в фрейме другой домен, то достучаться до содержимого ифрейма нельзя

qwermjk 24.12.2014 14:00

слыхал недавно о таком.
на одном домене.

skrudjmakdak 24.12.2014 14:12

вот ссылка:
http://stackoverflow.com/questions/3...nt-from-iframe

там чувак спрашивал как получить содержимое ифрейма. а насчет повесить событие, так onload вешай

qwermjk 24.12.2014 15:02

Цитата:

Сообщение от skrudjmakdak (Сообщение 348105)
вот ссылка:
http://stackoverflow.com/questions/3...nt-from-iframe

там чувак спрашивал как получить содержимое ифрейма. а насчет повесить событие, так onload вешай

Да вроде вешал, почему то не работает!! мб есть примерчик? может я что то не так указываю

qwermjk 24.12.2014 16:19

Пришлось схитрить, иначе по другому вообще ни как не вешается событие onload

window.onload = function(){
	var frame = document.querySelector('frame[name=' + window.frames.frminfo.name + ']');
	frame.onload = function(){alert(1234);}
	window.frames.frminfo.document.location.href = "http://example.ru/";
}

Deff 24.12.2014 17:58

<script>
function asdasd(that){alert("src="+that.src);}
</script>
<iframe src="http://xxx" onload="asdasd(this)">

qwermjk 24.12.2014 19:18

да через html это понятно как, а мне то чисто на js нужно было! вроде нашёл... а вот можно во фрейм без ссылки html данные занести и как?

ruslan_mart 24.12.2014 19:26

qwermjk, а смысл? Проще в див занести всё.

qwermjk 24.12.2014 19:38

Ну вот такая вот задача! очень долго объяснять для чего это нужно!
Типо удалённо изменять содержимое, посредством javascript... да вроде бы я нашёл ответы на свои вопросы, осталось только проверить, получится ли у меня в моей программе это применить!

window.onload = function(){
	var frame = document.querySelector('frame[name=' + window.frames.frminfo.name + ']');
	frame.onload = function(){
		var html = this.contentWindow.document.body.innerHTML;
		this.contentWindow.document.open();
		this.contentWindow.document.write("<html><head><title></title></head><body>" + html + "</body></html>");
		this.contentWindow.document.close();
	}
	window.frames.frminfo.document.location.href = "head2.php";
}


Часовой пояс GMT +3, время: 18:36.