@@ -5,7 +5,6 @@ const debug = require('debug-logfmt')('metascraper:find-rule')
55const condenseWhitespace = require ( 'condense-whitespace' )
66const { getExtension : mimeExtension } = require ( 'mime' )
77const capitalize = require ( 'microsoft-capitalize' )
8- const { JSDOM , VirtualConsole } = require ( 'jsdom' )
98const isRelativeUrl = require ( 'is-relative-url' )
109const fileExtension = require ( 'file-extension' )
1110const _normalizeUrl = require ( 'normalize-url' )
@@ -466,40 +465,6 @@ const composeRule =
466465const has = value =>
467466 value !== undefined && ! Number . isNaN ( value ) && hasValues ( value )
468467
469- const loadIframe = ( url , $ , { timeout = 5000 } = { } ) =>
470- new Promise ( resolve => {
471- const dom = new JSDOM ( $ . html ( ) , {
472- url,
473- virtualConsole : new VirtualConsole ( ) ,
474- runScripts : 'dangerously' ,
475- resources : 'usable'
476- } )
477-
478- const done = ( html = '' ) => resolve ( $ . load ( html ) )
479-
480- const listen = ( element , method , fn ) =>
481- element [ `${ method } EventListener` ] ( 'load' , fn , {
482- capture : true ,
483- once : true ,
484- passive : true
485- } )
486-
487- const iframe = dom . window . document . querySelector ( 'iframe' )
488- if ( ! iframe ) return done ( )
489-
490- const timer = setTimeout ( ( ) => {
491- listen ( iframe , 'remove' , load )
492- done ( )
493- } , timeout )
494-
495- function load ( ) {
496- clearTimeout ( timer )
497- done ( iframe . contentDocument . documentElement . outerHTML )
498- }
499-
500- listen ( iframe , 'add' , load )
501- } )
502-
503468const getUrls = input => String ( input ) . match ( urlRegexForMatch ) ?? [ ]
504469
505470module . exports = {
@@ -536,7 +501,7 @@ module.exports = {
536501 iso6393,
537502 jsonld,
538503 lang,
539- loadIframe,
504+ loadIframe : require ( './load-iframe' ) ,
540505 logo,
541506 memoizeOne,
542507 mimeExtension,
0 commit comments