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

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

ただいまの
回答率

87.35%

Javascriptのソースコードとメンテナンスモード

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 336

score 6

イメージ説明
https://teratail.com/questions/361312?modal=q-comp# において質問させていただいた件に関して、新たに本ページにてい質問させていただきたく、お願いいたします。

前回、誤って該当のソースコードの欄に質問を書いてしまいました。大変失礼しました。改めて質問欄に書き直します。前回の投稿で文字数制限にひっかかってしまった為、大変恐縮ながら、前回掲載したソースコードのフルバージョンを割愛させていただきました。宜しくお願い致します。

ご回答いただき、本当に助かります。ありがとうございます。

ご教授いただき、503 で表示されている「メンテナンス中」のページが、本来のコンテンツとは別のページであることが理解できました。
supersizedの読み込みの<処理概要>も本当に助かりました。:や連想配列にかかる{[]}の意味や書き方ついても大変勉強になりました。感謝致します。

質問が多くて恐縮です。

質問1 
前回の私の質問1につき、ご回答いただいた内容の中の

>なお、今回の 503 のページでは、上記の 1~2 までの処理しか行われず、3~4 は動作していません。
したがって、
<div id="supersized-loader"></div>
<ul id="supersized"></ul>
のタグだけが残った状態となっています。

の部分ですが、添付画像の右のソースコードの6行目の<!--[if lt IE 9]>より、IEの9以上のブラウザ、又はIE以外のChrome,Firefox等のブラウザで閲覧していることが理由で今回のhttp503 の「メンテナンス中」のページでは、上記の 1~2までの処理しか行われず、3の<div id="supersized-loader"></div>と、4の<ul id="supersized"></ul> は動作していない《即ち、IE8以下のブラウザで閲覧した場合のみsupersizedプラグインの初期化処理が呼ばれて"supersized-loader" の位置に処理中を表す画像(60x60のサイズの画像)が表示され、且つ初期化処理で指定された画像ファイルを読み込もうとする(「imgage:’’」に何も画像ファイルを設定していないので、読み込もうとするだけ) 》との理解でよろしいでしょうか?
(もし、そうでなければ、今回のhttp503 ページで supersized プラグインの初期化処理が行われない理由は何処にあるのでしょうか?また、初期化処理が行われないことを、ソースコードのどの箇所を見て判断するのでしょうか?)

質問2
試しにGoogle ChromeのブラウザでJavascriptを無効にしても、Javascriptを有効にしている時と同じhttp503 の「メンテナンス中」のページが表示されました。
添付画像の右側に書かれたソースコードの2行目の<html class="no-js seed-csp4" lang="en">は、「ModernizrというJavaScriptライブラリがインストールされている理由で、ブラウザのJavaScriptが無効ならseed-csp4を実行する。ブラウザのJavaScriptが有効なら、CSSのクラス名のclass=no-jsがjsに置き変わり、seed-csp4を実行する。英語準拠」との理解でよろしいでしょうか?

