Add base target to html content

This commit is contained in:
Nicholas Jitkoff 2018-07-08 08:17:48 -07:00
parent 53e3a7a7cb
commit becc28d51c
4 changed files with 69 additions and 72 deletions

5
index.css Normal file
View file

@ -0,0 +1,5 @@
#iframe {border:none;position:absolute;top:0;left:0;width:100%;height:100%}
#edit {font-family:monospace; font-weight:bold;color:rgba(0,0,0,0.54); position:absolute;z-index:100;position:absolute;top:0.85em; right:1em; display:none;}
#edit:not(:hover) {text-decoration:none;}
#warning {position: absolute;border-radius:4px;background-color:#feecc2;padding:1em;font-size:16px;font-family:sans-serif;width:20em;z-index:100;top:10vh;left:50vw;margin-left:-10em;}
#warning:empty {display:none;}

File diff suppressed because one or more lines are too long

53
index.js Normal file
View file

@ -0,0 +1,53 @@
var HEAD_TAGS = "PGJhc2UgdGFyZ2V0PSJfdG9wIj4K";
var HEAD_TAGS_EXTENDED = "PG1ldGEgY2hhcnNldD0idXRmLTgiPjxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgiPjxiYXNlIHRhcmdldD0iX3RvcCI+PHN0eWxlIHR5cGU9InRleHQvY3NzIj5ib2R5e21hcmdpbjowIGF1dG87cGFkZGluZzoxMnZtaW4gMTB2bWluO21heC13aWR0aDozNWVtO2xpbmUtaGVpZ2h0OjEuNWVtO2ZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCxzYW5zLXNlcmlmO3dvcmQtd3JhcDogYnJlYWstd29yZDt9PC9zdHlsZT4g";
window.onhashchange = window.onload = function() {
var hash = window.location.hash.substring(1);
if (hash.length < 3) {
location.href = "/edit";
} else {
var iframe = document.getElementById('iframe');
var link = document.getElementById('edit');
var preamble = undefined;
var slashIndex = hash.indexOf("/");
var title = hash.substring(0, slashIndex);
document.title = title.length ? decodeURIComponent(title.replace(/_/g, " ")) : location.hostname;
hash = hash.substring(slashIndex + 1);
var editable = hash.charAt(0) == '?';
if (editable) {
hash = hash.substring(1);
};
if (hash.indexOf("data:") != 0) {
var compressed = true;
preamble = HEAD_TAGS_EXTENDED;
hash = 'data:text/html;charset=utf-8;' + (compressed ? 'bxze64,' : 'base64,') + hash;
} else if (hash.indexOf("data:text/html;") == 0) {
preamble = HEAD_TAGS;
};
link.onclick = function() { location.href = "/edit" + location.hash; };
var isIE = navigator.userAgent.match(/rv:11/);
var isEdge = navigator.userAgent.match(/Edge\//);
if ((isEdge || isIE) && location.href.length == 2083) {
document.getElementById('warning').innerHTML = 'Edge only supports shorter URLs (maximum 2083 bytes).<br>Larger sites may require a different browser.<br><a href="http://reference.bitty.site">Learn more</a>';
};
decompressDataURI(hash, preamble, function(hash) {
if (!hash) return;
iframe.sandbox="allow-scripts allow-forms allow-top-navigation allow-popups allow-modals";
if (!isIE) {
if (hash) iframe.src = hash;
} else {
dataToString(hash, function(content){
var doc = iframe.contentWindow.document;
doc.open();
doc.write(content);
doc.close();
})
}
});
var link = document.getElementById('edit');
link.href = "/edit" + location.hash;
link.style.display = editable ? "block" : "none";
}
}

View file

@ -1,2 +1,2 @@
CACHE MANIFEST
#
# v7