私は Google chrome を使用しており、Dive into HMTL 5 に記載されている検出手法の 1 つを使用して、History API のサポートをテストしました。しかし、次のコードは機能していないようです。誰かが私が見逃しているものを教えてもらえますか?
function demo()
{
alert("history changing");
if(window.history && history.pushState)
{
alert("api supported");
}
else
alert("api not supported");
for(i=0;i<20;i++)
{
history.pushState(null,null,"\try.html");
}
}
URL「try.html」がブラウザの履歴に20回挿入されると予想されるforループは機能していないようです。「try.html」という名前のページからこの関数を呼び出しました。ページの読み込み時に関数「demo」が実行されます。ページ「try.html」には、通常のテキスト行が含まれているだけです。私がやりたいことは、ユーザーがページ「try.html」をロードした後、ブラウザーの戻るボタンをクリックしても、履歴には 20 のエントリが含まれている必要があるため、同じページにとどまることです。同じページ、つまり「try.html」ですが、そうではありません。なんで?