2013-10-14 71 views
0

我有這樣一段代碼: IE10功能負荷的setInterval不工作

$(function(){ 
    function load() 
    { 
     $("#queuerefresh").load("1.txt"); 
    } 

    load(); 
    setInterval(load,1000); 
}); 

使用:http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js

它加載文本文件到一個div的內容。這設置爲每1秒刷新一次,以便在文本文件更新時顯示在div中。這在Chrome中完美運行,但是,除非我手動刷新整個頁面,否則它不會在IE10中更新?請幫忙。

+0

你需要有一個函數裏面的函數嗎? –

+0

@MatthewRiches這是jQuery文檔準備簡寫。這意味着dom會在加載函數 – Undefined

+0

@Sam之前加載,但我知道他是否真的需要等待文檔準備好,如果他正在加載外部源,如果腳本位於頁面底部,元素將會在那裏,但我想也許它可能在頭上似乎是多餘的 - 但無論如何,一個AJAX調用可以創建元素時,它完成... –

回答

1

這對我來說似乎是一個緩存的問題。您可以通過使用AJAX避免這種情況:

$(document).ready(function() 
{ 
    function load() 
    { 
     $.ajax({ 
      url: "1.txt", 
      cache: false, // very important in your case 
      success: function(data) 
      { 
       $("#queuerefresh").empty(); 
       $("#queuerefresh").html(data); 
      } 
     }); 
    } 
    load(); 
    setInterval(load,1000); 
}); 

作品對我來說在Chrome,Firefox瀏覽器以及IE中

+0

完美的作品,非常感謝! – user2878371

0

喜只是嘗試類似下面應該work..added爲即10..now一些代碼檢查

$(document).ready(function() 
{ 
$.ajaxSetup ({ 
    // Disable caching of AJAX responses */ 
    cache: false 
}); 

    var refreshId = setInterval(function() 
    { 
        $("#queuerefresh").load("1.txt"); 
    },1000); 
}); 
+0

我沒有看到任何顯着差異OP的代碼,可以解決IE問題。你測試過了嗎? – matewka

+0

他在ajax上將緩存設置爲false,這幾乎就是它。 –

+0

嗨@ lionheart98比我的帖子早了幾分鐘就發佈了.. – codebreaker