2012-04-20 16 views
0

私はHistory.jsと一緒に作業しています。私はGoogle PlusのURLとしてURLを取得しようとしています。 (ウィンドウ); 0123。History.jsとページの手動更新

このスクリプトは、リンクをクリックしたときに動作しますが、手動でページを更新したときに既にリンクをクリックしていて、URLがhttp://www.mysite.com/something/pageになると、ブラウザに404エラーが表示されます。 どうすれば解決できますか?

私のような何か得るしたいと思います:直接リンクにアクセスして、誰かが何かを見ることができますように、JSはあなたがページ全体をリロードしないことを可能にするにもかかわらず、URLはまだ、サーバ側でアクセス可能であるべきhttps://plus.google.com/explore

+0

上記の質問に対する解決策は見つかりましたか?はいの場合は、返信してください。お返事ありがとうございます –

答えて

0

を(優雅な劣化はもちろん)。

また、アンカーリンクにクリックハンドラを追加する必要があります。そのため、デフォルトの操作(リンクへ行く)を防ぎ、pushStateメソッドを使用してURLを変更できます。このような何か:

document.body.onclick = function(e) { 
    var evt = e || window.event, 
     target = evt.target || evt.srcElement // Get the target cross-browser 

    // If the element clicked is a link 
    if (target.nodeName === 'A') { 

     // Use the History API to change the URL 
     History.pushState() // Use the library correctly 

     // Don't forget to return false so that the link doesn't make you reload the page 
     return false 
    } 
} 

これは間違いなく、生産コード(あなたはなど、体に結合し、外部へのリンクのためではありませんチェックする必要があります)ではありませんが、あなたのアイデアを得ます。

+0

ありがとうございます。しかし、私は手動でページをリロードする必要があるときに、ユーザーとサーバーに有効なURLを与える、グーグルのようなものを得るにはどうすればよいですか? 同じページに留まり、アンカーリンクをクリックするだけで、ブラウザの戻るボタンをクリックすると動作している場合、このスクリプトは動作しています... – PPFerrari

関連する問題