我正在尝试在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;
}
一旦window.open()完成其处理然后我想重新加载我的页面,location.reload()依赖于window.open()。上面的代码工作正常。但问题是,如果window.open()花费超过4秒,它就不能正常工作。 setTimeout不是可行的解决方案,因为我们使用的是硬编码时间。所以任何人都可以帮助我,并提供最佳解决方案。
答案 0 :(得分:0)
您可以通过多种方式检查窗口是否完成加载。
JS
object.addEventListener("load", myScript);
的jQuery
$(window).on('load', function () {
});
答案 1 :(得分:0)
您可以在新打开的窗口中使用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
}