我正在工作的web应用程序需要打开新的浏览器窗口为某些目的。我正在使用JavaScript窗口打开()方法。一旦使用此方法创建了子窗口,我将使用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)上使用它时,它显示警告消息"此网站正试图打开一个弹出窗口",选项"允许"one_answers"阻止"。当我点击允许,它打开新的窗口,但导航使用窗口。专注不起作用。我认为这是因为safari浏览器把它作为一个弹出窗口,而不是完整的浏览器窗口,所以它不能返回浏览器对象,而创建(myWindow)。
在这个相同的应用程序中,我使用相同的代码点击按钮,它在iPod上工作得很好,没有这样的警告消息,但它不能与锚标记一起工作。
谁能告诉我应该怎么做才能让它工作,提前谢谢。阿尼尔。
您可以查看这些GIT问题- 6617,5663,6864
您可以尝试将此弹出处理为警报。您可以尝试使用以下代码片段-
// SWITCH TO ALERT
Alert alert_obj = webDriver.switchTo().alert();
// ACCPET IT
alertObj.accept();