| <!DOCTYPE html> |
| <style type="text/css"> |
| div { |
| background-color: rgb(255, 255, 255); |
| } |
| |
| div:target { |
| background-color: rgb(102, 204, 255); |
| } |
| </style> |
| |
| <script src="../../resources/js-test.js"></script> |
| <script> |
| jsTestIsAsync = true; |
| description('Verify that css :target selector is correctly updated during hash and history navigations'); |
| |
| // Increase the navigation delay outside test runner to make the effect visible |
| var delay = window.testRunner ? 0 : 500; |
| |
| onload = function() { |
| // Location changes need to happen outside the onload handler to generate history entries. |
| setTimeout(function() { |
| window.location.hash = '#target-01'; |
| }, delay); |
| }; |
| |
| window.addEventListener('hashchange', function() { |
| if (window.location.hash == "#target-01") { |
| document.body.offsetTop; |
| shouldBeEqualToString("getComputedStyle(document.getElementById('target-01')).backgroundColor", "rgb(102, 204, 255)"); |
| setTimeout(function() { |
| window.history.back(); |
| }, delay); |
| } else { |
| document.body.offsetTop; |
| shouldBeEqualToString("getComputedStyle(document.getElementById('target-01')).backgroundColor", "rgb(255, 255, 255)"); |
| finishJSTest(); |
| } |
| }); |
| </script> |
| |
| <div id="target-01"> |
| <p>I should be highlighted first because of the anchor, and de-highlighted when there is no fragment.</p> |
| </div> |