2016-05-18 8 views
1

私はこの1つのようなangularjsアプリケーションにアクセスするためのリンクがあります隠しクエリパラメータでangularjsアプリケーションを再読み込みするにはどうすればいいですか?

127.0.0.1:9000/#/doc?abc=def 

ユーザーがそのリンクを開くと、彼/彼女は、アプリケーションを開きます。アプリケーションがロードされ、クエリのparamsが正常に抽出された後、私はこのコードでこれらのクエリのparamsを隠す:

さて、アドレスバー内のリンクは、127.0.0.1:9000/#/docに切り替えています。ユーザーがページをリロードすると(F5またはブラウザのリロードボタンで)、前に隠れたパラメータでアプリケーションをリロードします。どうやってやるの?

+1

あなたは、このようなクッキーのように、どこかのクエリ文字列を格納する必要があり、ローカルストレージ、またはサーバー上。 – isherwood

答えて

1

リロードイベントの前に、非表示にするパラメータを保存してから復元する必要があります。リロードイベントを実際にキャプチャする方法はないので、ウィンドウがアンロードされる前に(ユーザーがページを離れたりリロードしたりする前に)起動したイベントに依存して、それらのパラメータをリロードする必要があります。明らかに

$window.onbeforeunload = function() { // restore parameters here };

+0

うわー、この解決策は私の場合に有効です。私はonbeforeunloadイベントについても考えなかった。どうもありがとう – phuchieu

関連する問題