3

私は最近流星に鉄のルーターを使用しました。ルーターを使用してあるページから別のページを閲覧すると、実際にはページのコンテンツ全体がリロードされることに驚きました。これは、あるページから別のページを参照しているときに URL パスが変更されるためです。検索エンジンで閲覧可能な Web サイトには役立つかもしれませんが、Web アプリケーションを構築するのは私が探しているものではありません。

実際、フラグメントを変更すると、たとえばセッションに入れられ、テンプレートで直接使用できるフラグメントに基づくものを期待していました。次のコードは、必要な効果 (jQuery) を生成する必要があります。

$(window).on('hashchange', function() {
  Session.set('hash', window.location.hash);
});

しかし、独自のソリューションを使用する前に、車輪を再発明していないことを確認したいと思います。フラグメントに基づくページレンダリングをサポートする流星ルーターまたはその他のフレームワークはありますか (パスとは対照的に)?

4

2 に答える 2

1

<a href="/somePage">ClickMe</a>Iron-router は、タグまたはルーター機能を介してこれを行っている限り、実際にはページ全体をリロードしませんRouter.go('/somePage'); 。ただし、ブラウザのフィールドに URL を手動で導入すると、ページ全体がリロードされます (フラグメントを使用する場合はそうではありません)。

フラグメントをセッションに動的に配置することを探している人のために、私が使用した完全なコードを次に示します。

function storeHashInSession()
{
  Session.set('hash', window.location.hash);
}

Meteor.startup(function()
{
    storeHashInSession();
});

$(window).on('hashchange', function()
{
    storeHashInSession();
});
于 2014-01-20T08:21:31.523 に答える
0

使っているブラウザにもよると思います。しばらく Iron-router を見ていませんでしたが、バージョン 0.6.0の時点で、非 IE ブラウザは HTML5 履歴プッシュ状態を使用し、IE<10 は毎回サーバーから新しいページ リクエストを作成しました。

詳細については、この問題を参照してください: https://github.com/EventedMind/iron-router/issues/14

私たちのスタートアップでは、まだ を使用していmini-pagesます。

iron-routerIE < 10 でまだプッシュ状態をサポートしていない場合は、すぐにサポートされることを願っています。

于 2014-01-20T01:23:26.950 に答える