如何通过 url 参数更改打开的图形元标记内容

Posted

技术标签:

【中文标题】如何通过 url 参数更改打开的图形元标记内容【英文标题】:How to change open graph meta tag content via url params 【发布时间】:2021-05-06 21:39:14 【问题描述】:

我正在尝试使用 url 参数和打开图形元标记来制作自定义嵌入生成器,但是每当我将链接发布到 Discord 等网站时,它都会使用我为其设置的默认标记,而不是 url 参数的标记.有谁知道如何解决这一问题?我已经发布了代码和下面发生的示例图像。

<html prefix="og: https://ogp.me/ns#">

<head>
    <meta property="og:title" content="Title">
    <meta property="og:description" content="Description">
    <script>
        const queryString = window.location.search;
        const urlParams = new URLSearchParams(queryString);

        if (urlParams.has("title")) 
            const title = urlParams.get("title");
            document.querySelector('meta[property="og:title"]').setAttribute("content", title);
        ;

        if (urlParams.has("desc")) 
            const desc = urlParams.get("desc");
            document.querySelector('meta[property="og:description"]').setAttribute("content", desc);
        ;
    </script>
</head>

</html>

【问题讨论】:

【参考方案1】:

您不能指望抓取打开的图形数据在您的页面上执行 JS 的爬虫。唯一有效的解决方案是在服务器上呈现此 HTML。

【讨论】:

以上是关于如何通过 url 参数更改打开的图形元标记内容的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Angular 4 元服务动态更新打开的图形标签? [复制]

交互后如何获取iframe的刷新src

Vue JS中的打开图形元标记不显示图像

假设我无法通过图形 api 获取全局用户 ID,如何使用应用程序打开 facebook url

如何通过API获取Facebook跟踪网址参数

通过 URL 传递变量以更改源标记