48 lines
1.6 KiB
HTML
48 lines
1.6 KiB
HTML
<script>
|
|
|
|
if (!sessionStorage.in_document_with_fragment_url_4)
|
|
sessionStorage.in_document_with_fragment_url_4 = true;
|
|
else
|
|
delete sessionStorage.in_document_with_fragment_url_4;
|
|
|
|
if (window.testRunner) {
|
|
testRunner.dumpAsText();
|
|
testRunner.waitUntilDone();
|
|
}
|
|
|
|
function documentURLHash()
|
|
{
|
|
var index = document.URL.lastIndexOf("#");
|
|
if (index == -1)
|
|
return "";
|
|
return document.URL.substring(index);
|
|
}
|
|
|
|
function hashChanged()
|
|
{
|
|
alert("Hash changed to " + documentURLHash() + " which is interesting because we shouldn't get a hashchange event in this test.");
|
|
}
|
|
|
|
function loaded()
|
|
{
|
|
if (sessionStorage.in_document_with_fragment_url_4) {
|
|
alert("First load complete. URL's current hash is " + documentURLHash());
|
|
history.replaceState(null, null, "#foo");
|
|
alert("After replaceState, the URL's current hash is " + documentURLHash());
|
|
var rect = document.getElementById("clickanchor").getBoundingClientRect();
|
|
eventSender.mouseMoveTo(rect.left + rect.width / 2, rect.top + rect.height / 2);
|
|
eventSender.mouseDown();
|
|
eventSender.mouseUp();
|
|
} else {
|
|
alert("Second load complete. URL's current hash is " + documentURLHash());
|
|
if (window.testRunner)
|
|
testRunner.notifyDone();
|
|
}
|
|
}
|
|
|
|
</script>
|
|
<body onhashchange="hashChanged();" onload="loaded();">
|
|
This page uses history.replaceState() to add #foo to its URL. Then click the second link, which has an empty href and should take you back to the original URL without the #foo.<br>
|
|
<a id="clickanchor" href="">Click here to return to the original page with the original url</a>
|
|
</body>
|