移动 Safari 中的弹出窗口问题

发布于 2024-12-09 00:10:04 字数 848 浏览 7 评论 0原文

我正在开发 Web 应用程序,该应用程序需要出于某种目的打开新的浏览器窗口。我正在使用 JavaScript window.open() 方法。使用此方法创建子窗口后,我将使用 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 上运行得很好,没有这样的警报消息,但它不适用于锚标记。

谁能指出我应该做什么才能使其发挥作用,提前致谢。 阿尼尔.

i am working on web application which needs to open new browser window for some purpose.i am using JavaScript window.open() method for this.once child window is created using this method i am using window.focus() method to navigate between parent and child window.this works fine on all desktop and android browser.

code:

<a href="javascript:void(0);" onclick="openWin('url')">

to open window:

function openWin(url){
    myWindow = window.open(url,"myWindow");   
    myWindow.opener = window;
    myWindow.focus();
}

to switch back to parent from child

window.opener.focus();

switch to child again

myWindow.focus();

now the problem is when i use it on mobile safari (ipod touch) it shows alert message "This site is attempting to open a pop up window" with options "Allow" and "block". when i click on allow,it opens new window but navigation using window.focus is not working.i think its because safari browser takes it as a pop up window and not full browser window and so it can not return browser object while creation(myWindow).

in this same application i am using same code on click on button and it works on ipod very well with no such alert message, but its not working with anchor tag.

can anyone point me what i should do to make it work,thanks in advance.
Anil.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

○愚か者の日 2024-12-16 00:10:04

您可以查看这些 GIT 问题 - 661756636864

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

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

You may review these GIT issues - 6617, 5663, 6864

You could try to handle this popup as an Alert. You may try to use following code snippet -

// SWITCH TO ALERT    
Alert alert_obj = webDriver.switchTo().alert();
// ACCPET IT
alertObj.accept();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文