我有两个html页面..我正在调用来自孩子的父窗口。所有事情都很有效。但是在Chrome中它失败了..我知道原因..
test1.html: -
<html>
<head>
<title>Compose</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<SCRIPT>
function test(){
//alert('');
var win = window.open('../login/test2.html',"","height=700,width=800");
}
function test1(){
alert('test1');
}
</SCRIPT>
</head>
<body>
<input type="button" value="click" onclick="test();" />
</body>
</html>
test2.html: -
<html>
<head>
<title></title>
<SCRIPT>
function opener1(){
try{
if(window.opener != null && !window.opener.closed)
{
}
window.opener.test1();
}catch(e){ alert(e.description);}
}
</SCRIPT>
</head>
<body oncontextmenu="return false" ondragstart="return false" onload="opener1();">
<h1>Test Page</h1>
</body>
</html>
来自test2.html的test1.html中的调用方法无法正常工作..任何解决方案......都认可..谢谢
答案 0 :(得分:5)
只能使用parent
变量访问父窗口。
对opener1函数的以下修改应该使这成为可能
function opener1(){
try{
if(parent.window.opener != null && !parent.window.opener.closed)
{
parent.window.opener.test1();
}
}catch(e){ alert(e.description);}
}
答案 1 :(得分:0)
代码对我来说似乎没问题。如果捕获异常,可以将其记录到控制台以获取有关错误的信息。确保test1.html和test2.html的域匹配,否则您将获得安全性异常。
答案 2 :(得分:0)
您可以尝试我的代码:
window.opener.document.location.href = url;
这适用于IE和Chrome。
window.opener.location.href = 'test.html';
这将打开“test.html”页面。
您可以在打开后关闭父窗口。
如果有效,请不要忘记将我的答案标记为正确。
答案 3 :(得分:0)
这是因为select * from table A inner join table B on INSTR(A.Column , B.Column)>0
对象的opener
属性在 iPad 或 Chrome 等设备上为空。