2012-03-02 14 views
0

我有網頁的iframe重裝IFRAME「1」,這顯示了一個單獨的頁面「2」我的網站內。與jQuery沒有表現出改變或無法加載CSS

1包含運行在提交的AJAX功能的形式。這調用了一個PHP文件,它根據表單中輸入的內容編輯了頁面的特定部分。

在AJAX功能的成功回調,我重裝了iframe第1頁上,像這樣:

 $.ajax({ 
       type: "POST", 
       url: 'file.php', 
       data: "user="+ user +"&title="+ title, 
       success: function() 
       { 
        var frameHtml = '<iframe id="previewFrame" src="temp/' + user + '/" width="100%" height="373" scrolling="yes"><p>Your browser does not support iframes.</p></iframe>'; 
        var liveDemoFrame = $('.liveDemoFrame'); 
        var previewFrame = $('#previewFrame'); 

        previewFrame.remove(); 
        liveDemoFrame.append(frameHtml).hide(); 
        $('#previewFrame').hide(); 
        liveDemoFrame.show().append('<div class="customiseThemeSpinnerWrap"><div class="customiseThemeSpinnerIcon"></div></div>'); 

        setTimeout(function() { 
         $('#loading').remove(); 
         $('.customiseThemeSpinnerWrap').remove(); 
         $('#previewFrame').fadeIn(); 
        }, 1000); 
       } 
     }); 
  • 在Firefox中 - 一旦IFRAME已重新加載,CSS的缺失和頁面純粹是HTML。
  • 在IE中 - 這些變化尚未完成。
  • 在Chrome中 - 它在我的家用PC和我的測試PC上運行得非常好。但沒有在大學電腦上工作!

如果我訪問頁面2沒有iframe,已經做出了改變,它工作正常!

我試着加入:

<meta http-Equiv="Cache-Control" Content="no-cache"> 
<meta http-Equiv="Pragma" Content="no-cache"> 
<meta http-Equiv="Expires" Content="0"> 

,但似乎並不有所作爲。

+1

很多在這個Ajax調用異常活動......剛創建的項目中刪除一個項目,然後將其隱藏,顯示()和成功不取決於任何數據 – charlietfl 2012-03-02 01:30:48

+0

你是絕對正確的。刪除所有的垃圾已經修復它在Firefox和IE。現在我只需要對淡入淡出動畫進行不同的編碼。 – tctc91 2012-03-02 01:49:39

+0

我的猜測是你甚至不需要做一個Ajax調用 – charlietfl 2012-03-02 01:54:42

回答

0

Cache?嘗試使用頭函數設置no cache http頭。您還可以使用jquery將隨機數追加到url的後面,以便代理不會緩存它們。

從我的手機接聽上午,所以它不容易提供的例子。抱歉。

+0

我試着添加一些元信息來禁用緩存(如更新的操作中所見),但沒有幫助。 你的意思是將隨機數添加到iframe網址嗎? – tctc91 2012-03-02 01:23:27

+0

是的。使用math.random函數。也爲元無限,也嘗試使用PHP頭函數來設置這些。我相信該函數的文檔中有如何設置它們的例子。 – iWantSimpleLife 2012-03-05 01:05:43

0

這個問題是由引起的 「$( '#previewFrame')隱藏();」。在成功功能裏面。不,這是任何人的任何幫助,但想到我會發布我是如何解決這個反正:)