当我分享 Google 地图上某个位置的链接时,该链接会附带该位置的预览图像,如下所示:
据我所知,您可以将预览图像作为标签放在网页的部分中,如下所示:
<meta property="og:image" content="example.png"/>
但是这个标签是静态的,没有真正的方法让它动态。那么谷歌地图是如何做到的呢?
谷歌可能正在做一些特别的事情,因为他们是谷歌,但绝对有可能使其成为动态服务器端。如果 sevrer 使用模板渲染页面,并且了解其渲染的路线,则它可以将图像替换为另一个图像,甚至可以动态生成它,例如,如这个问题中所示,作为 Base64 图像。
使用 Jinja 模板(针对 Python)的一个示例是
<meta property="og:image" content="{{ map_location.thumbnail }}"/>
。使用 JavaScript 模板字符串的更复杂的示例可能是:
render(
`
<html>
<!-- other content -->
<meta property="og:image" content="/images/${request.parameters.id}.png"/>
<!-- other content -->
</html>
`
)