エンジニアのひよこ_level10

【毎日更新!】新卒2年目エンジニアブログです! プログラムだけじゃなく、マネジメントとかも書いていきたい!

【Google Optimize】JavaScriptが動かないときに疑うべき2点【507日目】

ABテストが上手く動かない?

Webサイトを2種類作ってABテストを実行するときに使われる、Google Optimize。

marketingplatform.google.com

これでCSSを書くのは上手くいったけど、JavaScriptが動かない・・・

こういうときにはJavaScriptの基礎、2つ疑ってみましょう。

途中でエラーが出ている

オプティマスの画面で、JavaScriptのどこかでエラーが出ていませんか?

もしエラーが出ていれば、そのエラー後のJavaScriptは適応されません。
もし存在しない要素に対して○○をするみたいなことを書いていたら、良くないので、
if文で囲うとかしましょう。

document.getElementById("name").text = "name";

if (document.getElementById("name") != null) {
    document.getElementById("name").text = "name";
}

ページの読み込みが終わる前にJavaScriptを読み込んでいる

ページの読み込みが終わっていないときに、getElementByIdをしても対応する要素がない
だから動かないなどもあります。

そういうときは、読み込みが終わってから書きましょう。window.onloadを使ってみましょう。

if (document.getElementById("name") != null) {
    document.getElementById("name").text = "name";
}

window.onload = function () {
    if (document.getElementById("name") != null) {
        document.getElementById("name").text = "name";
    }
}