如何使用jQuery附加html

时间:2011-03-09 15:51:38

标签: javascript jquery

我正在尝试将Facebook开放图形标记(基于页面上动态生成的内容)添加到我的HTML头部。

 $(document).ready(function(){
var stat = $('#random-message').text();
stat = jQuery.trim(stat);

//set facebook Open Graph description
$('head').append('<meta property="og:description" content="'+stat+'"/>');

  });

这本身就很好。 js fiddle

当我将它与动态加载的Twitter脚本(下面)结合使用时

$(document).ready(function(){
var stat = $('#random-message').text();
stat = jQuery.trim(stat);
//set tweet button data text
$('a.twitter-share-button').attr('data-text',stat);

//set facebook Open Graph description
$('head').append('<meta property="og:description" content="'+stat+'"/>');

//insert twitter API Script - problematic
$('#tweet-like').append('<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>');

});
它摇摇晃晃地摇摇头。 js fiddle在js中,它会在主体中插入一些特殊字符,而脚本的其余部分(包括插入元标记)都不起作用。奇怪,因为Twitter脚本“widgets.js”正在我的页面上工作,但元标记没有出现。

1 个答案:

答案 0 :(得分:7)

Facebook不使用当前页面中的元标记,它会重新请求页面并对其进行解析。由于该解析不涉及在页面中运行任何Javascript,因此不会将元标记添加到读取的数据中。

要使元标记起作用,它必须从头开始出现在页面中,不能使用客户端脚本添加。