在手机游戏中弹出窗口问题

时间:2011-10-11 12:00:02

标签: javascript mobile-safari mobile-webkit

我正在处理需要打开新浏览器窗口的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上工作得非常好,没有这样的警告消息,但它不能使用锚标记。

任何人都可以指出我应该做些什么才能让它发挥作用,提前谢谢。 阿尼尔。

1 个答案:

答案 0 :(得分:0)

您可以查看以下GIT问题-661756636864

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

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