簡體   English   中英

我有7張圖片。 我想使用javascript向不同的用戶隨機顯示不同的圖像。 但是一旦顯示,它就不會改變

[英]I have 7 images. I want to display different images to different users randomly using javascript. But once it is displayed, it should not change

我嘗試使用用戶計算機的IP地址,但是我意識到在特定網絡中所有計算機的公共IP地址都是相同的。 但是我想在我的大學網絡中向不同的用戶顯示不同的圖像,沒有用戶的登錄信息,因此我可以用javascript唯一地標識用戶或用戶的計算機。

謝謝

您可以嘗試使用會話或Cookie,但是如果您在Javascript客戶端中進行操作,則不能保證它不會更改,否則他們將不會使用其他瀏覽器。

如果有Flash,則Flash cookie可能是一種可能的跨瀏覽器方法。 請參閱如何唯一標識訪問我的網站的計算機?

設置cookie已被提及,因此我提供了另一種可能性。

您可以使用用戶的分辨率/瀏覽器/設置/等作為輸入來嘗試某種哈希函數。 這不是保證方式,但是輸入中的細微更改將導致不同的哈希值。

有幾個選項:使用一個Cookie(合理的現代瀏覽器有其他的方法,如網絡存儲 ,但他們達到同樣的事情),或指紋瀏覽器(例如,使用類似fingerprintjs )。 每個都有優點和缺點:

曲奇餅

您需要做的就是在第一次訪問時生成psuedorandom編號並將其存儲在cookie中。 Cookie可以長期保持不變,直到用戶手動刪除Cookie,重新創建他們的瀏覽器配置文件等為止,此時圖像可能會發生變化,但是用戶可以合理預期在執行其中一項操作時會看到一些更改動作。 有些用戶可能會完全阻止您的Cookie-這只是意味着他們都將獲得相同的圖像。 Cookie的使用受到一些法律的約束,尤其是在歐洲,因此,如果您尚未使用Cookie,並且您的網站在歐洲很受歡迎,則可能需要添加免責聲明。

指紋

通過查詢諸如屏幕分辨率,已安裝的插件,軟件版本之類的內容來創建指紋,然后對結果進行哈希處理以生成可識別系統的短數字/字符串-您只需要將該標識符轉換為1到7之間的數字即可。當這些參數中的任何一個發生更改時,該值都會更改,但是不受清潔Cookie的影響,也不受要求在某些地區公開使用Cookie的相同法律的影響(可能存在其他法律約束瀏覽器指紋的使用)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM