在移动safari弹出窗口问题

pop up window issue in mobile safari

本文关键字:窗口 问题 移动 safari      更新时间:2023-09-26

我正在工作的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)上使用它时,它显示警告消息"此网站正试图打开一个弹出窗口",选项"允许"answers"阻止"。当我点击允许,它打开新的窗口,但导航使用窗口。专注不起作用。我认为这是因为safari浏览器把它作为一个弹出窗口,而不是完整的浏览器窗口,所以它不能返回浏览器对象,而创建(myWindow)。

在这个相同的应用程序中,我使用相同的代码点击按钮,它在iPod上工作得很好,没有这样的警告消息,但它不能与锚标记一起工作。

谁能告诉我应该怎么做才能让它工作,提前谢谢。阿尼尔。

您可以查看这些GIT问题- 6617,5663,6864

您可以尝试将此弹出处理为警报。您可以尝试使用以下代码片段-

// SWITCH TO ALERT    
Alert alert_obj = webDriver.switchTo().alert();
// ACCPET IT
alertObj.accept();