Aunque hoy en día y gracias a Ajax, no soy partidario de usar iframes, aunque en un proyecto en el cual por temas de tiempo, no podía hacerlo con ajax, tuve que conformarme con usar iframes. Durante el desarrollo, me encontre con un problema, que aunque pueda resultar una tontería, siempre viene bien tenerlo apuntado.

Cuando desde un iframe, queremos llamar a una función, que hemos declarado en la página padre, o página que tiene el código <iframe>, solamente deberemos de añadir window.parent, antes del nombre de la función, quedado la sintaxis así:

  window.parent.function(parametros)

En muchas ocasiones he escrito código Javascript en una web de XHTML y al intentar validar unas veces funcionaba y otras no. Probando un poco más me di cuenta que cuando escribía código Javascript con ampersans (&) y signos de menor o mayor (< >) el código no validaba. Es cuando caigo en la solución, si XHTML no deja de ser un XML, probemos a poner un CDATA.

<!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org
/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
dir="ltr" lang="es-ES">
....
....
<script type="text/javascript">
//<![CDATA[
//Aquí metemos nuestro codigo javascript
//]]>
</script>

Con esto ya podemos escribir código Javascript embebido sin que por ello no nos valide nuestra web.