我不知道如何設置問題。我不知道下面的標籤是如何工作的...帶參數的圖像 - HTML
<img src="img.png?value=23"/>
這個標籤工作正常。並正確渲染圖像。 value=23
有一些影響嗎?或者它被瀏覽器忽略了?
我甚至不知道如何Google!是否像傳遞參數給圖像?如果是這樣的話,如何檢索value屬性。參數是否有意義
" 這個標籤工作正常。並正確渲染圖像。="" value="23有一些影響嗎?或者它被瀏覽器忽略了?" 我甚至不知道如何google!是否像傳遞參數給圖像?如果是這樣的話,如何檢索value屬性。參數是否有意義"="">
我不知道如何設置問題。我不知道下面的標籤是如何工作的...帶參數的圖像 - HTML
<img src="img.png?value=23"/>
這個標籤工作正常。並正確渲染圖像。 value=23
有一些影響嗎?或者它被瀏覽器忽略了?
我甚至不知道如何Google!是否像傳遞參數給圖像?如果是這樣的話,如何檢索value屬性。參數是否有意義
對於此示例,我不知道這是什麼意思 但它可能寫
<img src="path_img.png?<?php time() ?>" />
強迫你的瀏覽器下載的資源,而無需使用的緩存
當然?任何文檔?鏈接?? – madhairsilence
是,對於所有靜態資源(js,png ....) – cyrilkiller
如果此圖像是以某種方式動態顯示的,則託管此圖像的服務器必須從PHP代碼生成圖像。
看看GD library,它可以讓你使用PHP來生成基於空白或其他圖像的圖像。必須傳遞該參數以將該值包含在圖像中(例如,包含文本「123」的圖像或以某種方式使用它進行計算的圖像,例如用戶ID)。
然後在服務器上的.htaccess
重寫的.png
擴展到.php
(或者另一個),使它看起來像一個真正的形象,以一些圖書館和爬蟲,或腳本等
另一種選擇是,這是一個簡單的圖像,value
被忽略,或者只是隨機確保圖像沒有被緩存。
如果服務器使用它,value=23
只會有效。瀏覽器請求http://example.com/img.png?valud=23
,所以服務器將看到參數。
例如,使用PHP,如果使用$_GET['value']
,並且該變量會更改要發送的圖像,則需要value=23
。
參數通常與圖像一起發送以指定高度或寬度,或者確定加載哪個圖像。
ok ..正如前面提到的@Travesty ..如果這個值是一個隨機數,或者任何隨機參數,將會「特意發信號」讓瀏覽器瞭解它的一個新圖像並避免緩存? – madhairsilence
@madhairsilence就瀏覽器而言,如果你要求'img23.png'或'img.png?value = 23',並不重要:瀏覽器假設它是一個不同的文件,不管它是否真的是,所以它不會從緩存中加載,除非已經加載了'imp.png?value = 23'。 – Mooseman
確實如此!
例如,看看這塊旨在動態調整圖像大小的軟件。
http://imageresizing.net/docs/basics
如果做得正確,添加參數到圖像URL可以是非常有用的。
編輯:
正如其他人所指出的,你需要確保服務器知道如何處理額外的參數。在這種情況下,它打算調整大小/水印/旋轉圖像。它當然可以做其他奇妙的事情。
這取決於託管圖像的服務器 - 如果它是動態生成的。你聽起來好像可以假定這個邏輯適用於任何地方。 – casraf
@ChenAsraf,我編輯了答案來澄清答案。 –
好的!只想確認!所以。瀏覽器甚至不知道該參數是什麼。它只是呈現圖像考慮?作爲一些參數!它與清除緩存沒有任何關係! – madhairsilence
它取決於服務器,如果你有png MIME類型作爲文本,並且你解析文件就好像它們是用php代碼的文本文件,那麼它就有效果。
這真的取決於服務器而不是瀏覽器的配置。
Morover,mod_rewrite可以用來更改php文件看起來像png的文件。
添加通過PHP解析器解析PNG文件 AddType application/x-httpd-php .png
mod_rewrite的
RewriteEngine On
RewriteRule ^([a-zA-Z0-9_\-]*)\.png$ img.php?value=$1
有了這些行asdfasdf.png
會所以當你使用$_GET['value']
上asdfasdf.png
這種情況下被視爲img.php?value=asdfasdf
或img.php?value=asdfasdf
。它會有效果。
如果服務器沒有配置做這樣的事情和圖像是圖像(是的,我知道它是燦爛的句子),那麼它對普通圖像沒有影響。
總結。
它不依賴於服務器配置上的瀏覽器
的參數在網址主要用於獲取有關特定項目的一些信息,但可以在更多的其他方式使用。在談論圖像時,瀏覽器不會忽略參數value=23
,但您正在使用的服務器將會。
但是,如果圖像是某種動態的,那麼它可能被用來改變圖像的URL或其他東西。
最有可能它不會做任何事情,但你總是可以嘗試刪除它,看看是否有任何改變。我能想到的唯一可能的解決方案是在圖像更改時可以更改數字,以確保客戶端不使用緩存版本。 – Travesty3
好!但我的問題是它有任何意義?或者它只是由瀏覽器igored? bcoz! HTML是最寬鬆的語言!一切都無故無效! – madhairsilence