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

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

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

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

jQuery

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

2回答

1582閲覧

scriptタグ内の「src」の中身に時間を追加したい

kawataro

総合スコア12

JavaScript

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

jQuery

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2018/11/06 02:08

編集2018/11/06 02:28

調べながら追加したのですが書き換えができず、scriptタグ「src」の書き換えについてお教えいただけると助かります
どうぞよろしくお願い致します。

前提・実現したいこと

html内の「<script language='javascript' src='test.js' class="time"></script>」部分の「src='test.js'」にページを開いた時間を付与したい
例:2018年11月6日11時4分にページを開いた場合↓↓
src='testjs&time=2018116114'

html

1<!doctype html> 2<html> 3<head> 4<meta charset="utf-8"> 5<title>無題ドキュメント</title> 6<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script> 7<script language='javascript' src='test.js' class="time"></script> 8 <script> 9$(function(){ 10 11$(".time").each(function() { 12var now = new Date(); 13var now = new Date(); 14var y = now.getFullYear(); 15var m = now.getMonth() + 1; 16var d = now.getDate(); 17var w = now.getDay(); 18var h = now.getHours(); 19var mi = now.getMinutes(); 20var s = now.getSeconds(); 21var obj = jQuery(this); 22 var link = obj.attr("src"); 23 obj.attr("src",link+"&time="+y + m + d + h + mi); 24}); 25 26}); 27</script> 28</head> 29<body> 30</body> 31</html>

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

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

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

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

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

colling

2018/11/06 02:25

検証しようと思いましたが、testjs がないというエラーが出ます。かつ、testjs は test.js の間違いではないでしょうか? . が抜けております。
kawataro

2018/11/06 02:29

colling様 ご指摘いただきありがとうございます。「.」が抜けておりましたので修正いたしました。
colling

2018/11/06 02:29

架空のtest.jsを置いてみたところ <script language='javascript' src='test.js&time=20181161120' class="time"></script>となりましたので、そこの部分の書き損じが原因かと思います。
maisumakun

2018/11/06 02:33

サーバサイドで時間ごとに別なファイルを出す、という状況でしょうか?それとも、アクセス時間を追加することでキャッシュを破棄するという意図でしょうか?
Lhankor_Mhy

2018/11/06 02:48

書き換えができていないことについて、具体的にどのように確認しているか、ご提示ください。
kawataro

2018/11/06 02:58 編集

Lhankor_Mhy様 ご確認いただきありがとうございます。私の確認方法が間違っておりcolling様のご指摘で解決いたしました。
x_x

2018/11/06 03:10

解決となっていますが、imgとは異なりすでに読み込まれてるscriptのsrcを変更したところで再読み込みはされないようですが、それでもかまわないのでしょうか?
kawataro

2018/11/06 04:14

x_x様 ご連絡ありがとうございます。今のところ再読み込みは必要としていないのですが、する場合は「window.location.reload();」を追加で問題ないでしょうか?今回上げた質問内容とは違いますがよろしくお願いします
x_x

2018/11/06 04:16

リロードしたところで改善しませんが、再読み込みが不要(キャッシュ対策ではない)であれば、無視してかまいません
guest

回答2

0

ベストアンサー

html

1<!doctype html> 2<html> 3<head> 4<meta charset="utf-8"> 5<title>無題ドキュメント</title> 6<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script> 7<script language='javascript' src='test.js' class="time"></script> 8 <script> 9$(function(){ 10 11$(".time").each(function() { 12var now = new Date(); 13var now = new Date(); 14var y = now.getFullYear(); 15var m = now.getMonth() + 1; 16var d = now.getDate(); 17var w = now.getDay(); 18var h = now.getHours(); 19var mi = now.getMinutes(); 20var s = now.getSeconds(); 21var obj = jQuery(this); 22 var link = obj.attr("src"); 23 obj.attr("src",link+"?time="+y + m + d + h + mi); 24}); 25 26}); 27</script> 28</head> 29<body> 30</body> 31</html>

投稿2018/11/06 02:33

colling

総合スコア798

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

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

kawataro

2018/11/06 02:42

colling様 検証いただきありがとうございます 記載いただいたhtmlを元にtest.jsを仮でおいてテストしたのですが、html内のsrc='test.js'が書き変わらない状況です。
colling

2018/11/06 02:46

こちらでは変わっていますよ? 動的に変わっていますので、「ソースを見る」ではなくて、「デベロッパツールで確認」してください。
kawataro

2018/11/06 02:50

colling様 確認できました!!まさにこれです。本当に助かりました!
colling

2018/11/06 03:03

変更する部分は、元々できていましたので、「ソースを表示」で確認していて、変わらないと思い込んでいたのではないでしょうかねぇ? こちらが変更したのは、 . の抜けと、&を?にしただけです。(^^
kawataro

2018/11/06 04:15

colling様 まさに仰る通りです、、、恥ずかしながらソース表示のみで確認しておりました 今後は「デベロッパツールで確認」いたします!
colling

2018/11/06 04:27

ただ、これ、test.jsから何かしらの返り値を期待しているのなら動きませんね。 すでに読み込まれたスクリプトのsrcを後から書き換えているので、、、。 その辺りはまた別の質問でどーぞ。
guest

0

src='testjs&time=2018116114'

ではファイル名になっちゃいませんか?

HTML

1src='test.js?time=2018116114'

投稿2018/11/06 02:28

yambejp

総合スコア114784

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

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

kawataro

2018/11/06 02:32

yambejp様 回答いただきありがとうございます。 ファイル名でも構わず、test.jsの後ろに「&time=表示した時間」が追加されれば問題ないのですが、、 よろしくお願いします
yambejp

2018/11/06 02:41

存在しないファイルを指定することになりますがほんとにそれで大丈夫ですか?
kawataro

2018/11/06 02:43

yambejp様 返信いただきありがとうございます、存在しないファイルでも問題ございません ファイル「test.js」の後ろに表示した時間が入れば大丈夫です!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問