more old-browser support:

* polyfill Set() for gridview (ie9, ie10)
* navpane: do full-page nav if history api is ng (ie9)
* show markdown as plaintext if rendering fails (ie*)
* text-editor: hide preview pane if it doesn't work (ie*)
* explicitly hide toasts on close (ie9, ff10)
This commit is contained in:
ed 2024-01-18 22:56:39 +00:00
parent aa3a971961
commit 4ef3106009
5 changed files with 40 additions and 4 deletions

View file

@ -818,6 +818,10 @@ html.y #path a:hover {
.logue:empty {
display: none;
}
.logue.raw {
white-space: pre;
font-family: 'scp', 'consolas', monospace;
}
#doc>iframe,
.logue>iframe {
background: var(--bgg);

View file

@ -372,7 +372,7 @@ var Ls = {
"s_t1": "tags contains   (^=start, end=$)",
"s_a1": "specific metadata properties",
"md_eshow": "cannot show ",
"md_eshow": "cannot render ",
"md_off": "[📜<em>readme</em>] disabled in [⚙️] -- document hidden",
"xhr403": "403: Access denied\n\ntry pressing F5, maybe you got logged out",
@ -855,7 +855,7 @@ var Ls = {
"s_t1": "sang-info inneholder",
"s_a1": "konkrete egenskaper",
"md_eshow": "kan ikke vise ",
"md_eshow": "viser forenklet ",
"md_off": "[📜<em>readme</em>] er avskrudd i [⚙️] -- dokument skjult",
"xhr403": "403: Tilgang nektet\n\nkanskje du ble logget ut? prøv å trykk F5",
@ -5933,6 +5933,9 @@ var treectl = (function () {
}
r.reqls = function (url, hpush, back) {
if (IE && !history.pushState)
return window.location = url;
var xhr = new XHR();
xhr.top = url.split('?')[0];
xhr.back = back
@ -7378,8 +7381,11 @@ function show_md(md, name, div, url, depth) {
wfp_debounce.hide();
if (!marked) {
if (depth)
if (depth) {
clmod(div, 'raw', 1);
div.textContent = "--[ " + name + " ]---------\r\n" + md;
return toast.warn(10, errmsg + (window.WebAssembly ? 'failed to load marked.js' : 'your browser is too old'));
}
wfp_debounce.n--;
return import_js(SR + '/.cpr/deps/marked.js', function () {

View file

@ -163,7 +163,7 @@ redraw = (function () {
dom_sbs.onclick = setsbs;
dom_nsbs.onclick = modetoggle;
onresize();
(IE ? modetoggle : onresize)();
return onresize;
})();

View file

@ -105,6 +105,9 @@ html {
#toast pre {
margin: 0;
}
#toast.hide {
display: none;
}
#toast.vis {
right: 1.3em;
transform: inherit;

View file

@ -161,6 +161,9 @@ function vis_exh(msg, url, lineNo, columnNo, error) {
if (url.indexOf(' > eval') + 1 && !evalex_fatal)
return; // md timer
if (IE && url.indexOf('prism.js') + 1)
return;
var ekey = url + '\n' + lineNo + '\n' + msg;
if (ignexd[ekey] || crashed)
return;
@ -376,6 +379,22 @@ catch (ex) {
}
}
if (!window.Set)
window.Set = function () {
var r = this;
r.size = 0;
r.d = {};
r.add = function (k) {
if (!r.d[k]) {
r.d[k] = 1;
r.size++;
}
};
r.has = function (k) {
return r.d[k];
};
};
// https://stackoverflow.com/a/950146
function import_js(url, cb, ecb) {
var head = document.head || document.getElementsByTagName('head')[0];
@ -1404,6 +1423,10 @@ var toast = (function () {
clmod(obj, 'vis');
r.visible = false;
r.tag = obj;
if (!window.WebAssembly)
te = setTimeout(function () {
obj.className = 'hide';
}, 500);
};
r.show = function (cl, sec, txt, tag) {