ホームページ php教程 php手册 AJAX 使用上のヒント: ブックマークとページめくりボタンの扱い方

AJAX 使用上のヒント: ブックマークとページめくりボタンの扱い方

Jul 06, 2016 pm 01:30 PM
ajax ブックマーク スキル 対処する どうやって 記事 ページをめくる

この記事では、Ajax アプリケーションにブックマークや戻るボタンを追加する機能を提供するオープンソースの JavaScript ライブラリを提供します。このチュートリアルに従った後、開発者は、AJAX アプリケーションの開発の問題に対する解決策を得ることができます。この機能は、現在 Google マップや Gmail でさえ提供していない機能です。つまり、強力で使いやすいブックマークと転送を提供します

この記事では、Ajax アプリケーションにブックマークや戻るボタンを追加する機能を提供するオープンソースの JavaScript ライブラリを提供します。このチュートリアルを完了すると、開発者は、AJAX アプリケーションの開発中に遭遇する問題の解決策を得ることができます。この機能は、現在 Google マップや Gmail でも提供されていません。強力で使いやすいブックマークと、進むボタンと戻るボタンを提供します。同じ動作です。他のWEBアプリケーションと同様に。

AJAX「ブックマークと戻るボタンの対処方法」では、AJAX アプリケーションでブックマークと戻るボタン機能を開発する際に遭遇する深刻な問題について説明し、上記の問題を解決できるオープンソース フレームワークを提供します。また、実際のシンプルな履歴ライブラリも提供します。いくつかの実際の例が提供されています。

この記事では、このフレームワークによって得られる重要な発見について 2 つの部分に分けて説明します。まず、クライアント側で大量の一時的な情報をキャッシュするために、非表示の HTML フォームが使用されます。これらのキャッシュは、Web ページのナビゲーションを強力にサポートします。次に、非表示の IFrame とハイパーリンクを使用してブラウザの履歴イベントを傍受して記録し、戻るボタンと進むボタンのサポートを提供します。上記のテクノロジーは両方とも、シンプルな Javascript ライブラリにパッケージ化されており、簡単な開発を実現します。

問題: ブックマークと戻るボタンは、従来の複数ページの Web アプリケーションで完全に機能します。ユーザーが Web サイトを閲覧すると、ブラウザのアドレス バーのレコードが新しい URL で更新され、これらのレコードは後で使用するために電子メールやブックマークにコピーできます。 「戻る」ボタンと「進む」ボタンは、ユーザーが閲覧した Web ページを前後に切り替えるのに役立ちます。

AJAX アプリケーションは異なり、Web ページ内で実行される複雑なプログラムです。ブラウザはこのタイプのプログラム用に作られていません。このタイプのプログラムは過去のもので、マウスをクリックするたびにページ全体を更新する必要がありました。

Gmail などの AJAX ソフトウェアでは、ユーザーが機能を選択したりプログラムの状態を変更したりしても、ブラウザのアドレス バーは変化しないため、そのようなプログラムではブックマークが使用できなくなります。将来的には、「戻る」ボタンを押して最後の操作を元に戻すと、ブラウザとアプリケーションが分離され、ユーザーは驚くことになるでしょう。

解決策: オープンソースの Really Simply History (RSH) フレームワークを使用すると、ブックマークを提供し、AJAX アプリケーションの「戻る」ボタンと「進む」ボタンを制御して、上記の問題を解決できます。 RSH はまだベータ版であり、Firefox 1.0、Netscape 7 以降、Internet Explorer 6 以降、およびその他のブラウザで動作します。現在、Safari ブラウザはサポートされていません。 「コーディング パラダイス: Safari: 不可能な DHTML の歴史」を参照してください。

現在ブックマークと履歴アクセスの問題をサポートしている AJAX フレームワークにはいくつかの種類がありますが、これらのフレームワークには現在、実装方法の違いによりいくつかの大きなバグがあります。将来的には、Backbase や Dojo などの多くの AJAX フレームワークに履歴参照機能が統合される予定です。これらのフレームワークは、AJAX アプリケーションにまったく異なるプログラミング モデルを採用するため、プログラマは履歴参照機能を実装するためにまったく異なる方法を使用する必要があります。

対照的に、RSH は既存の AJAX システムに含めることができる単一のモジュールです。将来的には、他のフレームワークの関連機能との競合を避けるために、RSH ライブラリがさらに改良される予定です。

RSH 履歴フレームワークは、DhtmlHistory と HistoryStorage という 2 つの JavaScript クラスで構成されます。

