u块阻塞放大器实验

时间:2017-03-20 15:14:34

标签: amp-html

我正在尝试使用放大器实验进行a / b测试。

.html文件:

<amp-experiment>
  <script type="application/json">
      {
        "a-experiment": {
          "variants": {
            "control": 50,
            "1": 50
          }
        }
      }
    </script>
</amp-experiment>

<h3 class="a-experiment control">Sample control offer</h3>
<h3 class="a-experiment variant">Sample variant offer</h3>

.scss文件:

body .control {
   display: block;
}

body {
   &[amp-x-a-experiment="control"] .variant {
      display: none;
   }
   &[amp-x-a-experiment="1"] .control {
     display: none;
   }
}

除非用户启用了uBlock Origin,否则它可以正常工作。这里有两个问题:

  • 提供两种变体,
  • 页面需要4-5秒才能加载。

有2个错误消息:

  • 即时错误消息:GET https://cdn.ampproject.org/v0/amp-analytics-0.1.js net::ERR_BLOCKED_BY_CLIENT

  • 页面加载后的错误信息:Render timeout waiting for service variant to be ready.​​​

如果我删除放大器实验,uBlock没有问题。

还有其他人遇到过这个问题吗?有工作吗?

1 个答案:

答案 0 :(得分:5)

uBlock(可能还有其他人)阻止了对https://cdn.ampproject.org/v0/amp-analytics-0.1.js的请求。这很可能是放大器分析请求成为EasyList过滤器一部分的结果。

阻止amp-analytics是错误的选择,因为此请求仅下载AMP页面正常工作所需的webcomponent脚本。请求不执行任何实际跟踪。跟踪器提出单独的请求,应由现有过滤器覆盖。

我已经要求EasyList维护者从列表中删除amp-analytics

更新:他们从EasyList中移除了放大器分析。