私はdivの 'フッター'をページの最後に残そうとしていましたが、ページの変更によって開いたままにしておきます。私はJQueryの.load関数をメインのコンテンツdivで使用してこれを実現しましたが、そのメソッドを使用すると、誰かが別のページに移動したときにURLが同じままになります。リンクをURLに変更しても、divを開いたままにする方法はありますか?私は上記のdivを使って音楽を演奏することを計画しているので、ページスイッチの間を閉じることができない、または音楽が停止/再バッファリングする必要があります。divを開いたままページを変更しますか?
答えて
あなたは使ってHTML5でこれを行うことができます:あなたの呼び出しの後
window.history.pushState(obj, "Title", url);
を。
表示されたURLが通話のURLと一致するように変更されますが、同じドメインに属するURLだけが許可されます。
は、あなたが非HTML5のブラウザをサポートしたい場合は、フレームとハッシュURLを使用する必要がありますhttps://developer.mozilla.org/en/DOM/Manipulating_the_browser_history
を参照してください。私は昔ながらのフレームセットを使用したいと思います。 (私は実際にフレームセットを提案しているとは信じられません。これは悪い習慣と考えられていますし、おそらく11年後にこのようなコードを書いていないのですが、この場合実際には正しい解決策のようです。が、私は)
<frameset border="0" rows="*,100">
<frame src="/mainPage" id="content" />
<frame src="/footer" id="footer" />
</frameset>
使用Ben Almanのhashchange pluginフレームセットは、実際にはより理にかなっていると思うし、ページナビゲーションを管理するには、このようなスクリプトを使用します。
$(function() {
$("frame").load(function() {
document.title = w.document.title;
var links = $("a[href]", this.contentWindow.document);
links.attr("target", "_top");
links.click(function (e) {
if (this.hostname == location.hostname) {
e.preventDefault();
var path = this.pathname.replace(/^[^\/]/, "$&/");
location.hash = "#" + path + this.search + this.hash;
}
});
});
var w = $("#content")[0].contentWindow;
$(window).hashchange(function() {
var hash = location.hash.substr(1) || "/mainPage";
var contentLoc = w.location.pathname + w.location.search + w.location.hash;
if (hash.toLowerCase() != contentLoc.toLowerCase()) {
w.location.replace(hash);
}
}).trigger("hashchange");
});
デモ:http://jumpingfishes.com/framed/
フレームの代わりに、AJAXを使用してコンテンツをリロードすることもできますが、フレームを実装する方が早いかもしれません。
+1 Sweet example gilly3! (btw、これはプラグインのためのものですよね?) –
- 1. ページの変更を開いたままにする
- 2. スクロールしたページの深さに基づいてdivを変更します
- 3. AJAXコール後にdivを開いたままにしますか?
- 4. Divのページを読み込み、テキストを変更します
- 5. URLの開始ページをプログラムで変更しますか?
- 6. divのテキストをユーザーのページに応じて変更します
- 7. Android DIV画像が変更されました。ページ上をクリックしたとき
- 8. Spring MVCリダイレクト:新しいページがdiv内に開かれます
- 9. OpenERP:モジュールを開発または変更しますか?
- 10. divをクリックしてからdivに変更します
- 11. ウィンドウのDivポジションを変更します。
- 12. divの幅を変更するとビューポートを変更します
- 13. ページの読み込み時にdiv背景を変更しますか?
- 14. page refreshの後にslideToggle()divを開いたままにしますか?
- 15. JQueryはページ上のすべてのdivを展開します
- 16. JQueryダイアログは開いた後にサイズを変更します
- 17. ウィンドウのサイズ変更時にdivオフセットを変更します。 Jquery
- 18. divをクリックして背景画像を変更しますか?
- 19. URLを追加してdiv/spanコンテンツを変更しますか?
- 20. リモートスクリプトで開かれたブラウザウィンドウのサイズを変更します
- 21. アクティビティを開いたボタンに基づいてアクションを変更しますか?
- 22. ViewPagerがページを変更したときにツールバーの色を変更します
- 23. DIVを別のページから取得し、現在のページでDIVを更新します
- 24. 1つのdivが他のdivを変更します
- 25. divにイメージを置いてサイズを変更します
- 26. divクラス名または変更方法?
- 27. divのコンテンツをリストのクリックから変更しますか?
- 28. Jqueryがポップアップを開いて、クリックしたdivにネストします
- 29. 私はアプリケーションをdeeplinkで特定のページに開こうとしていますが、開始ページを開いたままにしています。
- 30. クリックしてdivをサイズ変更しますか?
それは何らかの理由で私のために働きたくありません。互換性の問題の可能性が最も高い。私は自分のコードを投稿しようとしていましたが、ここでは新しいので、正しくフォーマットすることができません。 – Henzl0l
あなたのコードの前に4つのスペースを置くか、または貼り付けてそれを選択し、 '{}'ボタンを押します。 – Alnitak