Re: [請益] PHP圖形顯示問題
※ 引述《ogson (小豬仔)》之銘言:
: ※ 引述《GOLDMEMBER.bbs@bbs.cs.nctu.edu.tw (㊣保護地球 拒絕劈叉[PX])》之銘言:
: : 你前面不要空那麼多格,大部分人的telnet寬度都只有80 col.
: : 另外寫一個html檔案,裡面用img含入那個圖檔
: : 然後在原來的檔案裡面做連結指到新的檔案
: : 你還可以寫meta refresh,規定在若干秒之後自動跳到新的那頁。
: :
: 再請教一下各位
: 目前我先寫好四個檔案如下(依執行順序排序)
: h1.html:產生表格讓使用者輸入資料
: p1.php:藉由輸入的資料用Gnuplot畫圖並儲存,header到h2.html
: h2.html:再由src=p2.php 讀取圖檔並顯示
: p2.php:讀取儲存的圖形
: 以這樣的流程,我是以輸入資料,然後得到圖,再回上一頁,再輸入資料
: 得到圖,如此反覆做簡單測試,在firefox上執行沒什麼問題,但是到了IE
: 卻出現了問題,在第一次啟動IE並執行時,圖形有出來沒問題,但當我回
: 到上一頁,再輸入資料執行得到的圖形卻是最一開始(第一次啟動IE產生
: 的圖)的圖形,如果按REFRESH才會將最新產生的圖讀進來,想請問一下,會
: 有這樣的問題,是因為IE本身有各buffer儲存你第一次執行的網頁(h2.html)
: 當你要再一次讀取,IE並不會再發出request,而會直接去buffer找(但是並沒
: 有更新的動作),所以每次都得到一樣的網頁內容,反之,firefox則會做更新的
: 動作,所以我得到的結果都是最新的,這部分還請高手幫忙解答一下。
: 如果是這樣的話,那我是在程式內寫入refresh的動作嗎?或是各位有更好的解決
: 辦法?
<img src="p2.php?foo=bar&rand=12345678" />
rand參數丟一個你自己產生的亂數過去,可以在h2.html裡面用JavaScript
產生這個數字再傳入。這樣IE就會認為它每次都在抓不一樣的圖片,而不會
直接顯示cache裡面的圖。
<img id="mypic" src="blank.gif" />
<script type="text/javascript">
<!--
var now = new Date();
// 當然這不是亂數,但是我們目的只是要有個不會重複的數字而已。
// 這數字最好與時間有關,免得產生個數字和昨天重複,IE會去cache
// 裡面抓昨天那張圖來顯示。
var rand = now.getTime();
document.getElementById('mypic').src = 'p2.php?foo=bar&rand=' + rand;
//-->
</script>
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.132.153.19
討論串 (同標題文章)