2012-06-15 3 views
0

я получу pagedata из XML и я хочу эти данные будут показаны при совместном использовании, ниже мой код:Ajax JQuery Facebook открытые теги графа не используется

$.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'); 

      } 
     }) 

Когда я ввести свой URL в facebook отладчике другой изображения/заголовки/описания, то же самое происходит, когда я просто делюсь. Есть ли способ решить это?

Сердечные приветы

Toon

ответ

1

Facebook генерирует мета содержание ссылки, запрашивая вашу обычную HTML-страницу. Он не будет запускать ваш JavaScript-код.

Вам лучше справиться с этим в своем фоновом скрипте и обслуживать метатеги при загрузке страницы, а не загружать ее с помощью AJAX. В общем случае, если у вас есть запрос AJAX на вашем сайте, который не принимает никаких данных от пользователя, вы делаете что-то неправильно, так как это могло быть сгенерировано сервером перед тем, как показывать HTML пользователю. (таким образом уменьшая количество запросов, которые должен сделать пользовательский браузер)

+0

это обычный способ разобрать xml с jquery tough :(я не использую какой-либо серверный код atm, так что будет сложно –

+0

Вы можете анализировать XML с любого сервера -местный язык, и это единственный способ добиться того, что вам нужно. –

+0

Думаю, мне нужно будет подумать об этом, да ... я сделал это на стороне клиента, потому что мне нужно было сохранить свое приложение в html 5 localstorage –