私はAjaxサイトをやっていて、私はすべてのURLに "#!"訪問者がURLをクリックしたときに私のサイトから(外部URLのために働かない)家。 http://mysiteajax.com/#!/contact /「"#!"を追加する方法すべてのURLの前にajax
私は小さなスクリプトのjQueryをコード化しているが、それは動作しません。誰かがURL http://mysiteajax.com/contact/をクリック「スクリプトは次のようにURLを変更」:たとえば
<script>
var base_url = "http://localhost/ajaxsite/";
function link(href) {
// Check if the URL is an internal url
if(href.indexOf(base_url) !=-1 || href.indexOf('http://') == -1 || href.indexOf('https://') == -1) {
href = href.replace(base_url,'');
return base_url + '#!/' + href;
}
}
// Changes the link when someone clicks
$(document).ready(function() {
$('a').click(function() {
$('a').attr('href', link(this));
});
});
</script>
ことができます私を助けて
はここ
*「動作しません」*:**どのように動作しませんか?何が起こり、何が起こると予想されますか? –
なぜ#!? #はフラグメントマーカーなので、リクエストは指定されたパスに移動しません。 – tjameson
@tjamson:[AJAXクロール:ウェブマスターと開発者のためのガイド](https://www.google.com/support/webmasters/bin /answer.py?answer=174992)。私は彼がフラグメント識別子の値を読んで、そのパス(他の多くのWebページと同じように)を要求すると仮定します。 –