0

我从 xml 获取我的页面数据,我希望在共享时显示这些数据,下面是我的代码:

$.ajax({
            type: "GET",
            url: "data/artikels.xml",
            dataType: "xml",
            success: function(xml){
                oArticle = $(xml).find('article:eq('+id+')');
                var regExp = /.*(?:youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=)([^#\&\?]*).*/;
                var match = oArticle.find('youtube').text().match(regExp);  
                $('head').append('<meta property="og:title" content="'+oArticle.find('title').text()+'" />'
                    +'<meta property="og:description" content="'+oArticle.find('shortcontent').text().replace(/&/g, '&amp;').replace(/>/g, '&gt;').replace(/</g, '&lt;').replace(/"/g, '&quot;')+'" />'
                    +'<meta property="og:image" content="'+oArticle.find('image').text()+'" />').trigger('create');  
                $('#container').append('<div id="title_article">'+oArticle.find('title').text()+'</div>'
                    +'<div id="date_article">'+oArticle.find('date').text()+'</div>'
                    +'<iframe width="600" height="315" src='+'"'+'http://www.youtube.com/embed/'+match[1]
                    +'<div id="content_article">'+oArticle.find('fullcontent').text()+'</div>').trigger('create');

            }
        })

当我在 facebook 调试器中输入我的 url 时,会拍摄其他图像/标题/描述,当我分享时也会发生同样的情况。有没有办法解决这个问题?

亲切的问候

香椿

4

1 回答 1

1

Facebook 通过获取您的纯 HTML 页面来生成链接的元内容。它不会运行您的 JavaScript 代码。

您最好在后端脚本中处理此问题并在页面加载时提供元标记,而不是使用 AJAX 加载它。一般来说,如果您的站点中有一个没有用户输入的 AJAX 请求,那么您做错了,因为这可能是在将 HTML 提供给用户之前由服务器生成的。(从而减少用户浏览器必须发出的请求数量)

于 2012-06-15T11:35:41.657 回答