diff --git a/extensions/compare.css b/extensions/compare.css index f3f242a8..deeb9ffe 100644 --- a/extensions/compare.css +++ b/extensions/compare.css @@ -9,4 +9,7 @@ iframe { margin: 0; column-count: 3; } + iframe { + display: block; + } } diff --git a/extensions/compare.ts b/extensions/compare.ts index 2b642b5c..5ba9b1d3 100644 --- a/extensions/compare.ts +++ b/extensions/compare.ts @@ -2,7 +2,7 @@ const iframes = top!.document.getElementsByTagName('iframe'); // eslint-disable-line no-restricted-globals iframes[0]!.addEventListener('load', () => { const {contentWindow, contentDocument} = iframes[0]!; - contentWindow!.addEventListener('hashchange', () => { + contentWindow!.addEventListener('casechange', () => { for (let i = 1; i < iframes.length; i++) { iframes[i]!.contentWindow!.location.hash = contentWindow!.location.hash; } @@ -15,13 +15,13 @@ } }); }); - for (const iframe of iframes as unknown as Iterable) { - iframe.addEventListener('load', () => { - const {contentDocument} = iframe, + for (let i = 0; i < iframes.length; i++) { + iframes[i]!.addEventListener('load', () => { + const {contentDocument} = iframes[i]!, style = contentDocument!.createElement('style'); - style.textContent = 'body{background:#fff}' - + 'main{margin:0;box-shadow:none}' - + '#compare>:last-child{display:none}'; + style.textContent = `body{background:#fff}main{margin:0;box-shadow:none}${ + i === 0 ? '' : '.field{min-height:0}select,' + }#compare>:last-child{display:none}`; contentDocument!.head.append(style); }); } diff --git a/extensions/dist/compare.js b/extensions/dist/compare.js index bd42397c..cd9024e7 100644 --- a/extensions/dist/compare.js +++ b/extensions/dist/compare.js @@ -4,7 +4,7 @@ const iframes = top.document.getElementsByTagName('iframe'); iframes[0].addEventListener('load', () => { const { contentWindow, contentDocument } = iframes[0]; - contentWindow.addEventListener('hashchange', () => { + contentWindow.addEventListener('casechange', () => { for (let i = 1; i < iframes.length; i++) { iframes[i].contentWindow.location.hash = contentWindow.location.hash; } @@ -17,12 +17,10 @@ } }); }); - for (const iframe of iframes) { - iframe.addEventListener('load', () => { - const { contentDocument } = iframe, style = contentDocument.createElement('style'); - style.textContent = 'body{background:#fff}' - + 'main{margin:0;box-shadow:none}' - + '#compare>:last-child{display:none}'; + for (let i = 0; i < iframes.length; i++) { + iframes[i].addEventListener('load', () => { + const { contentDocument } = iframes[i], style = contentDocument.createElement('style'); + style.textContent = `body{background:#fff}main{margin:0;box-shadow:none}${i === 0 ? '' : '.field{min-height:0}select,'}#compare>:last-child{display:none}`; contentDocument.head.append(style); }); } diff --git a/extensions/dist/parserTests.js b/extensions/dist/test-page.js similarity index 95% rename from extensions/dist/parserTests.js rename to extensions/dist/test-page.js index d79b06f4..67e9841e 100644 --- a/extensions/dist/parserTests.js +++ b/extensions/dist/test-page.js @@ -9,8 +9,8 @@ }; wikiparse.highlight(pre, false, true); btn.disabled = !select.value; - if (isGH) { - btn.style.display = 'none'; + if (!isGH) { + btn.style.display = ''; } let optgroup; for (const [i, { desc, wikitext, html }] of tests.entries()) { @@ -42,7 +42,8 @@ wikiparse.highlight(pre, false, true); select.selectedOptions[0].disabled = true; btn.disabled = false; - location.hash = `#${encodeURIComponent(desc)}`; + history.replaceState(null, '', `#${encodeURIComponent(desc)}`); + dispatchEvent(new Event('casechange')); }); btn.addEventListener('click', () => { dones.add(tests[Number(select.value)].desc); diff --git a/extensions/test-page.css b/extensions/test-page.css index ed935d3c..eab08c0a 100644 --- a/extensions/test-page.css +++ b/extensions/test-page.css @@ -489,10 +489,11 @@ pre { @media screen and (min-width: 1200px) { #frame { column-count: 2; + padding-top: 1rem; } .frame:not(:empty) { - display: inline-block; width: calc(100% - 27px); + margin-top: 0; } #frame[data-source] > .frame:not(:empty) { width: calc(100% - 3px); diff --git a/extensions/parserTests.ts b/extensions/test-page.ts similarity index 96% rename from extensions/parserTests.ts rename to extensions/test-page.ts index dad0bf8c..5be18aec 100644 --- a/extensions/parserTests.ts +++ b/extensions/test-page.ts @@ -25,8 +25,8 @@ declare interface Test { }; wikiparse.highlight!(pre, false, true); btn.disabled = !select.value; - if (isGH) { - btn.style.display = 'none'; + if (!isGH) { + btn.style.display = ''; } let optgroup: HTMLOptGroupElement; for (const [i, {desc, wikitext, html}] of tests.entries()) { @@ -57,7 +57,8 @@ declare interface Test { wikiparse.highlight!(pre, false, true); select.selectedOptions[0]!.disabled = true; btn.disabled = false; - location.hash = `#${encodeURIComponent(desc)}`; + history.replaceState(null, '', `#${encodeURIComponent(desc)}`); + dispatchEvent(new Event('casechange')); }); btn.addEventListener('click', () => { dones.add(tests[Number(select.value)]!.desc); diff --git a/tests.html b/tests.html index 11f545ae..bd52259d 100644 --- a/tests.html +++ b/tests.html @@ -10,7 +10,7 @@ - + @@ -27,7 +27,7 @@
- +