我正在使用Google Optimize通过插入一行Javascript在页面上进行A / B实验:
$(document).ready(function(){console.log(1);});
当我运行实验并在新的隐身窗口中查看目标页面时,“ 1”已成功登录到控制台。
但是,如果刷新页面,则控制台将不会记录任何内容。我可以浏览该页面,也可以从该页面导航,但是没有任何记录。
仅当我关闭隐身会话并开始一个新的会话时,我才能使其重新工作。
好像Optimize仅在会话用户第一次看到变体时才执行脚本?
如何在会话中每次查看页面时使JS运行?
注意:在打开标签后和关闭标签后,我都尝试将代码放置在身体和头部中。
答案 0 :(得分:0)
多亏了Google员工here的帮助,我设法弄清了JQuery的作用。首次隐身加载时,Optimize尚未缓存,并且加载时间比JQuery长,因此在执行我的自定义JS时可以运行OK。
但是在刷新时,缓存的Optimize在JQuery之前加载,这意味着我的自定义JS失败了。
解决方案是剥离JQuery并使用普通的Javascript执行我需要的操作。
对于上面的简单示例,我可以简单地调用console.log(1);。不用包裹它。
在我的实际工作中,我试图在输入字段中设置占位符文本。用普通的Javascript可以正常工作:
document.getElementById('theElement')。placeholder ='文本';
希望这对某人有帮助。