Pergunta

Por exemplo:

script.js:

function functionFromScriptJS() {
    alert('inside functionFromScriptJS');
}

Iframe.html:

<html>
<head>
<script language="Javascript" src="script.js"></script>
</head>
<body>

<iframe>
  <body>
     <script language="JavaScript">
       functionFromScriptJS();
     </script> 
  </body> 
</iframe>

</body>
<html>

A chamada acima para functionFromScriptJS () não está funcionando.

Os parent.functionFromScriptJS primeira suposição () não está funcionando também.

É possível acessar uma função tão externa de um iframe quando o incluem não está no próprio iframe mas no documento pai?

@EDIT: Então, meu erro foi que eu coloquei o documento dentro da tag iframe, e eu sould ter colocá-lo em um arquivo separado e especificado através do attrubute src da tag. Neste caso, parent.functionFromScriptJS () obras.

Foi útil?

Solução

Iframes não suportam conteúdo em linha. você deve usar o atributo src para fazer referência a um arquivo diferente. O texto interno do tag <iframe> será exibido para os navegadores que não suportam iframes.

Exemplo:

<iframe src="someFile.html" width="100%" height="300px">
  <p>Your browser does not support iframes.</p>
</iframe>

Depois de ter seu carregamento da página, então você deve ser capaz de chamar o script usando parent.functionFromScriptJS();

Outras dicas

A melhor solução aqui eu acho que seria não usar um iframe (embora não formalmente obsoleta, ele não aparece na XHTML 1.1 especificação) e usar um AJAX chegar a agarrar a página e carregá-lo em um <div>

Depois funções javascript funcionará como normal!

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top