【问题标题】:Want to reload my page using location.reload(); after window.open() completes its execution想要使用 location.reload() 重新加载我的页面; window.open() 完成执行后
【发布时间】:2017-12-12 08:10:31
【问题描述】:

我正在尝试在 window.open('test.com') 完成处理后重新加载我的网页。我试过下面的代码

try {
        window.open(scriptURL); //scriptURl is my which i want to open in new window.
        setTimeout(function () {
            location.reload(); //It's you code
        }, 4000);

    } catch (e) {
        nlapiLogExecution('error', 'Error requesting SLE', e.getCode() + ' - ' + e.getDetails());
        alert('error: ' + e.message);
        return;
    }

location.reload() 依赖于 window.open() 一旦 window.open() 完成其处理然后我想重新加载我的页面。上面的代码工作正常。但问题是,如果 window.open() 花费超过 4 秒,它就不能正常工作。 setTimeout 不是可行的解决方案,因为我们使用的是硬编码时间。所以任何人都可以帮助我并提供最佳解决方案。

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:

    您可以在新打开的窗口上使用onload 功能:

     var openWindow = window.open(scriptURL); //scriptURl is my which i want to 
     openWindow.onload = function(){
        location.reload(); //or perhaps openWindow.location.reload(); need to check
     }
    

    【讨论】:

      【解决方案2】:

      您可以通过多种方式检查窗口是否完成加载。

      JS

      object.addEventListener("load", myScript);
      

      jQuery

      $(window).on('load', function () {
      
       });
      

      【讨论】:

        猜你喜欢
        • 2016-04-10
        • 2015-01-13
        • 1970-01-01
        • 2012-08-09
        • 1970-01-01
        • 2016-09-05
        • 1970-01-01
        • 1970-01-01
        • 2011-04-06
        相关资源
        最近更新 更多