为什么Google Optimize javascript无法在页面刷新时执行?

时间:2018-11-02 10:19:53

标签: javascript google-optimize

我正在使用Google Optimize通过插入一行Javascript在页面上进行A / B实验:

$(document).ready(function(){console.log(1);});

当我运行实验并在新的隐身窗口中查看目标页面时,“ 1”已成功登录到控制台。

但是,如果刷新页面,则控制台将不会记录任何内容。我可以浏览该页面,也可以从该页面导航,但是没有任何记录。

仅当我关闭隐身会话并开始一个新的会话时,我才能使其重新工作。

好像Optimize仅在会话用户第一次看到变体时才执行脚本?

如何在会话中每次查看页面时使JS运行?

注意:在打开标签后和关闭标签后,我都尝试将代码放置在身体和头部中。

1 个答案:

答案 0 :(得分:0)

多亏了Google员工here的帮助,我设法弄清了JQuery的作用。首次隐身加载时,Optimize尚未缓存,并且加载时间比JQuery长,因此在执行我的自定义JS时可以运行OK。

但是在刷新时,缓存的Optimize在JQuery之前加载,这意味着我的自定义JS失败了。

解决方案是剥离JQuery并使用普通的Javascript执行我需要的操作。

对于上面的简单示例,我可以简单地调用console.log(1);。不用包裹它。

在我的实际工作中,我试图在输入字段中设置占位符文本。用普通的Javascript可以正常工作:

document.getElementById('theElement')。placeholder ='文本';

希望这对某人有帮助。