我正在开发一个网页应用程序,需要打开新的浏览器窗口来完成某些任务。我使用JavaScript中的window.open()方法来实现这个功能。一旦使用该方法创建了子窗口,我就使用window.focus()方法在父窗口和子窗口之间进行导航。这在所有桌面和安卓浏览器上都可以正常工作。
代码如下:
现在的问题是,当我在移动版Safari(iPod Touch)上使用它时,会显示警告消息“此网站正在尝试打开弹出窗口”,带有“允许”和“阻止”选项。 当我单击“允许”时,它会打开新窗口,但使用window.focus进行导航不起作用。 我认为这是因为Safari浏览器将其视为弹出窗口而不是完整的浏览器窗口,因此无法在创建(myWindow)时返回浏览器对象。
在同一应用程序中,我在按钮点击事件上使用相同的代码,在iPod上运行良好,并且没有此类警告消息,但在锚点标记上却不能正常工作。
有人可以指点我应该做什么才能使它工作,先谢谢了。 Anil。
代码如下:
<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上运行良好,并且没有此类警告消息,但在锚点标记上却不能正常工作。
有人可以指点我应该做什么才能使它工作,先谢谢了。 Anil。