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

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

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

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

jQuery

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

Q&A

解決済

4回答

3511閲覧

PC時計を変更できない環境で時限設定の検証作業を行いたい

teratail_siw

総合スコア19

JavaScript

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

jQuery

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

0グッド

0クリップ

投稿2016/10/13 05:44

編集2016/10/13 06:17

ページ内に期間限定コンテンツを設置した際に、指定した期日を過ぎたら非表示になるようにしています。

<script src="http://code.jquery.com/jquery-1.8.3.min.js"></script> <script> $(document).ready(function() { $(".view_timer").each(function(index, target) { var startDate = $(this).attr("data-start-date"); var endDate = $(this).attr("data-end-date"); var nowDate = new Date(); if (startDate) { startDate = new Date(startDate); } else { startDate = nowDate; } if (endDate) { endDate = new Date(endDate); } if (startDate <= nowDate && (!endDate || nowDate <= endDate)) { $(this).show(); } else { $(this).hide(); } }); }); </script> <span class="view_timer" data-start-date="2016/10/01 10:00" data-end-date="2016/10/30 24:00">キャンペーンは2016/10/30まで!</span>

JavaScriptでPCの時計を読み取って処理しているのですが、
正しく処理が行われるかどうかクライアントに確認してもらう際に
「PCの時計を変更して検証してほしい」と伝えたところ、

「会社全体のセキュリティ設定でPCの時計が変更できない」

とのこと。

この環境で、クライアントに検証作業を行っていただく方法はあるのでしょうか。

<追記>
確認する担当者が部署をまたいで複数人いるということと、
確認していただく日時がはっきりとわからないので、
一時的にdata-end-dateを変更して確認してもらうということができません。

よろしくお願いします。

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

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

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

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

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

guest

回答4

0

readyに書いてある処理を
個別のfunction化して、画面表示後に再度呼び出せるようにして、
ブックマークレットを使って、

<span class="view_timer" data-start-date="2016/10/01 10:00" data-end-date="2016/10/30 24:00">キャンペーンは2016/10/30まで!</span>

ここを書き換え、処理を呼び出すはどうでしょうか?

$(document).ready(function() { hoge(); }); function hoge(){ $(".view_timer").each(function(index, target) { var startDate = $(this).attr("data-start-date"); var endDate = $(this).attr("data-end-date"); var nowDate = new Date(); if (startDate) { startDate = new Date(startDate); } else { startDate = nowDate; } if (endDate) { endDate = new Date(endDate); } if (startDate <= nowDate && (!endDate || nowDate <= endDate)) { $(this).show(); } else { $(this).hide(); } }); }

こんな感じにしておく。

で、ブックマークレットには

<span>タグの中身を任意の日付に書き換え
・hoge()を呼び出す

のように仕込んでおけば、
あとは、ブックマークレットのブックマークをポチっと実行するだけで確認はできるんじゃないかと。。。

ブックマークレットの作り方は、こちらなどを参考にされるといいかもです。
いまさらまとめるブックマークレットの作り方 〜 2016年版 〜

頭の中で、こんな感じかな~って体での話なので、
実現性は未知数です。すみません。

投稿2016/10/13 07:41

kaputaros

総合スコア1844

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

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

kaputaros

2016/10/13 07:42

あ、解決してましたか^^;
teratail_siw

2016/10/13 09:54

ご回答ありがとうございます。 ブックマークレットの件、大変参考になりました。 先方のテスト確認の都合がつかない場合は、試してみたいと思います。
guest

0

  1. 初回表示時に localStorage などに日付情報を格納
  2. その情報を基に data-start-date="2016/10/01 10:00" data-end-date="2016/10/30 24:00" を書き換える

というコードを書かれているコードより前に実行すればテストは出来そうな気がします。

【Window.localStorage - Web API インターフェイス | MDN】
https://developer.mozilla.org/ja/docs/Web/API/Window/localStorage

投稿2016/10/13 06:29

kei344

総合スコア69364

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

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

teratail_siw

2016/10/13 07:35

ご回答ありがとうございます。 localStorageでのテストのご提案ありがとうございます。 リンク先、および関連ページを拝見させていただきましたが、私の知識不足のためどのように活用して良いのかわかりませんでした。 せっかくのご提案大変申し訳ありませんが、先方へのテスト依頼方法を工夫して解決する方向で考えてみます。 ありがとうございました。
guest

0

ベストアンサー

一時的に期間の日時設定を数分後にした状態で試す、とか、そういったものじゃないでしょうか。

投稿2016/10/13 05:52

kaz.Suenaga

総合スコア2037

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

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

teratail_siw

2016/10/13 05:58

早速のご回答ありがとうございます。 情報を小出しにしてしまって大変申し訳ないのですが、 確認する担当者が部署をまたいで複数人いるということと、 確認していただく日時がはっきりとわからないので、ご提案いただいた方法ですと難しいです。 説明不足で申し訳ありませんでした。
kaz.Suenaga

2016/10/13 06:41 編集

であれば大まかに、○日○時で消えるように設定したのでその前後でご確認ください、というようなテスト依頼はできないのでしょうか。
teratail_siw

2016/10/13 07:28

度々のご回答ありがとうございます。 そうですね、必ずしも秒単位での変化を確認していただく必要はないので、ご提案いただいたように大まかな依頼という方向で打診してみます。 ありがとうございます。
guest

0

テストする日時に合わせて、以下の内容を変更してテストすればいかがでしょうか。
data-start-date="2016/10/01 10:00" data-end-date="2016/10/30 24:00"

投稿2016/10/13 05:59

moonphase

総合スコア6621

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

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

teratail_siw

2016/10/13 06:14

ご回答ありがとうございます。 申し訳ありません。 質問の説明が不足しておりました。 確認する担当者が部署をまたいで複数人いるということと、 確認していただく日時がはっきりとわからないので、ご提案いただいた方法ですと難しいです。
moonphase

2016/10/13 06:19

テストケースの書き方次第ではないですか? data-start-date="2016/10/01 10:00" の日時を過去の日時にする、テストの実施日時と設定値を試験票に記載の事、等。 もしくは、VirtualBoxなどを入れてもらい、その中のOSの日付を変えてしまうのはいかがですか。言葉上ではありますが「会社全体のセキュリティ設定でPCの時計が変更できない」には問題がないと思います。
teratail_siw

2016/10/13 07:32

度々のご回答ありがとうございます。 ご提案いただいたように、技術的な解決ではなくテストケースの書き方での解決したいと思います。 その方法が難しければVirtualBoxなどの提案もしてみます。 ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問