在Safari的熱門網站部分,iCloud.com圖像顯示徽標而不是登錄屏幕,如下所示。通常,Top Sites只顯示加載的網頁的圖片(並且加載的網頁看起來不像這樣)。你有什麼想法他們如何完成這個?我在Apple的文檔中找不到任何東西。謝謝你的幫助。Safari熱門網站預覽
回答
這裏的它是如何在iCloud上做展示一個熱門網站特定預覽:(編輯格式化)
if (window.navigator && window.navigator.loadPurpose === "preview") {
window.location.href = "http://www.icloud.com/topsites_preview/";
};
來源:http://blog.raffael.me/post/18565169038/defining-how-your-website-looks-like-in-safari-topsites
+1'因爲這一切都有道理。我也檢查過,這個腳本位於icloud網站的頂部。這足以在'topsites_preview /'預覽模板下創建,所有應用都可以工作。感謝菲爾;) –
我相信他們編程搶當它完成加載頁面的快照。如果您查看頂部的進度條,當iCloud顯示(僅iCloud徽標)時,它已完成加載並正在做一些動畫。
該網站從來沒有顯示只是徽標,但它從來沒有這麼大。 –
我認爲他們是專門爲他們的iCloud服務製作的,他們只是檢查該域名是否是icloud域名,是否顯示這個標識而不是正常的網站預覽。
Apple觸控設備可以在您的網絡服務器上查找預先分解的圖像。我知道它可以查詢這些圖片:
- 蘋果觸摸圖標114x114-precomposed.png
- 蘋果觸摸圖標144x144-precomposed.png
- 蘋果觸摸圖標57x57 -precomposed.png
- 蘋果觸摸圖標最高72x72,precomposed.png
如果你看看iCloud.com的烴源你會發現它會指向這些資源過於<link />
元素(因爲他們不在根部):
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="/system/cloudos/en-us/1JPlus21/source/resources/images/apple-touch-icon-114x114.png">
我只是猜測在這裏,但也許Safari瀏覽器尋找相同的圖像顯示在頂部網站視圖。
更多關於這些類型的圖像可以在這裏找到
http://theksmith.com/technology/howto-website-icons-browsersdevices-favicon-apple-touch-icon-etc/
最近,我製作了一些附帶iPhone圖標的網站,所以如果你的答案是正確的,而不是打印屏幕,我應該得到特殊的圖標,但是在將網站添加到頂部網站後,我沒有其他任何東西,但仍然在我的網站上進行了網頁打印。所以我認爲這是另一回事或更多。 –
@Sófka看起來像菲爾想出來的(如果有效的話)我只是在猜測:) – sg3s
是的;)我檢查了這個理論,因爲它很有趣;)嘗試總是一件好事!乾杯;) –
事實上,Safari不會搜索<link>
標記或其他任何東西。還有的是,我們可以用兩種dfifferent的事情:在PHP傳入請求的
的HTTP標頭。
window
對象的屬性JavaScript。
這兩種方式的工作非常好,你可以使用它們中的任何一個,或者如果你想確定它們兩個都可以。
PHP:
如果我們檢查HTTP標頭,我們會看到,當它Safari瀏覽器的Top Sites預覽發送請求,有X_PURPOSE
被設置爲preview
。然後,你必須在正常的網站寫:
if($_SERVER["HTTP_X_PURPOSE"]=="preview")
{
header("Location:thumbnail link");//Redirect to the thumbnail.
}
//Display the normal website.
哪裏還有縮略圖,你可以在頁面中添加:
if($_SERVER["HTTP_X_PURPOSE"]!="preview")
{
header("Location:normal link");//Redirect to the normal website.
}
//Display the thumbnail.
所以,你不能看到縮略圖,除了從Safari瀏覽器熱門網站預覽。
的JavaScript:
window.navigator.loadPurpose
的值爲preview
如果它是Safari瀏覽器的Top Sites預覽它試圖打開該網站。但是,如果它處於正常視圖,則window.navigator
不存在。因此,當你測試這個值時,你必須測試這個屬性的存在以及它的真實性。那麼這是正常瀏覽網頁的代碼:從我
if(!window.navigator||window.navigator.loadPurpose!=="preview")
{
window.location.href="normal link";//Redirect to the normal website
}
小竅門::
if(window.navigator&&window.navigator.loadPurpose==="preview")
{
window.location.href="thumbnail link";//Redirect to the thumbnail
}
而對於縮略圖頁面
如果你真想把一個<link>
標籤你可以寫:
<link rel="safari-preview" href="thumbnail link" />
,然後添加在頭節的結尾:
<script>for(var i=0,link=document.getElementsByTagName("link"),l=link.length;i<l;i++)if(link[i].getAttribute("rel")==="safari-preview"&&window.navigator&&window.navigator.loadPurpose==="preview")window.location.href=link[i].getAttribute("href");</script>
來源:
- 1. 防止Safari從緩存熱門網站
- 2. 網站預覽
- 3. 如何刪除Safari瀏覽器歷史記錄,緩存,Cookie,熱門網站,保存狀態和目標C
- 4. JQuery Multi網站預覽
- 5. 顯示網站預覽圖
- 6. 網站的文件預覽
- 7. 網站上的Markdown預覽
- 8. 手機網站預覽
- 9. 熱門網頁跟蹤
- 10. Safari瀏覽器的網站問題
- 11. OpenCV對臉部的熱門預測
- 12. 熱門桌面瀏覽器支持WebRTC
- 13. 選擇熱門瀏覽最近7天
- 14. 有用的網站搜索熱門欄目插件
- 15. 版權問題:Web應用程序內的熱門網站
- 16. Java谷歌網站管理員熱門查詢
- 17. 在(熱門)網站上使用的SVG的任何示例?
- 18. 負載平衡器爲熱門網站工作
- 19. 門戶網站的門戶網址
- 20. 設置Safari瀏覽器網頁預覽的縮略圖
- 21. asp.net 5預覽模板 - 網站
- 22. 如何在Lemoon網站預覽帖子
- 23. 預覽網站Sitecore的編輯
- 24. 如何生成網站預覽?
- 25. 在Windows和Ubuntu的iPhone網站預覽
- 26. mura cms新網站:預覽不顯示
- 27. 插件捕獲網站頁面預覽
- 28. 如何預覽靜態網站?
- 29. 在UIImageView中加載網站預覽(Swift)
- 30. 預覽網站作爲縮略圖
有些東西我不明白:獎金的目標是比菲爾的更好的答案和更多的細節。那麼爲什麼你向菲爾提供賞金,而不是給我? – Mageek
@Mageek對不起,我在菲爾回答之前開始了賞金,因爲沒有給出的答案是正確的。我非常感謝你的回答,但菲爾首先回答。我給了你一個投票。 –
你等到賞金結束了嗎? – Mageek