現在の場所を指す通常のリンクを持つことは可能ですか?
私は現在2つの解決策を見つけましたが、そのうちの1つはJavaScriptを含み、もう1つはあなたがページへの絶対パスを知る必要があります:
<a href="#" onclick="window.location.reload(true);">1</a>
<a href="/foobar/">2</a>
<a href="#">3 (of course not working)</a>
JavaScriptを使わずに絶対パスを知らずにこれを行う方法はありますか?
私は使っています:
<a href=".">link</a>
意図したとおりに動作しないケースやブラウザがまだ見つかっていません。
ピリオドは現在のパスを意味します。たとえば、次のようなファイル構造になっている場合は、..
を使用して現在のパスより上のフォルダを参照することもできます。
page1.html
folder1
page2.html
page2.html
で書くことができます:
<a href="../page1.html">link to page 1</a>
それが役立つことを願っています!
編集:
振る舞いが変わったのか、それともいつもそうだったのかはわかりませんが、Chrome(そしておそらく他の人も)はピリオドをファイルではなくディレクトリとして扱います。これは、あなたがhttp://example.com/foo/bar.html
にいる場合、あなたは本当に/foo/
ディレクトリにいて、.
のbar.html
のhref
値は/foo/
ではなくbar.html
を参照することを意味します。
ターミナル内のファイルシステムをナビゲートすると考えてください。 cd
をファイルに入れることはできません:)
編集2:
href="."
を使用した場合の動作はもう予測できないようです。FirefoxとChromeの両方でこれらの処理方法が変更された可能性があります。私は最初の答えに完全に頼るのではなく、空の文字列とピリオドの両方を別のブラウザで試してみて、目的の動作が得られるようにします。
他の答えのどれもどんなクエリ文字列値もpreseしません。やってみる
<a href="javascript:window.location.href=window.location.href">
確かにこれはjavascriptを含みますが、あなたのユーザがスクリプトを無効にしていない限り、これはかなり簡単です。
JavaScriptを使用する1つの方法:
<a href="javascript:window.location.reload(true)">Reload</a>
あなたはこれを行うことができます:<a href="">This page</a>
しかし、それはGETとPOSTデータを保存するとは思わない.
<a href="<?php echo $_SERVER["REQUEST_URI"]; ?>">Click me</a>
<a href=".">refresh current page</a>
パラメータを渡したい場合は、
<a href=".?curreny='usd'">refresh current page</a>
現在のページをリロード/リフレッシュするためにこれを使用してください
<a href="#" onclick="window.location.reload(true);">
<a href="/">Clicking me refreshes the page</a>
<a href="?">Click Me To Reload the page</a>
HTMLだけでこれを行う世界的な方法は残念ながらありません。あなたは<a href="">test</a>
をやってみることができますが、それはいくつかのブラウザでしか動作しません。
パス、パラメータ、およびアンカーを保持する完全にべき等URL。
<a href="javascript:"> click me </a>
ほんの少しのJSしか使用していません。
EDIT:これはページをリロードしません。何もしないリンクです。
もう一つの解決策
<a href="javascript:history.go(0)">Reload</a>
受け入れられた答えがIE9で私のために働かなかった間、これはしました:
<a href="?">link</a>
私はJSを使ってjekyllサイトのタグページに特定のIDを持つdivだけを表示します。同じページ内の一連のリンクで、対応する要素を表示します。
function hide_others() {
$('div.item').hide();
selected = location.hash.slice(1);
if (selected) {
$('#' + selected).show();
}
else {
$('div.item').show();
}
}
リンクは次のようなリンクを使用します。
<a href="javascript:window.location.href='/tags.html#{{ tag[0] }}-ref'; hide_others()">{{ tag[0] }}</a>
フォームを使用して、同じURLにPOSTを実行できます。
<form method="POST" name="refresh" id="refresh">
<input type="submit" value="Refresh" />
</form>
これにより、現在のページを更新するボタンが表示されます。ユーザーがブラウザの更新ボタンを押すと、do you want to resubmit the form
というメッセージが表示されるので、少々面倒です。
これを試してください
<a href="javascript:window.location.href=window.location.href">