javascript - 来自 json 的微数据

标签 javascript json

我想知道当涉及到丰富的片段或微数据以及使用json数据时如何通过Google的测试工具。

问题是我无法选择使用 PHP,只能使用 javascript。因此,当我想从商店的可信商店获取评论数据时,我从未通过测试工具,因为当 Google 抓取页面时,数据始终为空。

所以我的意思是这样的:

有一个包含评论数据的 json 文件的直接链接

http://api.trustedshops.com/rest/public/v2/shops/X17BD396442BCEE0808C79156D0E95F97/quality/reviews.json

我尝试的是这个

<script type="text/javascript">
    window.onload = function(){
      var url = 'http://api.trustedshops.com/rest/public/v2/shops/X17BD396442BCEE0808C79156D0E95F97/quality/reviews.json';

      $.getJSON(url, function(data){
        var stuff = data.response.data;
        var review = stuff.shop.qualityIndicators
         $('#value').html(review.reviewIndicator.overallMark);
         $('#votes').html(review.reviewIndicator.activeReviewCount);
      });
    }
  </script>

HTML 输出

<span xmlns:v="http://rdf.data-vocabulary.org/#" typeof="v:Review-aggregate">
   <span rel="v:rating">
     <span property="v:value" id="value">4.83</span> /
     <span property="v:best" id="best">5.00</span>
   </span> of
     <span property="v:votes" id="votes">58</span> reviews.
   </span>

现在,使用 Google 的测试工具,我总是会收到 3 个错误,提示“不能留空...”。

这样的事可能吗?

最佳答案

所以我不知道如何使用这个工具,但他们的示例中都没有 javascript。我认为该工具在尝试验证数据之前不会在左侧框中执行任何 JavaScript。有<script type="application/ld+json">的例子标签,但它们只是 JSON 数据,而不是可执行代码(请注意 type )。

为了验证这一点,我只需输入以下代码段:

<script type="text/javascript">
  console.log('it this on?');
</script>

当我单击“验证”时,浏览器控制台中没有显示任何内容。

无论您试图让这个工具做什么,我认为都超出了它的预期使用范围。该工具似乎可以验证代码的结果,但也无法运行您的代码。

关于javascript - 来自 json 的微数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30333951/

相关文章:

javascript - 标题在滚动时淡入

json - 使用 Jackson 将多个 JsonNode 合并到一个数组中

json - 为什么我在Swift文件中解开nil?

javascript - JavaScript 中的旋转 block

javascript - 带有 getter/setter 的 JSON stringify ES6 类属性

javascript - 让 jQuery 动画函数无限循环?

javascript - 正则表达式准确找到 4 位数字

javascript - 使用 grunt-json-bake 将多个 json 文件编译成一个

java - Thrift 无法从 json 反序列化为 java 对象

javascript - 如何通过jquery访问选择动态创建的控件