我有一个基于 Javascript 和 php 的评级系统。每个页面上都会显示结果“X 票 (moyenne X)”。 X 是数字,“moyenne”表示“平均符号”。
我想要 javascript 添加微数据信息。源代码应该显示如下内容:<span itemprop="reviewCount">X</span> (Moyenne <span itemprop="ratingValue">X</span>)
是否可以 ?你能帮我吗?
我认为我必须改变的那一行是:$(widget).find('.total_votes').text( votes + ' votes (Moyenne ' + exact + ')' );
这是我的JS:
<script>
$(document).ready(function() {
$('.rate_widget').each(function(i) {
var widget = this;
var out_data = {
widget_id : $(widget).attr('id'),
fetch: 1
};
$.post(
'../php/ratings.php',
out_data,
function(INFO) {
$(widget).data( 'fsr', INFO );
set_votes(widget);
},
'json'
);
});
$('.ratings_stars').hover(
function() {
$(this).prevAll().andSelf().addClass('ratings_over');
$(this).nextAll().removeClass('ratings_vote');
},
function() {
$(this).prevAll().andSelf().removeClass('ratings_over');
set_votes($(this).parent());
}
);
$('.ratings_stars').bind('click', function() {
var star = this;
var widget = $(this).parent();
var clicked_data = {
clicked_on : $(star).attr('class'),
widget_id : $(star).parent().attr('id')
};
$.post(
'../php/ratings.php',
clicked_data,
function(INFO) {
widget.data( 'fsr', INFO );
set_votes(widget);
},
'json'
);
});
});
function set_votes(widget) {
var avg = $(widget).data('fsr').whole_avg;
var votes = $(widget).data('fsr').number_votes;
var exact = $(widget).data('fsr').dec_avg;
window.console && console.log('and now in set_votes, it thinks the fsr is ' + $(widget).data('fsr').number_votes);
$(widget).find('.star_' + avg).prevAll().andSelf().addClass('ratings_vote');
$(widget).find('.star_' + avg).nextAll().removeClass('ratings_vote');
$(widget).find('.total_votes').text( votes + ' votes (Moyenne ' + exact + ')' );
}
</script>
我的理解是,如果信息是通过 Javascript 添加的,Google 和其他微数据消费者将不会获取该信息。我认为它需要出现在实际的 HTML 标记中。
谷歌在各种支持页面上声明,爬虫只能看到文本浏览器或关闭了 Javascript 的浏览器可见的内容;我假设涉及微数据时情况没有什么不同。看 and 例如。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)