2015-04-05 4 views
0

я в настоящее время возникли проблемы, включая изображения в кадре из другого файла, что я делаю создает HTML-страницу с два кадра, имеющей код:Как включить изображение в кадр из другого html-файла?

<html> 

<frameset cols="20%,80%"> 
<frame src="aa.html" id="1"> 
<frame src="" id="2"> 

</frameset> 

</html> 

Тогда, в aa.html есть три ссылки и щелкать первая ссылка изображение должно открыться в кадре с id = "2".

aa.html 

<html> 

<head> 
<link rel="import" href="cook.html"> 
<script> 
function fun1() 
{ 
    document.getElementById('2').src="b.html"; 
} 
</script> 
</head> 
<body> 
<a href="#" onclick="fun1()">Home1</a> 
<a href="fdsf">Hom2</a> 
<a href="fdsf">Home3</a> 
</body> 

</html> 

затем b.html показывает изображение в кадре, как это:

<html> 
<head> 
</head> 
<body> 
<img src="ima.png"/> 
</body> 
</html> 

Но это не work.thanks заранее.

ответ

0

Вы не можете делать то, что хотите.

Эта функция:

function fun1() { 
     document.getElementById('2').src="b.html"; 
    } 

работает в IFRAME, а не в главном окне. Попробуйте взглянуть на методы window.postMessage.


UPDATE работы с window.postMessage выглядеть:

1) в дочернем окне будет функция

function fun1() { 
    window.postMessage(JSON.stringify({"id":2,"src":"b.html"}),'http://parent.window.com'); 
    } 

2) в родительском окне, вы должны слушать это событие , поэтому добавьте в начало страницы:

window.addEventListener("message", receiveMessage, false); 

function receiveMessage(event) 
{ 
    if (event.origin !== "http://example.org:8080") 
    return; 
    try{ 
     var data = JSON.parse(event.data); 
     if(data.id != undefined && data.src != undefined){ 
     document.getElementById(data.id).src = data.src; 
     } 
    } catch(exception){ console.log(exception);} 

} 
+0

Можете привести пример и где t o включить этот скрипт –

Смежные вопросы