如何在Google Optimize中的Document Ready上运行Javascript?

时间:2017-04-17 16:31:41

标签: google-optimize

如何在Google Optimize广告系列中运行窗口加载或文档准备好的javascript?看起来它允许我选择DOM元素一直到Body,但我需要在文档就绪上运行js。

2 个答案:

答案 0 :(得分:8)

这是我的方式:

  1. 在Visual Editor中编辑实验变体。
  2. 点击选择元素图标(左上角的矩形)
  3. 元素选择器字段中,输入body
  4. 点击添加更改按钮,然后选择Javascript。这将打开一个对话框,允许您输入将为正文调用的JS函数。
  5. 输入您要在其中运行的代码,并确保选中关闭代码选项。
  6. 由于Google Optimize的性质,我希望在加载之前不会开始使用DOM元素。并且因为您选择body标签上的 After closing tag 选项,该选项应确保所有元素都已加载到DOM中。

    但是,如果你想100%确定,你可以写一个这样的函数。

    function runOnLoad() {
        console.log('this will only run when window is loaded');
    }
    if(document.readyState === "complete") {
        runOnLoad();
    } else {
        window.addEventListener("onload", runOnLoad, false);
    }
    

    该代码段改编自How to check if DOM is ready without a framework?

答案 1 :(得分:0)

如果上面的代码不起作用。

尝试使用:

document.onreadystatechange = function() {
    if(document .readyState === "complete") {
      console.log('this will only run when window is loaded');
    }
}

参考:https://developer.mozilla.org/en-US/docs/Web/API/Document/readyState