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

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

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

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

スクロール

スクロールとは、ディスプレイスクリーン上において連続的にコンテンツが滑っていくことを指します。

JavaScript

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

jQuery

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

HTML

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

Q&A

解決済

4回答

988閲覧

jqueryを用いてサイトを読み込む量を軽くする目的で1枚のhtmlファイル(もしくはphpで出来たhtmlファイル)を、 無限スクロールなどで数回に分割して読めないか。

gugupoo

総合スコア31

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

スクロール

スクロールとは、ディスプレイスクリーン上において連続的にコンテンツが滑っていくことを指します。

JavaScript

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

jQuery

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

HTML

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

0グッド

0クリップ

投稿2020/07/03 00:36

1ページのhtmlファイルや、phpで作られたhtmlページが重たいので、
いくつかに分割して、スクロールして読み込むことが出来たら良いと思っていました。
例えば5回くらいに分割して読みながらフッターまで行くような感じで。
1度で表示できなくもないですが、少し重いと言えば重いと自分では思っています。

そして分割してスクロールするようなサイトを見たことがあったので
調べてみた所、「無限スクロールの実装」、「もっと見る」などあったのですが、
これらは

で、ネット上を自分で調べてみたところ、
「無限スクロールの実装」、「もっと見る」、のような機能についてはあったのですが、
これは読んだら次のファイルに行くタイプのもの、例えば
a.html b.html c.html d.html e.html

などの形に5つ用意してそれぞれを読んで進んでいくもの・・と自分なりには解釈しましたが・・

phpやhtmlが先に1枚あったとして、本来はこれを5枚のファイルに分けるべきかもしれませんが、
1枚のファイルの中で、数回でフッターまでたどり着くことは不可能でしょうか?

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

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

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

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

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

guest

回答4

0

1枚のファイルの中で、数回でフッターまでたどり着くことは不可能でしょうか?

よほど特殊な実装をしない限り無理です。ふつうにHTMLにアクセスすれば、まずブラウザがHTMLパースを行いますので、JavaScriptはそこに介入できません。

もっとも、「重たい」ページの重たさの原因がどこにあるかによって対処法は変わってきます。画像が重いのであれば、画像ファイルだけ遅延させることにも効果はあります。

投稿2020/07/03 00:39

maisumakun

総合スコア145184

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

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

gugupoo

2020/07/03 06:00

画像はとても多いとは思えませんでしたが、もちろんありますので、 今回はいったん PHP for文の繰り返しの数を減らして、 表示そのものを少し制限することに納得いきましたので それでいってみようと思います。有難うございました!
guest

0

1枚のHTMLを解釈して適切に分割するのはかなり面倒だと思います
あまりおすすめしません
PHPなどサーバーサイドの処理が可能ならAPIでデータを段階的に送ればよいでしょう

投稿2020/07/03 01:12

yambejp

総合スコア114843

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

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

gugupoo

2020/07/03 05:52

1枚からの分割案は普通は用いることは考えない方が良い具合ですね。 有難うございました!
guest

0

いくつかに分割して、スクロールして読み込む

maisumakunさんが書かれている通り
1枚を分割して読むのは難しいと思いますし
ファイルを複数に分けて読ませれば
それを呼び出しに行く為のロスが出ます。

重いという事ならば、「分割」の前に

● 画像のスリム化や最適化
● 余計なタグ、cssの重複呼び出し
● scriptなどの移動
● キャッシュの利用

といったファイルそのものの
スリム化軽量化を試されてはいかがでしょう?

投稿2020/07/03 00:58

-millmill-

総合スコア674

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

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

gugupoo

2020/07/03 05:55

改めて「分割」作戦も狙うことにしました。有難うございました!
gugupoo

2020/07/03 05:56

肝心な間違いをすみません; 改めて「軽量化最適化」を狙うことにしました!
guest

0

ベストアンサー

JavaScriptにしろ、PHPにしろ、遅延ロードはかなり難しい分野になります。
むしろJavaScriptなら、別ファイルを非同期で読み込むなどの方法があるのでまだマシですが、
PHPは出力したものを、ブラウザに返すので、API的に次のファイルを読み込むって形でないと遅延ロードは難しいかと思います。
(出力されてしまっているため、先にパースとレンダリングが走る)

そこで、
template要素を使うことをお勧めします。
これは、DOMとしてパースは行われてしまいますが、
ページロード時にレンダリングを行わないという性質の要素になります。
この要素の中に入った全ての要素、画像はレンダリングが行われないため、
その分速度を担保できます。

あとは、スクロールによって、要素位置付近まできたら、
templateの中身を取り出し、対象のDOM(位置)に出力する、という方法がいいでしょう。
そこまでやらなくても、画像の遅延のみで解決できそうなら、
maisumakunさんのご回答とおり、画像の遅延のみでもいいかと思います。
(実際それだけでもだいぶページ表示速度上がります)
いずれにせよ、JavaScriptでコントロールできます。

投稿2020/07/03 00:52

miyabi_takatsuk

総合スコア9528

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問