a.html
<nome do formulário="form1" método="post" action="">
<a href="javascript:void(null)" class="add" onClick="open('b.html','','resizable=1,scrollbars=1,status=no,toolbar=no,menu= não,largura=500,altura=400,esquerda=150,topo=50')">Aumentar</a>
<input type="text" nome="text1">
</form>
b.html
<linguagem script="Javascript" type="texto/javascript">
função returnValue()
{
window.opener.document.all.text1.value=document.getElementById("returnText").value;
janela.close();
}
</script>
<input type="button" name="Enviar" value="Enviar" onclick="returnValue();">
<input name="returnText" type="text" id="returnText">
</p>
Suplemento: Uso de window.opener
No uso geral, window.opener é usado apenas para resolver o problema de não exibir uma janela pop-up ao fechar a janela, e geralmente há menos compreensão de seu entendimento mais profundo. Na verdade, window.opener refere-se à janela que chama o método window.open.
É usado principalmente para resolver submissões parciais no trabalho. Esse tipo de operação entre páginas é muito útil para o trabalho.
Se você abrir uma página na janela principal e quiser que a janela principal seja atualizada, use isto O window.opener que abre a página é equivalente à janela da janela principal.
Para atualizar a janela principal você pode usar
window.opener.location.reload();
Se você usar um diretório virtual: como struts *.do solicitará que você tente novamente, você pode alterá-lo para window.opener.yourformname.submit()
Isso vai ficar bem
2〉
Há uma situação no aplicativo,
Abra a janela B na janela A, feche a janela B após concluir as operações na janela B e atualize automaticamente a janela A ao mesmo tempo
função fecharWin(){
hasClosed = verdadeiro;
window.opener.location="javascript:reloadPage();";
janela.close();
}
função window.onbeforeunload(){
if(!hasClosed){
window.opener.location="javascript:reloadPage();";
}
}
</script>
O código acima irá gerar um erro ao fechar a janela B, dizendo que o objeto está faltando. O código correto é o seguinte:
função fecharWin(){
hasClosed = verdadeiro;
window.opener.location="javascript:reloadPage();";
janela.opener = null;
janela.close();
}
função window.onbeforeunload(){
if(!hasClosed){//Se o método closeWin foi executado, este método não será executado.
window.opener.location="javascript:reloadPage();";
}
}
</script>
O método reloadPage é o seguinte:
função recarregarPágina() {
história.go(0);
document.execCommand("atualizar")
documento.localização = documento.localização;
document.location.reload();
}
PS: Como precisamos suportar o fechamento normal e o fechamento forçado de janelas para capturar eventos, usamos a variável global hasClosed.
=============================================
Além disso, quando a janela pai é um quadro, podem ocorrer problemas ao atualizar a janela pai:
A página não pode ser atualizada sem reenviar as informações.
Posteriormente modificado da seguinte forma:
window.opener.parent.document.frames.item('mainFrame').location.href = window.opener.location.href;
Não há necessidade de executar o método reload() integrado. Tenha cuidado para não adicionar esta frase supérflua:
window.opener.parent.document.frames.item('mainFrame').location.reload();
================================================= =====================================
Finalmente, para oferecer suporte à atualização da janela pai normal e da janela pai do quadro ao mesmo tempo, o código é o seguinte:
função fecharWin() {
hasClosed = verdadeiro;
<%if(nulo!=quadro){%>
window.opener.parent.document.frames.item('mainFrame').location.href = window.opener.location.href;
<%}outro{%>
window.opener.location = "javascript:reloadPage();";
<%}%>
//window.opener.top.mainFrame.location="javascript:reloadPage();";
//self.opener.frames.mainFrame.location.reload(true);
janela.opener = null;
janela.close();
}
função window.onbeforeunload(){
if (! hasClosed) {
<%if(nulo!=quadro){%>
window.opener.parent.document.frames.item('mainFrame').location.href = window.opener.location.href;
<%}outro{%>
window.opener.location = "javascript:reloadPage();";
<%}%>
janela.opener = null;
}
}
Uso de window.opener
window.opener retorna uma referência à janela que criou a janela atual. Por exemplo, se você clicar em um link em a.htm para abrir b.htm, planejamos inserir um valor em b.htm e atribuí-lo a a. htm. Em uma caixa de texto com um id de "nome", pode ser escrito como:
window.opener.document.getElementById("nome").value = "Dados de entrada";
Não tenho um bom conhecimento de window.opener em javascript.
Por que não pode ser usado em um quadro? Por que a janela pai de uma janela pop-up não pode estar em uma página dentro do quadro? Então, como operar a janela pai no quadro por meio de uma janela pop-up?
opener.parent.frames['frameName'].document.all.input1.value tente isso :)
Se você quiser alterar a página no quadro para outras páginas no mesmo quadro ou a página no quadro pai, use pai.
window.opener refere-se à página pai da página aberta por window.open.
O objeto window.frames pode fazer referência a páginas em um iframe ou a uma página em um conjunto de quadros.
Isso pode ser feito
window.frames[0].document.getElementById('xx');
Isso pode ser feito
janela.frames[0].document.body.innerHTML;
frm = window.parent.window.frames['uploadFrame'];
frmDocument = frm.documento;
frm.sb(3); //sb é uma função na página uploadFrame
Para Firefox
Se você encontrar um erro: parent.document.frames não tem PRperties
Basta substituí-lo pelo código a seguir. Este código é compatível com IE e frm = window.parent.window.frames['uploadFrame'];
Observe que existem restrições para modificar a página no frame desta forma, ou seja, ela deve estar no mesmo domínio, caso contrário não poderá ser acessada. Se estiver no mesmo domínio, mas os nomes dos subdomínios forem diferentes, adicione. uma frase para os arquivos js e html envolvidos.
document.domain = xxx.com [preencha seu nome de domínio aqui]
document.getElementById('iframeid').contentWindow.document.getElementById('algumelementid');
perguntar:
Na janela pai, window.open() uma janela filho. e defina uma variável i.
Insira um valor j na subjanela e depois window.opener.i=j;
Isso pode ser repassado. Mas adicionei window.close(); no final da subjanela e o valor não pode ser passado.
Por favor, diga-me se existe alguma maneira de resolver esse problema. Deixe-me passar o valor antes de fechar a janela filho.
O código é o seguinte:
Janela pai: parent.jsp
<roteiro>
var eu;
window.open('<%=contextPath%>/usermanage/newscontrol/cd.jsp);
</script>
<input type="button" onclick="alert(i)">
Subjanela: cd.jsp
<roteiro>
função subm(){
janela.opener.i=5;
janela.close();
}
</script>
<input type="button" onclick="subm()">
Melhor resposta, você pode colocar uma na janela pai
<input id="fromChild" type="oculto" />
<tipo de entrada = "botão"
onclick="alert(document.getElementById('fromChild').value)">
Na subjanela:
função subm(){
window.opener.document.getElementById('fromChild').value=5;
janela.close();
}
Isso pode ser feito
<cabeça>
<linguagem de script=javascript>
função janelafechar()
{janela.opener=null;
janela.close();
}
</script>
</head>
<corpo>
<input id="Button1" type="button" value="button" onclick="windowclose()" />
</body>
-