mirror of
https://github.com/rsms/inter.git
synced 2024-12-20 22:21:38 +03:00
46 lines
1.3 KiB
HTML
46 lines
1.3 KiB
HTML
{% if site.safe == false %}
|
|
<!-- During authoring, this automatically reloads the post as its changing -->
|
|
<script type="text/javascript">
|
|
(function() {
|
|
var qs = document.location.search;
|
|
var current_etag = qs.match(/etag=("?[a-zA-Z0-9_-]+)/);
|
|
if (current_etag !== null) { current_etag = current_etag[1]; }
|
|
var scrolly = qs.match(/scrolly=([0-9]+)/);
|
|
if (scrolly) {
|
|
scrolly = parseInt(scrolly[1]);
|
|
if (scrolly > 0) {
|
|
window.scrollTo(window.scrollX, scrolly);
|
|
setTimeout(function () {
|
|
window.scrollTo(window.scrollX, scrolly);
|
|
}, 10);
|
|
}
|
|
}
|
|
|
|
function check() {
|
|
var r = new XMLHttpRequest();
|
|
var url = document.location.href + ((qs && qs !== '') ? '&' : '?') + 'r=' + Math.random();
|
|
r.open('GET', url, true);
|
|
r.onreadystatechange = function() {
|
|
if (r.readyState == 4){
|
|
var found_etag = r.getResponseHeader('Etag');
|
|
if (found_etag) {
|
|
found_etag = found_etag.replace(/^"|"$/g);
|
|
}
|
|
//console.log('current_etag:', current_etag, 'found_etag:', found_etag);
|
|
if (current_etag === null) {
|
|
current_etag = found_etag;
|
|
} else if (found_etag !== current_etag) {
|
|
document.location.search =
|
|
'?etag=' + encodeURIComponent(found_etag) +
|
|
'&scrolly=' + window.scrollY;
|
|
return;
|
|
}
|
|
setTimeout(check, 500);
|
|
}
|
|
};
|
|
r.send(null);
|
|
}
|
|
check();
|
|
})();
|
|
</script>
|
|
{% endif %} |