DhtmlHistory クラスは、AJAX アプリケーションの閲覧履歴の抽象化を提供します。 AJAX ページ add() 履歴閲覧記録イベントをブラウザーに記録し、指定された新しいアドレスと関連する履歴データを保存します。 DhtmlHistory クラスは、ハッシュ接続を使用してブラウザの現在の URL (#new-location など) を更新し、履歴データを新しい URL に関連付けます。 AJAX アプリケーションは、自身を履歴閲覧のリスナーとして登録します。ユーザーが「進む」ボタンと「戻る」ボタンを使用して閲覧すると、履歴閲覧時間がトリガーされ、ブラウザーに新しい情報を提供するために add() メソッドが呼び出されます。アドレスを指定して履歴データを保存します。

2 番目のクラス: HistoryStorage を使用すると、プログラマは任意の履歴閲覧データを保存できます。通常の Web ページでは、ユーザーが新しい URL を参照すると、ブラウザーはすべてのプログラムをアンインストールし、現在の Web ページの JavaScript ステータスをクリアします。ユーザーが戻ると、すべてのデータが失われます。 HsitoryStorage クラスは、put()、get()、hasKey() およびその他のメソッドを通じてこの種の問題を解決するためのハッシュ テーブルを備えた API を提供します。上記のメソッドを使用すると、ユーザーが Web ページから離れたときに、「戻る」ボタンを押して戻るときに、プログラマがデータを保存でき、HistoryStorage クラスを通じて履歴データにアクセスできます。ユーザーがページから離れた場合でも、ブラウザはフォーム フィールドの値を自動的に保存するため、最初は非表示のフォーム フィールドを使用してこれを実行しました。

例: 簡単な例から始めましょう:

まず第一に、RSH フレームワークを必要とする Web ページには dhtmlHistory.js 教科書を含める必要があります:

src="../../framework/dhtmlHistory.js">

DHTML 履歴アプリケーションには、同じディレクトリに空の .html ファイルが含まれている必要があります。このファイルは RSH フレームワークによって自動的にバインドされ、IE ブラウザで使用する必要があります。前述したように、RSH は非表示の Iframe を使用して IE の変更を保存および追加します。この Iframe が正しく動作するには、実際のファイルの場所 (blank.html) を指定する必要があります。

RSH フレームワークは、ブラウザーの履歴閲覧記録を制御するためのエントリ ポイントである dhtmlHistory と呼ばれるグローバル オブジェクトを作成します。最初のステップは、Web ページが読み込まれた後に dhtmlHistory オブジェクトを初期化することです。

window.onload = 初期化;
functionInitialize() {
// DHTML History を初期化します
// フレームワーク
dhtmlHistory.initialize();

次に、プログラマは dhtmlHistory.addListener() メソッドを使用して、履歴閲覧イベントの変更をサブスクライブします。このメソッドは、履歴閲覧イベントが発生したときに 2 つのパラメーターを受け取る JavaScript コールバック関数を使用します。 Web ページの新しいアドレスと履歴データは、このイベントに関連付ける必要があります:

window.onload =Initialize;
functionInitialize() {
// DHTML 履歴を初期化する
// フレームワーク
dhtmlHistory.initialize();
// DHTML 履歴変更をサブスクライブする
// イベント
dhtmlHistory.initialize();

historyChange() メソッドは非常に直感的です。ユーザーが新しい Web ページを参照すると、メソッドを使用して newLocation を受け取ります。同時に、他のhistoryData をこのイベントに添付できます。

/**履歴変更

イベントを受信するためのコールバック。*/
functionhistoryChange(newLocation,
historyData) {
debug("履歴の変更が発生しました: "
+ "newLocation="+newLocation
+ ",historyData="+historyData,
true );
}
上記で使用した

Debug() は、単に Web ページにメッセージを出力するために使用されるツール メソッドです。 2 番目のパラメータはブール型で、true に設定すると、新しいメッセージが出力されるときに元の情報がクリアされます。

Add() メソッド。 「edit:SomePage」などの新しいアドレスを含む履歴イベントを追加し、イベントとともに保存されるオプションのhistoryDate値も提供します。

window.onload =Initialize;

functionInitialize() {
// DHTML 履歴を初期化する
// フレームワーク
dhtmlHistory.initialize();
// DHTML 履歴変更をサブスクライブする
// イベント
dhtmlHistory.initialize();
// これが初めての場合
// ページをロードする...
if (dhtmlHistory.isFirstLoad()) {
debug("ブラウザに値を追加しています "
+ "history", false);
/ / 履歴の追加を開始します
dhtmlHistory.add("helloworld",
"Hello World Data");
dhtmlHistory.add("boobah", true); = 新しい Object();
complexObject.value1 =
「これは最初の値です」;
complexObject.value3 = 新しい Array(); Array( );
complexObject.value3[1] = ¡°配列 2¡±;
dhtmlHistory.add("complexObject",
complexObject);

add()実行と同時に、ブラウザのURLアドレスバーにリンクアドレスとして新しいアドレスが表示されます。たとえば、AJAX Web ページの現在のアドレスは http://codinginparadise.org/my_ajax_app です。 dhtmlHistory.add("helloworld", "Hello World Data") を実行すると、ブラウザの URL にそのアドレスが表示されます。アドレスバー: http://codinginparadise.org/my_ajax_app#helloworld

これは、ユーザーがこのページをブックマークできる場所です。ユーザーが後でこのブックマークを使用する場合、AJAX アプリケーションは #helloworld 値を読み取り、それを使用して Web ページを初期化できます。 RSH フレームワークは、URL アドレス値を透過的にエンコードおよびデコードします。

historyData は、より複雑な状態を保存する場合に非常に便利です。これはオプションの値で、数値、文字列、オブジェクトなどの任意の JavaScript タイプを指定できます。この機能の使用例は、ユーザーが現在の Web ページから離れた場合の Web ページのキャラクター エディターです。ユーザーが再度ログオンすると、ブラウザはオブジェクトを履歴閲覧変更リスナーに返します。

開発者は、ネストされたオブジェクトと配列を含む複雑な JavaScript オブジェクトを使用して、historyData を提供できます。ただし、ブラウザがサポートする DOM オブジェクトおよびスクリプト オブジェクト xmlHttPRequest は保存されません。注:historyData はブックマークと一緒に保持されるわけではなく、ブラウザが閉じられ、ブラウザのキャッシュがクリアされ、ユーザーが履歴をクリアすると消えます。

転載元: http://www.aspnetjia.com

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

WIN10サービスホストの動作プロセスがCPUを過剰に占有している WIN10サービスホストの動作プロセスがCPUを過剰に占有している Mar 27, 2024 pm 02:41 PM

1. まず、タスクバーの空白スペースを右クリックして[タスクマネージャー]オプションを選択するか、スタートロゴを右クリックして[タスクマネージャー]オプションを選択します。 2. 開いたタスク マネージャー インターフェイスで、右端の [サービス] タブをクリックします。 3. 開いた[サービス]タブで、下の[サービスを開く]オプションをクリックします。 4. 表示される[サービス]ウィンドウで、[InternetConnectionSharing(ICS)]サービスを右クリックし、[プロパティ]オプションを選択します。 5. 表示されたプロパティ画面で[プログラムから開く]を[無効]に変更し、[適用]をクリックして[OK]をクリックします。 6. スタートロゴをクリックし、シャットダウンボタンをクリックして[再起動]を選択し、コンピュータの再起動を完了します。

今すぐ Toutiao の記事を公開してお金を稼ぐにはどうすればよいですか?今すぐ Toutiao で記事を公開して収入を増やす方法! 今すぐ Toutiao の記事を公開してお金を稼ぐにはどうすればよいですか?今すぐ Toutiao で記事を公開して収入を増やす方法! Mar 15, 2024 pm 04:13 PM

1. 今すぐ Toutiao の記事を公開してどうやってお金を稼ぐことができますか?今すぐ Toutiao で記事を公開して収入を増やす方法! 1. 基本的な権利と利益の有効化: オリジナルの記事は広告によって利益を得ることができますが、利益を得るにはビデオが横画面モードでオリジナルである必要があります。 2. ファン100人の権利を有効化:ファン数が100人以上に達すると、マイクロヘッドライン、オリジナルQ&A作成、Q&Aから利益を得ることができます。 3. オリジナル作品にこだわる: オリジナル作品には記事、小見出し、質問などが含まれ、300 ワード以上であることが求められます。違法に盗用された作品をオリジナル作品として出版した場合、クレジットポイントが減点され、利益も差し引かれますのでご注意ください。 4. 垂直性:専門分野の記事を書く場合、分野を超えて自由に記事を書くことができず、適切な推薦が得られず、専門性や洗練度が得られず、ファンもつきにくいそして読者たち。 5. 活動: 高活動、

jQuery AJAX リクエストで発生した 403 エラーを解決する方法 jQuery AJAX リクエストで発生した 403 エラーを解決する方法 Feb 20, 2024 am 10:07 AM

タイトル: jQuery AJAX リクエストの 403 エラーを解決する方法とコード例。403 エラーは、サーバーがリソースへのアクセスを禁止するリクエストを指します。このエラーは通常、リクエストにアクセス許可がないか、サーバーによって拒否されたために発生します。 jQueryAJAX リクエストを行うときにこのような状況に遭遇することがありますが、この記事ではこの問題の解決方法とコード例を紹介します。解決策: 権限を確認します。まず、要求された URL アドレスが正しいことを確認し、リソースにアクセスするための十分な権限があることを確認します。

jQuery AJAXリクエスト403エラーを解決する方法 jQuery AJAXリクエスト403エラーを解決する方法 Feb 19, 2024 pm 05:55 PM

jQuery は、クライアント側の開発を簡素化するために使用される人気のある JavaScript ライブラリです。 AJAX は、Web ページ全体をリロードせずに、非同期リクエストを送信し、サーバーと対話するテクノロジーです。ただし、jQuery を使用して AJAX リクエストを行うと、403 エラーが発生することがあります。 403 エラーは通常、セキュリティ ポリシーまたは権限の問題が原因で、サーバーによってアクセスが拒否されたエラーです。この記事では、jQueryAJAX リクエストで 403 エラーが発生した場合の解決方法について説明します。

PHP で特殊文字を処理し、一重引用符を変換する方法を学習します。 PHP で特殊文字を処理し、一重引用符を変換する方法を学習します。 Mar 27, 2024 pm 12:39 PM

PHP 開発のプロセスでは、特殊文字の処理が一般的な問題になります。特に文字列処理では、特殊文字がエスケープされることがよくあります。その中でも、特殊文字を一重引用符に変換することは比較的一般的な要件です。これは、PHP では一重引用符が文字列をラップする一般的な方法であるためです。この記事では、PHP での特殊文字変換シングルクォーテーションの扱い方と具体的なコード例を説明します。 PHP では、特殊文字には一重引用符 (')、二重引用符 (")、バックスラッシュ () などが含まれますが、これらに限定されません。

Ajaxを使用してPHPメソッドから変数を取得するにはどうすればよいですか? Ajaxを使用してPHPメソッドから変数を取得するにはどうすればよいですか? Mar 09, 2024 pm 05:36 PM

Ajax を使用して PHP メソッドから変数を取得することは、Web 開発では一般的なシナリオであり、Ajax を使用すると、データを更新せずにページを動的に取得できます。この記事では、Ajax を使用して PHP メソッドから変数を取得する方法と、具体的なコード例を紹介します。まず、Ajax リクエストを処理し、必要な変数を返すための PHP ファイルを作成する必要があります。以下は、単純な PHP ファイル getData.php のサンプル コードです。

jQuery AJAX エラー 403 の問題を解決するにはどうすればよいですか? jQuery AJAX エラー 403 の問題を解決するにはどうすればよいですか? Feb 23, 2024 pm 04:27 PM

jQueryAJAX エラー 403 の問題を解決するにはどうすればよいですか? Web アプリケーションを開発する場合、非同期リクエストを送信するために jQuery がよく使用されます。ただし、jQueryAJAX の使用時に、サーバーによってアクセスが禁止されていることを示すエラー コード 403 が発生する場合があります。これは通常、サーバー側のセキュリティ設定が原因ですが、回避する方法があります。この記事では、jQueryAJAX エラー 403 の問題を解決する方法と具体的なコード例を紹介します。 1.作る

PHP と Ajax: 動的に読み込まれるコンテンツを作成するためのソリューション PHP と Ajax: 動的に読み込まれるコンテンツを作成するためのソリューション Jun 06, 2024 pm 01:12 PM

Ajax (非同期 JavaScript および XML) を使用すると、ページをリロードせずに動的コンテンツを追加できます。 PHP と Ajax を使用すると、製品リストを動的にロードできます。HTML はコンテナ要素を含むページを作成し、Ajax リクエストはロード後に要素にデータを追加します。 JavaScript は Ajax を使用して XMLHttpRequest を通じてサーバーにリクエストを送信し、サーバーから JSON 形式で商品データを取得します。 PHP は MySQL を使用してデータベースから製品データをクエリし、それを JSON 形式にエンコードします。 JavaScript は JSON データを解析し、ページ コンテナーに表示します。ボタンをクリックすると、製品リストをロードするための Ajax リクエストがトリガーされます。

See all articles