質問3
以前に表示されていたウェブページのソースコードの中には、以前に表示されていたウェブページを該当URLから切り離してインターネットに接続しない指示だけが追加で書かれているという理解でよろしいでしょうか?
即ち、●「supersizedのフルスクリーン表示を同URLに紐づけて表示させる指示である<ul id=“supersized”></ul>」や、●「Javascriptを有効、無効にかかわらず、IEの9以上のブラウザ、又はIE以外のChrome,Firefox等のブラウザで閲覧していた場合に“seedcsp4”(https://wordpress.org/plugins/coming-soon/)の(メンテナンス中)のページを同URLに紐づけて表示させる指示」は、あくまで現在表示されている「メンテナンス中」のウェブページに該当URLを紐づけて「メンテナンス中」の画面を表示させる指示であり、それらの各指示は、以前に表示されていた同じ該当URLを持つウェブページのソースコードの中には書かれていない(以前に表示されていたウェブページのソースコードには、以前に表示されていたウェブページを該当URLから切り離してインターネットに接続しない指示のソースコードだけが追加で書かれている)という理解でよろしいでしょうか?

質問4
ここで述べる事は質問3と相反する内容ですが、該当URLにつき、以前に表示されていたウェブページを、「Webサイトのメンテナンス中画面を出す正しい作法と.htaccessの書き方」(https://webtan.impress.co.jp/e/2009/06/16/5880)に掲載されていた『メンテ中画面を出すWebサーバーに/maintenance.htmlというファイルを作り、そのファイルの中にブラウザ越しにウェブページを見た人間に対して表示する「メンテナンス中」を表示する為にHTMLで書いたメッセージ』及び.htaccessの「ソースコードA」(ソースコードAは便宜上、私が名づけたもので、今回の質問文の最下部に記載のもの)を書いて実行して、以前に表示されていたウェブページを非表示(「メンテナンス中」と表示される現在のページを表示)
にしていた場合、メンテナンス中画面を出すWebサーバーに作った/maintenance.htmlというファイルを丸ごと削除し(ブラウザ越しにウェブページを見た人間に対して表示する「メンテナンス中」を表示する為にHTMLで書いたメッセージも丸ごと削除)、且つ本質問文最下部に記載の「ソースコードA」を全て削除すれば、以前に表示されていたウェブページを再表示できるとの理解でよろしいでしょうか?

質問5
添付画像の「メンテナンス中」の記事のURLは「~.com/wp/archives~」となっており、ワードプレスの「wp」の英字が含まれるのですが、「メンテナンス中」の記事及び以前に表示されていた記事の作成者は、「WordPressの記事やサイトを非公開にする方法2つを紹介」(https://www.sejuku.net/blog/62544)のサイトの真ん中辺りの「記事を非公開にする方法」の中に載っているWordPressの機能の中の「非公開」のボタンを押す操作を実行して「メンテナンス中」の表示にしているのでしょうか? あるいは、「Webサイトのメンテナンス中画面を出す正しい作法と.htaccessの書き方」(https://webtan.impress.co.jp/e/2009/06/16/5880)に掲載されている方法の様に、「メンテナンス中」画面を出すWebサーバーに/maintenance.htmlというファイルを作り、ブラウザ越しにウェブページを見た人間に対して表示するメッセージ(メンテナンス中です)をHTMLで書いた後、本質問文最下部に記載の「ソースコードA」をhtaccess(またはhttpd.conf)で書いて「メンテナンス中」のページにしているのでしょうか?二つの異なる方法のどちらを使って非表示にしているのかを知る方法は存在しますか?存在するのであればその方法とは何でしょうか?

質問6
添付画像の右側のソースコードの2行目に<html class=“no-js seed-csp4”lang=“en” style>と記載があり、その意味が、「ModernizrというJavaScriptライブラリがインストールされている理由で、ブラウザのJavaScriptが無効ならseed-csp4を実行する。ブラウザのJavaScriptが有効なら、CSSのクラス名のclass=no-jsがjsに置き変わり、seed-csp4を実行する。英語準拠」であるから(質問2の内容)、“seedcsp4”(https://wordpress.org/plugins/coming-soon/)のメンテナンスモード(ワードプレスのプラグイン)の「メンテナンス中」のページが表示されるのであって、、「Webサイトのメンテナンス中画面を出す正しい作法と.htaccessの書き方」(https://webtan.impress.co.jp/e/2009/06/16/5880)に掲載されている方法の様に、メンテナンス画面を出すWebサーバーに/maintenance.htmlというファイルを作り、ブラウザ越しにウェブページを見た人間に対して表示するメッセージ(メンテナンス中)をHTMLで書いた後、本質問文最下部に記載の「ソースコードA」をhtaccess(またはhttpd.conf)で書いて「メンテナンス中」の表示にしているということになり、メンテナンス中画面を出すWebサーバーに作った/maintenance.htmlというファイルを丸ごと削除し(ブラウザ越しにウェブページを見た人間に対して表示する「メンテナンス中」を表示する為にHTMLで書いたメッセージも丸ごと削除)、且つ本質問文最下部に記載の「ソースコードA」を全て削除すれば、以前に表示されていたウェブページを再表示できるとの理解でよろしいでしょうか?

「ソースコードA」《「Webサイトのメンテナンス中画面を出す正しい作法と.htaccessの書き方」(https://webtan.impress.co.jp/e/2009/06/16/5880)より抜粋》

.htaccess(またはhttpd.conf)で書く

ErrorDocument 503 /maintenance.html

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} !=/maintenance.html
RewriteRule ^.*$ - [R=503,L]
</IfModule>

不正アクセス等は考えておりませんので、ご安心下さい。
質問文が長くなりすぎましたので、ここで区切らせていただきます。
ご回答いただき、本当に助かりました。感謝致します。

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • itagagaki

    2021/09/29 01:47

    とりあえずJavaは関係なさそうなのでタグは変えてください。

    キャンセル

  • m.ts10806

    2021/09/29 05:29

    要件別なら質問別にしたほうが良いと思います。
    ずらずらと並べて、散らかって読みにくいだけです。

    キャンセル

  • BeatStar

    2021/09/29 09:32

    少なくともJavaとJavaScriptは別物です。
    メロンとメロンパンぐらいは違います。

    キャンセル

  • hence

    2021/09/29 23:07

    タグをJavascriptに訂正いたしました。
    ご指摘いただき、ありがとうございます。

    キャンセル

回答 1

checkベストアンサー

0

はじめに

サイトの管理者でもない第三者が非表示になったページを表示させることはできません。仮にできたとしても、不正アクセスとなり犯罪行為になりますのでご注意ください。

■ 不正アクセス行為の禁止等に関する法律 - 総務省
https://www.soumu.go.jp/main_sosiki/joho_tsusin/security/basic/legal/09.html

質問1-1

即ち、IE8以下のブラウザで閲覧した場合のみsupersizedプラグインの初期化処理が呼ばれて
"supersized-loader" の位置に処理中を表す画像(60x60のサイズの画像)が表示され、
且つ初期化処理で指定された画像ファイルを読み込もうとする
(「imgage:’’」に何も画像ファイルを設定していないので、読み込もうとするだけ) 

回答1-1

はい。その通りです。
該当する 503 のページでは、IE8 以下だったとしても表示する画像ファイルが指定されていない為、jQuery の supersized プラグイン(背景画像のスライドショー)は機能していません。

確認した所、WordPress のプラグインである「Coming Soon Page & Maintenance Mode」の古いバージョン(v5.0以前)で内部的に supersized プラグインが使用されていることは確認しました。

■ プラグイン使用箇所
https://plugins.trac.wordpress.org/browser/coming-soon/tags/5.0.0/themes/default/js/script.js

実際にこのプラグインを使ったことがあるわけではありませんが、
下記ブログの説明にあるように WordPress の管理画面からメンテナンスモードに切り替えられるようになっており、メンテナンス時に表示する画像等を設定できるようになっているのだと思います。

■ 「近日公開」もしくは「メンテナンスモード」ページを表示できる:Coming Soon Page & Maintenance Mode
https://www.hiskip.com/wp/plugin/site-manage/maintenance/7952.html

質問1-2

また、初期化処理が行われないことを、ソースコードのどの箇所を見て判断するのでしょうか?

回答1-2

<!--[if lt IE 9]>
 <script>
  jQuery(document).ready(function($){$.supersized({slides:[ {image : ''} ]});});
 </script>
<![endif]-->

のようなコメント行があるかと思いますが、[if lt IE 9] はIEのどのバージョンを使っているかを条件とする「IE条件付コメント」になります。
「lt」は「Less Then」の略で「未満」を表します。つまり [if lt IE 9] は「IE9未満の場合」という条件になります。
この条件に合致する場合のみ、コメント内の処理(つまりsupersizedプラグインの初期化処理)が実行されます。そうでない場合は、コメント扱いとなり実行されません。

■ IE条件付コメントまとめ
https://html-coding.co.jp/knowhow/tips/000009/

質問2-1

試しにGoogle ChromeのブラウザでJavascriptを無効にしても、Javascriptを有効にしている時と同じ
http503 の「メンテナンス中」のページが表示されました。

回答2-1

WordPress および WordPress のプログラムは PHP と呼ばれるサーバ側で動作するプログラムになります。
503 の「メンテナンス中」のページ自体がサーバー側で動的に作成され、ブラウザ側に返却される為、ブラウザ側の JavaScript の有効/無効に関係なく「メンテナンス中」の画面が表示されます。

WordPress の基本的な動作についてはこちらを参照下さい。

■ ワードプレスの仕組みを「構成」と「PHPの動き」から解説
https://daeuwordpress.com/wordpress-system/

質問2-2

添付画像の右側に書かれたソースコードの2行目の<html class="no-js seed-csp4" lang="en">は、
「ModernizrというJavaScriptライブラリがインストールされている理由で、
ブラウザのJavaScriptが無効ならseed-csp4を実行する。
ブラウザのJavaScriptが有効なら、CSSのクラス名のclass=no-jsがjsに置き変わり、seed-csp4を実行する。英語準拠」
との理解でよろしいでしょうか?

回答2-2

seed-csp4 が何なのか不明ですが会社名と製品名(「SeedProd」と「Coming Soon Page」)のようですね。
恐らくは、JavaScript が無効な場合の CSS の表示スタイルとして seed-csp4 というクラスを使ってください、という指示かと思います。
Modernizr 自体は使ったことがないので良く分かりません。参考までに Qiita 記事へのリンクを貼っておきます。

■ Modernizr(モダナイザー)とは
https://qiita.com/puripuri_corgi/items/912c4a8171866fe6089d

質問3-1

以前に表示されていたウェブページのソースコードの中には、
以前に表示されていたウェブページを該当URLから切り離してインターネットに接続しない指示だけが追加で書かれている
という理解でよろしいでしょうか?

回答3-1

「インターネットに接続しない指示」というのが良く分かりません。

質問3-2

あくまで現在表示されている「メンテナンス中」のウェブページに該当URLを紐づけて「メンテナンス中」の画面を表示させる指示

回答3-1

当該サイトの管理者ではないので、正確なところは分かりませんが、
「Coming Soon Page & Maintenance Mode」プラグインで「メンテナンスモード」の設定にしている為、WordPress のいずれのコンテンツ(URL)にアクセスした場合でも別ページである「メンテナンス中」のページが表示がされていると考えられます。

質問4-1

「ソースコードA」を全て削除すれば、以前に表示されていたウェブページを再表示できるとの理解でよろしいでしょうか?

回答4-1

いいえ。503 ページを出す設定は .htaccess ではなく「Coming Soon Page & Maintenance Mode」プラグインで行っていると考えられる為、当該ファイルを削除したといてもウェブページは表示されないと思われます。

質問5-1

WordPressの機能の中の「非公開」のボタンを押す操作を実行して「メンテナンス中」の表示にしているのでしょうか? 

回答5-1

そうだと思います。

質問5-2

htaccess(またはhttpd.conf)で書いて「メンテナンス中」のページにしている

回答5-2

.htaccess でも 503 ページの設定は可能ですが、恐らくは WordPress のプラグインで行っていると思われます。
プラグインの名前「Coming Soon Page and Maintenance Mode」が出ている為です。

質問6

削除すれば、以前に表示されていたウェブページを再表示できるとの理解でよろしいでしょうか?

回答6

できません。回答4-1を参照下さい。

あとがき

はじめの方にも記載しましたが、そもそも、そのサイトの管理者でもない第三者が非表示になったページを表示させることはできません。仮にできたとしても、不正アクセスとなり犯罪行為になりますのでご注意ください。十分ご認識されているとは思いますが、念の為。。

WordPress がどのような仕組みなっているが興味があるのであれば、実際を使ってみるのが近道かと思います。
安いレンタルサーバーであれば数百円/月くらいで利用可能ですし試用期間があるレンタルサーバも多いです。

参考情報ですが、閉鎖された過去のブログの記事が見たいということであれば、運が良ければ、

https://archive.org/

等にキャッシュが残っているかもしれません。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

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

  • ただいまの回答率 87.35%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る