1
0
Эх сурвалжийг харах

prevent iframes from auto-focusing and disabling keyboard nav, controllable via preventIframeAutoFocus

Hakim El Hattab 1 долоо хоног өмнө
parent
commit
c9d6785df2

Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
dist/reveal.esm.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
dist/reveal.esm.js.map


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
dist/reveal.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
dist/reveal.js.map


+ 3 - 0
js/config.js

@@ -168,6 +168,9 @@ export default {
 	// - false:  All iframes with data-src will be loaded only when visible
 	preloadIframes: null,
 
+	// Prevent embedded iframes from automatically focusing on themselves
+	preventIframeAutoFocus: true,
+
 	// Can be used to globally disable auto-animation
 	autoAnimate: true,
 

+ 18 - 0
js/controllers/slidecontent.js

@@ -468,6 +468,24 @@ export default class SlideContent {
 
 		let iframe = event.target;
 
+		if( this.Reveal.getConfig().preventIframeAutoFocus ) {
+
+			let elapsed = 0;
+			const interval = 100;
+			const maxTime = 1000;
+			const checkFocus = () => {
+				if( document.activeElement === iframe ) {
+					document.activeElement.blur();
+				} else if( elapsed < maxTime ) {
+					elapsed += interval;
+					setTimeout( checkFocus, interval );
+				}
+			};
+
+			setTimeout( checkFocus, interval );
+
+		}
+
 		if( iframe && iframe.contentWindow ) {
 
 			let isAttachedToDOM = !!closest( event.target, 'html' ),

Энэ ялгаанд хэт олон файл өөрчлөгдсөн тул зарим файлыг харуулаагүй болно