143 lines
3.9 KiB
HTML
143 lines
3.9 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
|
|
<title>reveal.js - Test Iframes</title>
|
|
|
|
<link rel="stylesheet" href="../dist/reveal.css" />
|
|
<link rel="stylesheet" href="../node_modules/qunit/qunit/qunit.css" />
|
|
<script src="../node_modules/qunit/qunit/qunit.js"></script>
|
|
</head>
|
|
|
|
<body style="overflow: auto">
|
|
<div id="qunit"></div>
|
|
<div id="qunit-fixture"></div>
|
|
|
|
<div class="reveal" style="display: none">
|
|
<div class="slides">
|
|
<section>1</section>
|
|
<section>2</section>
|
|
<section>
|
|
<iframe class="default-iframe" data-src="#"></iframe>
|
|
<iframe class="preload-iframe" data-src="#" data-preload></iframe>
|
|
</section>
|
|
</div>
|
|
</div>
|
|
|
|
<script src="../dist/reveal.js"></script>
|
|
<script>
|
|
QUnit.config.testTimeout = 30000;
|
|
|
|
Reveal.initialize({ viewDistance: 2 }).then(() => {
|
|
var defaultIframe = document.querySelector(".default-iframe"),
|
|
preloadIframe = document.querySelector(".preload-iframe");
|
|
|
|
QUnit.module("Iframe");
|
|
|
|
QUnit.test("Using default settings", function (assert) {
|
|
Reveal.slide(1);
|
|
assert.strictEqual(
|
|
defaultIframe.hasAttribute("src"),
|
|
false,
|
|
"not preloaded when within viewDistance"
|
|
);
|
|
|
|
Reveal.slide(2);
|
|
assert.strictEqual(
|
|
defaultIframe.hasAttribute("src"),
|
|
true,
|
|
"loaded when slide becomes visible"
|
|
);
|
|
|
|
Reveal.slide(1);
|
|
assert.strictEqual(
|
|
defaultIframe.hasAttribute("src"),
|
|
false,
|
|
"unloaded when slide becomes invisible"
|
|
);
|
|
});
|
|
|
|
QUnit.test("Using data-preload", function (assert) {
|
|
Reveal.slide(1);
|
|
assert.strictEqual(
|
|
preloadIframe.hasAttribute("src"),
|
|
true,
|
|
"preloaded within viewDistance"
|
|
);
|
|
|
|
Reveal.slide(2);
|
|
assert.strictEqual(
|
|
preloadIframe.hasAttribute("src"),
|
|
true,
|
|
"loaded when slide becoems visible"
|
|
);
|
|
|
|
Reveal.slide(0);
|
|
assert.strictEqual(
|
|
preloadIframe.hasAttribute("src"),
|
|
false,
|
|
"unloads outside of viewDistance"
|
|
);
|
|
});
|
|
|
|
QUnit.test("Using preloadIframes: true", function (assert) {
|
|
Reveal.configure({ preloadIframes: true });
|
|
|
|
Reveal.slide(1);
|
|
assert.strictEqual(
|
|
defaultIframe.hasAttribute("src"),
|
|
true,
|
|
"preloaded within viewDistance"
|
|
);
|
|
assert.strictEqual(
|
|
preloadIframe.hasAttribute("src"),
|
|
true,
|
|
"preloaded within viewDistance"
|
|
);
|
|
|
|
Reveal.slide(2);
|
|
assert.strictEqual(
|
|
defaultIframe.hasAttribute("src"),
|
|
true,
|
|
"loaded when slide becomes visible"
|
|
);
|
|
assert.strictEqual(
|
|
preloadIframe.hasAttribute("src"),
|
|
true,
|
|
"loaded when slide becomes visible"
|
|
);
|
|
});
|
|
|
|
QUnit.test("Using preloadIframes: false", function (assert) {
|
|
Reveal.configure({ preloadIframes: false });
|
|
|
|
Reveal.slide(0);
|
|
assert.strictEqual(
|
|
defaultIframe.hasAttribute("src"),
|
|
false,
|
|
"not preloaded within viewDistance"
|
|
);
|
|
assert.strictEqual(
|
|
preloadIframe.hasAttribute("src"),
|
|
false,
|
|
"not preloaded within viewDistance"
|
|
);
|
|
|
|
Reveal.slide(2);
|
|
assert.strictEqual(
|
|
defaultIframe.hasAttribute("src"),
|
|
true,
|
|
"loaded when slide becomes visible"
|
|
);
|
|
assert.strictEqual(
|
|
preloadIframe.hasAttribute("src"),
|
|
true,
|
|
"loaded when slide becomes visible"
|
|
);
|
|
});
|
|
});
|
|
</script>
|
|
</body>
|
|
</html>
|