1

PHP と JS のどちらを使用してサブページをロードする方がよいか疑問に思っています。これまでのところ、派手な読み込みアニメーションを提供するために JS (厳密には jQuery) を使用してきましたが、この手法には重大な欠点が 1 つあります。URL アドレスを変更できないため、ユーザーはブラウザのまた、正確なサブページの URL を共有することもできません。さらに、検索エンジン ボットが JS ベースのサブページを認識するかどうかもわかりません。それとも、私が間違っていて、JSですべて可能ですか?

そうでない場合、PHP でサブページを整理する「正しい方法」は何ですか? 小規模な Web サイトでもフレームワークを使用する義務がありますか? include()これまでのところ、この目的のためにPHP のメソッドのみを使用してきました。

4

4 に答える 4

1

はい、JavaScript はブラウザーの URL を更新できますが、HTML5 準拠のブラウザーでのみ機能します。

https://developer.mozilla.org/en-US/docs/Web/Guide/DOM/Manipulating_the_browser_history

replaceState関数はブラウザの URL を変更します (戻るボタンはありません) 。このpushState関数は新しい URL をブラウザーにプッシュし、戻るボタンを使用できるようにします。

例:

history.pushState({}, 'Title', 'foo.html');

これは、問題の解決に役立つ場合があります。

于 2013-08-30T07:35:47.153 に答える
0

私が使用した方法は、サブフォームを PHP で作成し、JQuery で行われる AJAX 呼び出しを介してロードすることでした。

実際には、AJAX は PHP レスポンダーを呼び出し、フォーム名とともに値を渡しました。フォームは [with] で取得されinclude(...)、結果の HTML は出力バッファリングを使用してキャプチャされました。

私が使用したフォルダレイアウトは次のとおりです。

lib
|
+-subforms
| |
| +-admin
| | +-aform1.php
| | +-aform2.php
| | + :
| | + aformn.php
| |
| +-client
| | +-cform1.php
| | +-cform2.php
| | + :
| | + cformn.php
|
+-supportFunctions.php

ここ libで、アプリのインクルード パスを参照します

AJAX 呼び出しは、取得するフォーム名に対応するドロップダウン ボックスで選択された値を渡しました。

于 2013-08-30T10:24:29.383 に答える