在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