JavaScript代码适用于chrome和IE,但不适用于Firefox

时间:2014-12-16 16:00:34

标签: javascript internet-explorer firefox

我正在尝试运行一些小的JavaScript代码。我需要刷新页面上的数据(使用某个链接),然后我想加载包含更新数据的页面。

由于我正在使用的平台打开页面以更新数据,我基本上必须打开一个链接。

我很快写了一些JavaScript并对其进行了测试。它在Internet Explorer和谷歌浏览器中运行良好,但出于某种原因,它似乎没有在Firefox中运行while循环。我不确定为什么它不起作用,因为我查找语法并且看起来是正确的。

var refreshed = false;
while (refreshed != true) {
  refreshpage = window.open('https://na10.salesforce.com/dash/dashboardRefresh');
  refreshed = true;
  refreshpage.close();
}
window.open('/dashboard', '__tab');

我尝试使用超时功能来关闭窗口。但我不确定我是否正确使用它。它将执行所有操作 - 包括循环中的内容 - 但它永远不会关闭窗口。

这是更新后的代码:

var refreshed = false;
var timeOut = setTimeout(function() {
  refreshpage.close();
}, 1000);

while (refreshed != true) {
  refreshpage = window.open('https://na10.salesforce.com/dash/dashboardRefresh');
  refreshed = true;
  clearTimeout(timeOut);
}
window.open('/dashboard', '__tab');

1 个答案:

答案 0 :(得分:0)

从原帖:

  

以下是我过去的工作原理:

var refreshed = false;
while (refreshed != true) {
  refreshpage = window.open('https://na10.salesforce.com/dash/dashboardRefresh');
  refreshed = true;
  var timeOut = setTimeout(function() {
    refreshpage.close();
    window.open('/dashboard', '__tab');
  }, 500);
}