如何在 Google 优化广告系列中的窗口加载或文档准备就绪时运行 javascript?似乎它允许我一直选择 DOM 元素直到 Body,但我需要在准备好的文档上运行 js。
问问题
14208 次
2 回答
16
这就是我的做法:
- 在可视化编辑器中编辑您的实验变体。
- 单击选择元素图标(左上角的矩形)
- 在元素选择器字段中,输入
body
。 - 单击添加更改按钮并选择 Javascript。这将弹出一个对话框,允许您输入将为主体调用的 JS 函数。
- 输入您要在其中运行的代码,并确保选择了结束标记之后选项。
由于 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);
}
于 2017-06-14T05:32:32.063 回答
2
如果上面的代码不起作用。
尝试使用:
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
于 2018-10-19T07:37:13.453 回答