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

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

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

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

Q&A

解決済

1回答

6154閲覧

JavaScriptでスーパーリロードする方法

masahiro.o

総合スコア16

JavaScript

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

0グッド

0クリップ

投稿2020/10/29 00:40

編集2020/10/29 04:01

いま行っている開発でJavaScriptからスパーリロードを実行する必要があり
様々なサイトに記載されているように以下のようにコーディングしました。

JavaScript

1location.reload(true)

上記のようにコーディングするとLintで非推奨の警告が出てしまいます。
イメージ説明

Location.reloadメソッドの引数は非推奨になったようですが、問題は代替方法が記載されていないことです。

https://developer.mozilla.org/ja/docs/Web/API/Location/reload

自分で調べてみたのですが、代替方法が分からず困っています。
分かる方がいらっしゃいましたら教えてください。

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

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

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

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

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

m.ts10806

2020/10/29 00:50

>上記のようにコーディングするとLintで非推奨の警告が出てしまいます。 念のため、画面キャプチャや出た警告メッセージなどをそのまま提示してください。
m.ts10806

2020/10/29 00:51

あとは要件次第かと思います。システム側で勝手にスーパーリロードというのもあまり好ましくない場合もあります。
masahiro.o

2020/10/29 01:05

返信ありがとうございます。 警告が出ているスクショを追加しました。 確かに要件の問題もあるのですが、皆さんどうしているのかと思いまして。。。
m.ts10806

2020/10/29 01:07

そもそも勝手にスーパーリロードすべき要件がないのではないでしょうか。 キャッシュクリアの手段は1つではないでしょうし。クリアしたいキャッシュにもよります。
masahiro.o

2020/10/29 01:38

ありがとうございます。 この質問で聞きたいことはスーパーリロードの仕方です。。。
yambejp

2020/10/29 03:17

何をトリガーにリロードをかけているのでしょうか? 平文でreloadをかけると永久ループしますよね?
masahiro.o

2020/10/29 03:27

私が無知なのだと思うのですが、reloadは永久ループするのですか? 何をしたいかというと、SPAの更新です。 トリガーはSPAからAPIを実行するタイミングです。 これで質問の答えになっていますか?
m.ts10806

2020/10/29 03:28

実際のコードと「なぜスーパーリロードを自前でする必要があるのか」を具体的に記載されないとアドバイスは得られにくいかと思います。
yambejp

2020/10/29 03:33

SPAならリロードじゃなくて単に新しいデータを取りに行けばいいだけでは? ボタン押したりスクロールしたりがトリガーになるんでしょうか?
masahiro.o

2020/10/29 03:33

外部のサイトを貼っていいか分からないのですが、以下のサイトで解説されている内容を実施したいです。 https://qiita.com/okkuyama/items/484fdd868b17d8c960a9 SPAで作成したアプリを更新したときにブラウザのリロードが必要なので質問しています。 そもそもJavaScriptでスーパーリロードを実行することが問題なので廃止されたということですか?
yambejp

2020/10/29 03:34

react利用してるならタグ貼ってください 具体的なソースもあると良いと思います
masahiro.o

2020/10/29 03:35

タグを貼るとはどういうことでしょうか?
think49

2020/10/29 03:36

> location.reload(true) どこからこんな間違ったコードが出てきたのですか?
masahiro.o

2020/10/29 03:48 編集

> どこからこんな間違ったコードが出てきたのですか? 2つ前くらい投稿したqiitaのサンプルです。 「location.reload(true)」を解説したサイトは多々ありますが それらのサイト全てが間違っているということですか?
yambejp

2020/10/29 03:42

> タグを貼るとはどういうことでしょうか? 言い方が悪かったでしょうか? 質問に「タグ」が貼れることはご存知ですか? タグ付けしてくださいという意図なのですが伝わりませんか?
masahiro.o

2020/10/29 03:43

理解できました。 ただ「location.reload」と「react」は関係ありますか?
yambejp

2020/10/29 03:49 編集

ボタンをおしてリロードするような処理ならreloadは普通に動きますよね? SPAの処理を前提としているならそれなりの情報が必要です そもそもSPAがリロードしてたら問題だと思いますけど・・・
masahiro.o

2020/10/29 03:55

> ボタンをおしてリロードするような処理ならreloadは普通に動きますよね? 今回の質問はリロードされないことが問題ではないです。 (リロードはされます。) SPAの修正を行ってもクライアントに反映されないので、強制的にリロードしてサーバから最新のjsを取ってくるのが目的です。
masahiro.o

2020/10/29 03:59

> 基本的に二次情報は間違いを疑って下さい。 > 仕様書を読むのが難しいなら、せめてMDNを参照すべきかと思います。 > https://developer.mozilla.org/ja/docs/Web/API/Location/reload 上記のサイトは質問にも記載しましたが、既に閲覧済みです。 現在は非推奨で今後使えなくなるのも理解しています。 質問はなぜ「location.reload(true) 」が使えないかではなく JavaScriptでスパーリロードを実行する方法を知りたいです。 質問のタイトルが悪いですね。 申し訳ございません。
yambejp

2020/10/29 04:07

ちょっと概念的すぎて何を聞きたいのかわかりませんね ソースは例示できないのですか? 部品を取りに行く際にキャッシュを無効化したいという話にも見えますし 独り相撲感しか読み取れないです
miyabi_takatsuk

2020/10/29 04:53

https://www.sejuku.net/blog/25316 批判するわけではありませんが、 Samuraiに載ってる情報は怪しいので、一度疑った方がいいです。 (Qiitaもある程度) 解決してる中失礼しました。
miyabi_takatsuk

2020/10/29 07:15

実験してみましたが、全くスーパーリロードなんてされません。 出どころがどこかは、もっと調べないとわかりませんが、 完全にデマですね。 ただ、JSは、ブラウザ別で独自開発されていた時代がありますので、 もしかしたら、昔は、その方法でスーパーリロードをかけれたのかもしれません。
think49

2020/10/29 10:28 編集

> 質問はなぜ「location.reload(true) 」が使えないかではなく > JavaScriptでスパーリロードを実行する方法を知りたいです。 私が伝えたかったのは - location.reload() とは何なのか - 第一引数のtrueにどんな意味があるのか というように、「一つ一つの機能を確認して下さい」という事です。 そうすれば、location.reload() に引数は指定出来ず、スーパーリロードと全く関係がない事が分かったはずです。 非推奨か否かよりも、一つ一つの機能に着目していない事に問題があるように感じます。
guest

回答1

0

ベストアンサー

location.reload()

この質問で聞きたいことはスーパーリロードの仕方です。。。

スーパーリロードは出来ませんし、スーパーリロードの代替手段はありません。

Re: masahiro.o さん

投稿2020/10/29 03:55

think49

総合スコア18189

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

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

think49

2020/10/29 03:59

手段と目的が一致していないのでしょうが、スーパーリロードに拘っているようなので、この回答しか出てきませんでした。
masahiro.o

2020/10/29 04:07

ありがとうございます。 JavaScriptでスーパーリロードはできないという回答知りたかっただけでした。 JavaScriptからスーパーリロードを実行できないとなると、サーバからリソースを取り直して欲しい時はどうするのがスタンダードなのでしょうか? 別の質問を投稿したほうがいいですかね。。。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問