Dúvida que vi no fórum.

Pegar o valor da tag title de um iframe, e colocar ele em um titulo do lado de fora, do documento pai.

Não é ‘tão simples’ assim, e notei um probleminha: ‘o iframe precisa ser carregado antes de tentarmos pegar o conteúdo dele’.

Bom, resolvi dessa forma:

<html>
<head>
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript">
jQuery(document).ready(function(){
	jQuery('#menu a').click(function( e ){
		
		jQuery('#content').load(function(){
			var titulo = jQuery('#content').contents().find('title').text();		
			jQuery('#titulo').text( titulo );		
		});
	});
});
</script>
</head>
<body>
	<ul id="menu">
		<li><a href="home.html" target="content">Home</a></li>
		<li><a href="cadastro.html" target="content">Cadastro</a></li>
		<li><a href="contato.html" target="content">Contato</a></li>
	</ul><!-- /menu -->
	<h1 id="titulo">Home</h1>
	<iframe name="content" id="content" src="home.html"  width="99.9%" frameborder="0" scrolling="no" ></iframe>
</body>
</html>

Por esse motivo, depois do clique, eu aguardo o evento ‘onload’ do iframe:

jQuery('#content').load(function(){

Sse vc não quiser incorporar a lib jQuery, e também para provar que jQuery é apenas javascript, segue a mesma funcionalidade, usando apenas js puro:

function id( el )
{
	return document.getElementById( el );
}
window.onload = function()
{
	id('content').onload = function()
	{
		var titulo = this.contentWindow.document.getElementsByTagName('title')[0].innerHTML;
		id('titulo').innerHTML = titulo;	
	};	
}

é isso =)

Se for útil, comente e compartilhe. Esse é o único ‘pagamento’ que peço pelos códigos(conhecimento) que disponibilizo.