`
java_eye2009
  • 浏览: 88126 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

调用window.open打开页面,新打开的页面一段时间后自动关闭的问题

 
阅读更多

window.open()方法写在ajax回调方法里,会出现问题。问题现象是新打开的页面一段时间后就自动关闭。源代码如下

$.get(url,{ran:Math.Random()},successed);

 

function successed(data){

      window.open("url?id=" + data.id );

}

 

网上查了好多资料,都说是在服务端用window.open弹出窗口会被IE阻止掉。而通过我们用鼠标点击弹出的窗口,它是不会阻止的。解决办法一,在jsp定义一个隐藏按钮,把window.open方法写在这个隐藏按钮的click事件中,在ajax回调方法里间接调用这个click事件。

jsp

<input type="button" id="hiddenButton" onclick="openNewPage()"/>

 

js

function openNewPage(){

      window.open("url");

}

 

function successed(data){

      $("#hiddenButton").trigger("click");

}

 

此解决方法还是不行。

 

解决办法二:

 

ajax 设置为同步,代码如下

    var  data = null;

     $.ajax({
         type: "POST", url: path,
         async:false,
         success:function(result){
          data = result;
         },
         error:function(XmlHttpRequest,textStatus, errorThrown){
          data={exception:{message:XmlHttpRequest.responseText}};
         }
     });

  

     if(!data && !data.exception){

              window.open("url?id=" + data.id);

 

    }

分享到:
评论

相关推荐

    用window.open打开新窗口后在父窗口中调用新窗口中的代码

    当在网页中用javascript winow.open 打开一个新窗口后,是否能在你窗口中调用并执行新窗口中的代码或调取其中的元素? 答案是肯定的。 这段示例代码不但能在父窗口页面test.html中执行被打开的新窗口页面test-open...

    用浏览器打开新窗口后在父窗口中调用新窗口中的代码的方法

    当在网页中用javascript winow.open 打开一个新窗口后,是否能在父窗口中调用并执行新窗口中的代码或调取其中的元素? 答案是肯定的。 这段示例代码不但能在父窗口页面test.html中执行被打开的新窗口页面test-open...

    window.open全攻略

    这里定义了`openwin`函数,当页面加载时,`onload`事件会触发函数执行,从而打开新窗口。 ### 4. 多窗口弹出 如果你需要同时打开多个窗口,只需对`window.open()` 方法进行多次调用,每个调用之间用分号隔开。例如...

    window.open参数详解.txt

    它不仅能够打开新窗口,还可以控制新窗口的属性,如大小、位置以及是否显示工具栏、菜单栏等。本文将深入解析`window.open()`函数的各个参数及其用法。 #### 函数基本结构 `window.open`函数的基本调用格式如下: ...

    window.open

    1. **用户交互**:如果`window.open()`是在用户没有直接交互的情况下调用(例如页面加载时自动弹出),那么大多数浏览器都会阻止它。 2. **权限设置**:用户可以在浏览器设置中关闭弹出窗口的功能。 3. **安全策略**...

    window.open的参数详细应用

    这里定义了一个 `openwin` 函数,并在 `&lt;body&gt;` 标签的 `onload` 事件中调用它,使得页面加载完毕后自动打开新窗口。 #### 示例 3: 同时打开多个窗口 ```javascript function openwin() { window.open("page.html"...

    JavaScript中Window.open参数

    在某些场景下,可能需要同时打开多个窗口,只需要在一个函数中多次调用 `window.open` 方法即可。例如: ```javascript &lt;!-- function openwin() { window.open("page.html", "newwindow", "height=100,width=...

    window.open打开页面居中显示的示例代码

    在JavaScript编程中,`window.open()` 是一个非常实用的函数,用于在浏览器中打开新的窗口或者标签页。这个函数在Web开发中常用于创建新窗口、弹窗等场景,尤其在用户交互和导航中占据重要地位。在本例中,我们将...

    window.open()弹出居中的窗口

    `window.open()`是Window对象的一个方法,用于打开新的浏览器窗口。该方法的基本语法如下: ```javascript window.open(url, target, features); ``` - **参数**: - `url`:要加载到新窗口的文档URL。 - `...

    open 关闭子页面刷新父页面

    根据给定的代码片段和描述,“open关闭子页面刷新父页面”这一主题涉及到的关键知识点主要包括:使用JavaScript打开新窗口、父窗口与子窗口之间的通信,以及通过特定事件触发父窗口的刷新。 ### 使用JavaScript打开...

    window.open的参数说明控制谈出可以定植大小的窗口

    在网页开发中,`window.open` 方法是用于打开新窗口或标签页的一个非常实用的功能。此方法常被用在各种场景下,例如:弹出广告、登录框、信息提示等。 #### 方法语法 ```javascript window.open(url, target, ...

    JavaScript中window.open用法实例详解

    如果你希望弹出的窗口在一段时间后自动关闭,可以在弹出的页面中添加JavaScript代码来实现。例如,以下代码将在10秒后关闭窗口: ```html function closeit() { setTimeout("self.close()", 10000); // 毫秒 } ...

    Window.Open打开窗体和if嵌套代码

    在JavaScript编程中,`window.open()` 是一个非常重要的方法,用于在浏览器中打开新的窗口或标签页。在给定的代码示例中,这个方法被巧妙地与`if`语句嵌套结合使用,实现了一个交互式的用户界面功能。下面我们将详细...

    window.open不被拦截的简单实现代码(推荐)

    在JavaScript编程中,`window.open()` 是一个非常实用的函数,用于打开新的浏览器窗口或者重定向现有的窗口。然而,由于防止弹窗广告的用户友好性考虑,大多数浏览器会对直接调用 `window.open()` 的行为进行拦截。...

    Xilium CefGlue 浏览器弹出新窗口,改为新标签选项卡中打开的问题

    这个方法会在浏览器尝试打开新窗口之前被调用。我们可以在该方法中判断是否需要在新窗口中打开链接,或者改为在当前窗口或新的标签页中打开。 以下是一个基本的示例代码片段,展示了如何在`OnBeforePopup`中处理新...

    浏览器互相调用IE打开谷歌,谷歌打开IE,谷歌版本41以上

    这主要是通过`window.open()` JavaScript API实现的,它允许开发者在当前窗口打开新的页面或者在新的窗口中打开页面。为了使Chrome能够调用IE,开发者可以编写JavaScript代码,检测当前浏览器是否为Chrome,并根据...

    自动关闭ie的弹出窗口

    总之,“自动关闭ie的弹出窗口”涉及到使用C#的WebBrowser控件和JavaScript交互,通过监听和修改页面脚本来实现这一功能。在实际应用中,应考虑到兼容性和安全性,确保不影响正常网页功能的同时,有效地阻止不期望的...

    用浏览器打开新窗口后在父窗口中调用新窗口中的代码

    当在网页中用javascript winow.open 打开一个新窗口后,是否能在父窗口中调用并执行新窗口中的代码或调取其中的元素? 答案是肯定的。 这段示例代码不但能在父窗口页面test.html中执行被打开的新窗口页面test-open...

    JS网页定时自动关闭-无浏览器提示

    在我们的场景中,我们希望在一段时间后自动关闭网页,因此我们可以将`window.close()`方法放入`setTimeout`的回调函数中。但是,直接使用`window.close()`会引发浏览器的确认对话框,询问用户是否真的要关闭窗口。...

Global site tag (gtag.js) - Google Analytics