2014-01-21 140 views
0

我希望當用戶點擊鏈接時重新加載我的頁面。 我正在使用window.location.reload(true)函數,它重載了頁面,但它使用了緩存版本。我想要它重新加載它! 我使用Google Chrome測試我的主頁!點擊鏈接時的PHP Reload頁面

目前代碼:

for ($i=0; $i<count($files); $i++) { 
$image = $files[$i]; 
echo '<tr><td>'; 
echo '<img src="'; 
echo $image; 
echo '" width="120" height="100"></td>'; 
$link = '<a href="deletesingle.php?bild=' . $image . '" target="_blank"' . 'onClick="window.location.reload(true);">'; 
echo '<td>'; 
echo $link; 
echo 'L&ouml;schen!</a>'; 
echo '</td></tr>'; 

}

+4

呢!你的!問題!涉及!所以!許多!戲劇!那!它!需要!感嘆!點!!!! ???嘗試在頁面的url中添加一個cache-buster值,每次點擊它都會發生變化,這會導致瀏覽器獲取新版本,而不是僅重新繪製緩存副本。 –

+0

或者禁用所有緩存控制指令。 – Flosculus

+0

我想你想在圖像/項目刪除後顯示新列表?如果是這樣,爲什麼不在.php文件中刪除圖像後重定向? –

回答

0

假設您的文件名爲:

list.php的

for ($i=0; $i<count($files); $i++) { 
$image = $files[$i]; 
echo '<tr><td>'; 
echo '<img src="'; 
echo $image; 
echo '" width="120" height="100"></td>'; 
$link = '<a href="deletesingle.php?bild=' . $image . '">'; 
echo '<td>'; 
echo $link; 
echo 'L&ouml;schen!</a>'; 
echo '</td></tr>'; 

deletesingle.php

//Your code to delete image 

//redirect back to list.php 
header('location: deletesingle.php'); 

問候。

0

使用_blank值離子屬性目標將請求發送到新頁面或新選項卡。 你可以調用你的deletesingle.php頁面,並用參數重定向到你的列表,如?no_cache = 1

然後,在你的列表頁面中,如果$ _GET ['no_cache']被設置,強制標題爲防止緩存

<?php 
if (isset($_GET["no_cache"] && $_GET["no_cache"] == 1) { 
    header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0"); 
    header("Cache-Control: post-check=0, pre-check=0", false); 
    header("Pragma: no-cache"); 
} 
?> 
0

讓我捕捉你的要求用簡化的模型:

你有一個當前頁面,我們稱其爲「images.php」。它列出了每個圖像的刪除按鈕。

如果您在不使用window.reload的情況下單擊當前頁面上的任何鏈接,它將在沒有緩存的情況下加載。但是你也希望頁面執行刪除操作。最好將刪除邏輯與列表結合起來。

<?php 
//images.php 

if ($action=='delete'&&is_numeric($_GET['imageid'])){ 
    //delete the image here 
} 

//list the images here 
... 
} 

設置你的新的刪除鏈接images.php?行動=刪除&圖像標識= 圖像標識