質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

解決済

2回答

4801閲覧

【JS】スマホでローカルストレージが反応しない

K_9301

総合スコア69

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

0クリップ

投稿2017/04/03 06:33

いつもお世話になります。

PCだと動くのにスマホ(iPhone7最新OSver含め全体的に)だと動かない事象を解決したくご相談させてください。
JSはあまり書かないのでアドバイスいただけますと幸いです。

#要件
?utm ?fbパラメータできた際に、ローカルストレージセットして、電話番号を変更
再訪問した際にもローカルストレージ読み取り、電話番号を変更

#課題
いかコードでPCは動くがスマホだと動かない。
スマホでも動くよう設定した

#ソース要件

  • パラメータ取得しutm/fbあればchangePhoneNo()関数を動かす
  • changePhoneNo()で変数whichTelNoに1を格納
  • HTMLのaタグクリックでcheckCallTelNo()関数を動かす
  • checkCallTelNo()で変数whichTelNoの値を確認し、1であれば番号をaaaa〜からbbbbへ変更

#ソース

<JS> var whichTelNo = 0; $(function(){ var param = location.search; var adls = window.localStorage.getItem("ad"); var fbls = window.localStorage.getItem("fb"); //LocalStrage判定。どちらもある場合はutm優先とする if(adls == 1){ console.log("utmLS反応"); changePhoneNo(); }else if(fbls == 1){ console.log("fbLS反応"); changePhoneNo(); // 後日、FB用関数と差し替え }else if((param.indexOf("utm") > -1)){ changePhoneNo(); window.localStorage.setItem("ad", 1); console.log("初訪問。utmLSセット"); }else if((param.indexOf("fb") > -1)){ changePhoneNo();// 後日、FB用関数と差し替え window.localStorage.setItem("fb", 1); console.log("初訪問。fbLSセット"); } console.log('whichTelNo' + whichTelNo); }); function changePhoneNo(){ whichTelNo = 1; return whichTelNo; } function checkCallTelNo(){ if(whichTelNo == 1){ window.open('tel:bbb-bbbb-bbb','_self'); console.log('tel:bbb-bbbb-bbb'); } else { window.open('tel:aaa-aaaa-aaa','_self'); console.log('tel:aaa-aaaa-aaa'); } }
HTML <p class="title title_tel"> <span><a href="javascript:void(0)" onclick="checkCallTelNo()">aaa-aaaa-aaa</a> </span></p>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

LocalStorageは比較的新しい技術のためブラウザによって
使用条件がことなるようです。(場合によって使えない場合もある)
try~catch処理をわけるとして結局LocalStorageを使う場合と
使わない場合の処理が必要なので、データ量が少ないなら
cookieなどに置き換えたほうがよいかもしれません。

投稿2017/04/03 07:33

yambejp

総合スコア114572

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

K_9301

2017/04/03 23:29

やはりローカル環境依存ですかね。cookieで検討してます。またBAにさせていただきます。
guest

0

関係無いかもしれませんが、プライベートモードだとローカルストレージは動きません。

投稿2017/04/03 14:49

yohe32

総合スコア76

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

K_9301

2017/04/03 23:28

有難う御座います。ブラウザ閲覧環境はノーマルなので今回は異なるかもです、、
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問