【问题标题】:Discord opengraph embeds not showing up from my websiteDiscord opengraph 嵌入未从我的网站显示
【发布时间】:2020-10-26 18:17:01
【问题描述】:

我正在制作一个采用 URL 参数的网站,然后根据它们相应地创建元标记。 Discord 没有显示任何嵌入。

代码如下:

<!DOCTYPE html>
<html>
    <script>
        function getUrlVars() {
            var vars = {};
            var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) {
                vars[key] = value;
            });
            return vars;
        }
        
        var title = getUrlVars()["title"];
        var description = getUrlVars()["desc"];
        var color = getUrlVars()["color"];
        
        var td = document.createElement("meta");
        var tt = document.createElement("meta");
        var tc = document.createElement("meta");

        td.setAttribute("content", description);
        tt.setAttribute("content", title);
        tc.setAttribute("content", color);
        td.setAttribute("property", "og:description");
        tt.setAttribute("property", "og:title");
        tc.setAttribute("name", "theme-color");

        document.head.appendChild(td);
        document.head.appendChild(tt);
        document.head.appendChild(tc);
        
    </script>
</html> 

这是网站和结果:

如您所见,没有出现嵌入。 我对 HTML 和 DOM 比较陌生,因此感谢所有帮助。

【问题讨论】:

    标签: javascript html dom discord open-graph-beta


    【解决方案1】:

    据我所知,大多数网络爬虫并不运行 JavaScript,它们只是读取网站中的 HTML。

    因此,您最好的选择是使用 PHP。这就是我使用“用户嵌入生成器”所做的

    例如:

    if(isset($_GET['title']) && !empty($_GET['title'])) {
        echo "<meta name='og:title' content='{$_GET['title']}' />";
    }
    // and so on with more open-graph tags
    

    【讨论】:

      猜你喜欢
      • 2011-12-14
      • 2012-04-19
      • 2021-10-10
      • 1970-01-01
      • 2020-04-07
      • 2021-06-07
      • 1970-01-01
      • 2012-06-10
      • 2017-07-30
      相关资源
      最近更新 更多