3

我正在构建的应用程序上有一个 Twitter 分享按钮。我正在使用 Twitter 卡片<meta>标签(文档)来定义显示在 Twitter 上的图像。该应用程序是动态的,允许您共享个人“报告”。当您共享单个报告时,我有一个查询参数?report=1608参见示例)。

问题:我只能为整个网站定义一张 Twitter 卡片。我很想为每个共享的报告动态更改卡片信息(标题、文本、图像)。

这可以做到吗?有任何想法吗?

我正在考虑只使用 JavaScript 动态更新元标记,但我认为这不会作为一种解决方案。

4

3 回答 3

3

不,这是不可能的。Twitter 的卡片爬虫 (Twitterbot) 不支持在页面中执行 Javascript,并且要求元标记是静态的。没有办法动态地做到这一点。

于 2017-07-19T13:46:00.073 回答
0

有可能,您可以动态加载标题、文本和图像。我试过了,它奏效了……但在浏览器/网站上填充需要一点时间,但它可以完美/立即在 twitter 应用程序上运行……需要一种解决方法……如果你发现,请告诉我任何解决方案。这就是我使用它的方式:


<?php
    if (isset($_GET['code'])) {
    ?>

        <meta name="twitter:card" content="summary_large_image">
        <meta property="og:image" content="https://example.domain/i/<?= $_GET['code'] ?>.png" />
        <meta name="twitter:image" content="https://example.domain/i/<?= $_GET['code'] ?>.png">
        <meta name="twitter:image:alt" content="image_alt">

    <?php
    }
?>

于 2022-01-06T11:41:25.800 回答
0

我认为你可以做SSR。祝你好运

于 2017-08-02T07:31:51.423 回答