0

IDに基づいた記事の各AJAXへのリンクでいっぱいのページがあります。history.pushstateを使用して、記事を「訪問済み」としてマークしようとしています。

私がしたこと:

記事のIDを使用して各リンクにハッシュを追加しました。

<a href="#ID=123" onclick="ajaxLoad('123')">Title</a>

JS関数の中には、次のようなものがあります。

if (window.history && window.history.pushState)
{
    window.history.pushState({articleID:"123"}, "Title",  "#ID=123");
} 

私のhref内の値はとにかく使用されていません。リンクがCSSに「アクセス」されるように、そこに配置するだけです。これは、もちろんIE9を除くほとんどのブラウザでうまく機能します。IE9はwindow.historyをサポートしていないので、私はそれが機能するとは思っていませんでした。

ただし、私の問題は、IEで記事をクリックすると、URLが変更されてハッシュが追加され、履歴が汚染されることです(戻るには、何度もクリックして戻る必要があります)。

ハッシュを取り除き、(IEの外部で)戻るボタンを引き続き機能させることができることは知っていますが、実際には、リンクが「訪問済み」としてマークされるようにすることに関心があります。IE9の動作を損なうことなく、「訪問済み」とマークされたajaxyリンクを取得する方法はありますか?

4

2 に答える 2

3

onclickこれをハンドラーに追加してみてください。

if (event.preventDefault) event.preventDefault(); else event.returnValue = false;
于 2012-06-25T23:52:51.593 に答える
0

単にreturn false;あなたのonclickハンドラーから。

于 2012-06-25T23:46:09.240 に答える