Как осуществить подключение в данном случае, и доступ к контенту этого скрипта?

Утрированно реализовал свою задачу ! Есть пять файлов :
1.html :

<a href="2.html?numb:1">PAGE 1</a>
<a href="2.html?numb:2">PAGE 2</a>

в этом файле две ссылки, которые перенаправляют на одну страницу, разница между ними лишь в параметрах, которые передаются при загрузки этой ('2.html') страницы.
2.html :

appendScript() ;

function appendScript(){

    let scriptName = parseURL(),
        scriptObj = document.createElement('script') ;

    scriptObj.setAttribute('src', scriptName + '.js') ;

    document.head.appendChild( scriptObj ) ;

};

function parseURL(){

    let url = location.href ;
        params = '' ;

    url.split('/')
       .forEach(function(urlPath){
            if(urlPath.indexOf('?')!==-1){
                params = urlPath ;
            } ;
       }) ;


    let res = params.slice( params.indexOf('?') + 1 )  ;

    return res.split(':')[1] ;

};

На данной страничке подключен простой скрипт (в данном случае он упрощён, для примера) который парсит УРЛ, выдёргивает параметр, и в соответствии с этим подключает нужный мне скрипт в тэг хэд на страницу 2.html, на этой же страничке (2.хтмл) после парсинга урла, и подключения скрипта, подключен внешний скрипт executionScript.js, который в данном упрощённом варианте делает всего лишь :

console.log( JSON.stringify( THIS_IS_WHAT_I_NEED_TO_WATCH,null,3)) ;


а именно просто выводит сообщение в консоль с содержимым объекта THIS_IS_WHAT_I_NEED_TO_WATCH, который содержится в одном из js файлов подключаемых к страничке 2.хтмл!
Суть данного вопроса такова, мне нужно получить контент динамически, Но получается, что скрипт, который я подключаю к страничке 2.html , точнее его содержимое не видно файлу executionScript.js, поэтому при выполнении этого файла я получаю ошибку, данная проблема в целом легко устраняется с помощью асинхронной загрузки содержимого файла executionScript.js, например :

hackTimeout( printJson ) ;

function printJson(){
    console.log( JSON.stringify( THIS_IS_WHAT_I_NEED_TO_WATCH ,null,3)) ;
} ;

function hackTimeout( fn ){
    setTimeout( fn, 40 ) ;
} ;

Но имхо даже я спустя время прочитая этот код бы запутался, что к чему , и зачем, к тому-же разумеется что модель, представленная мною утрированна, в реальности файлы выполняют гораздо больше действий, но суть от этого не меняется, в общем, если у кого-то есть мысли по этому поводу, грамотной реализации, буду рад услышать ! Разумеется из тех, кому не лень было дочитывать до конца, спасибо! p.s.: данное приложение полностью оффлайновое, без бэкэнда,аякс запросов и т. д., и вариант с scriptObj.async = true; я уже пробовал, всё равно не работает!


Ответы (0 шт):