web-dev-qa-db-ja.com

History.jsを理解できません。簡略化する必要がありますか?

私はプログラミングにかなり慣れていないので、jQueryを使用してAJAXサイトを作成しています。

AJAX履歴ハンドラーをかなり探してみたところ、History.jsが最高/最新のようだと思いました。

私のメニューボタンにはそれぞれ独自のID(#homeBtn、#featuresBtn、#pricingBtn)があり、現在は次のようになっています。

<a href="#home" class="homeMainMenuButton" id="homeBtn"><div class="homeMainMenuButtonText">Home</div></a>

History.jsを実装する方法の例(できればjsfiddle)を誰かに教えてもらえますか?

私は作者によって与えられた例のどれも理解できないようです、そして私は単に唖然としたバージョン= bが必要です

さらに情報が必要な場合は、お知らせください。ありがとうございます。

22
Peter

こちらの手順に従ってください: https://github.com/browserstate/ajaxify

リンクを従来のリンクに変更するhref="#home"からhref="/home" - 確認してください http://mywebsite.com/home動作します。これはすべて優雅なアップグレードについてです。

11
balupton

必要な「ダムダウン」バージョンはルーターの抽象化だと思います。 StateRouter.js という簡単なものを自分の目的のために作成しました。基本的に、アプリケーションでサポートされているURLを正しい関数に転送し、ルートのパラメーター部分を定義することもできます(たとえば、 http://example.com/persons/id)の「id」部分 は関数パラメータになります)。

この簡単なサンプルコードは、その使用方法を示しています。

var router = new staterouter.Router();
// Configure routes
router
  .route('/', getHome)
  .route('/persons', getPersons)
  .route('/persons/:id', getPerson);
// Perform routing of the current state
router.perform();
// Navigate to the page of person 1
router.navigate('/persons/1');

ここに少し フィドル その使用法を示すために私が調合しました。

5
aknuds1