我正在处理需要打开新浏览器窗口的Web应用程序。我使用JavaScript window.open()方法为this.once子窗口创建使用此方法我使用window.focus()方法在父窗口和子窗口之间导航。这适用于所有桌面和Android浏览器。
代码:
<a href="javascript:void(0);" onclick="openWin('url')">
打开窗口:
function openWin(url){
myWindow = window.open(url,"myWindow");
myWindow.opener = window;
myWindow.focus();
}
切换回来自孩子的父母
window.opener.focus();
再次切换到孩子
myWindow.focus();
现在问题是当我在移动safari(ipod touch)上使用它时,它显示警告消息“此站点正在尝试打开弹出窗口”,其中包含选项“允许”和“阻止”。当我点击允许,它打开新窗口,但使用window.focus导航不起作用。我认为它是因为safari浏览器将其作为弹出窗口而不是完整的浏览器窗口,所以它不能在创建时返回浏览器对象(myWindow )。
在同一个应用程序中,我在点击按钮上使用相同的代码,它在ipod上工作得非常好,没有这样的警告消息,但它不能使用锚标记。
任何人都可以指出我应该做些什么才能让它发挥作用,提前谢谢。 阿尼尔。