Skip to content

Commit 6215cdd

Browse files
committed
Add stylesheet switcher to our demo.php
1 parent 1e98257 commit 6215cdd

1 file changed

Lines changed: 25 additions & 7 deletions

File tree

demo/demo.php

Lines changed: 25 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -104,11 +104,6 @@ function getLanguageDemo($lang)
104104
<title>highlight.js test</title>
105105
<meta charset="utf-8">
106106

107-
<link rel="stylesheet" title="Default" href="../styles/default.css">
108-
<?php foreach ($styles as $style): ?>
109-
<link rel="alternate stylesheet" title="<?= $style; ?>" href="../styles/<?= $style; ?>.css">
110-
<?php endforeach; ?>
111-
112107
<style>
113108
iframe {
114109
border: 0;
@@ -143,7 +138,7 @@ function getLanguageDemo($lang)
143138

144139
<p>For example, this page takes approximately 9 minutes to load completely for @allejo</p>
145140

146-
<div>
141+
<form id="stylesheet-switcher">
147142
<fieldset>
148143
<legend>Stylesheet</legend>
149144

@@ -161,7 +156,7 @@ function getLanguageDemo($lang)
161156
<?php endforeach; ?>
162157
</div>
163158
</fieldset>
164-
</div>
159+
</form>
165160

166161
<h2>Automatically detected languages</h2>
167162

@@ -171,5 +166,28 @@ function getLanguageDemo($lang)
171166
<iframe src="demo.php?lang=<?= $language; ?>"></iframe>
172167
</section>
173168
<?php endforeach; ?>
169+
170+
<script>
171+
const iframes = document.getElementsByTagName('iframe');
172+
173+
for (let i = 0; i < iframes.length; i++) {
174+
iframes.item(i).addEventListener('load', function () {
175+
this.height = this.contentDocument.body.scrollHeight + 'px';
176+
});
177+
}
178+
179+
document
180+
.getElementById("stylesheet-switcher")
181+
.addEventListener('change', function () {
182+
const newStylesheet = this.stylesheet.value;
183+
184+
for (let i = 0; i < iframes.length; i++) {
185+
const iframe = iframes.item(i);
186+
const link = iframe.contentDocument.getElementsByTagName('link').item(0);
187+
188+
link.href = '../styles/' + newStylesheet + '.css';
189+
}
190+
});
191+
</script>
174192
</body>
175193
</html>

0 commit comments

Comments
 (0)