Visualizzazione dei risultati da 1 a 10 su 10

Visualizzazione discussione

  1. #8
    Utente di HTML.it
    Registrato dal
    Dec 2013
    Messaggi
    160
    Purtroppo uso js una volta ogni tre anni (solo per qualche esigenza particolare) e mi dispiace perchè non sono per nulla pratico.
    Il debug passo passo non ho idea di come si faccia, e con quali strumenti, non lo so

    Se può aiutare

    codice:
    $ cat window-resources.js 
    function open_window_resources() {
        setTimeout(() => {
            console.log('aaa')
        }, 0);
        const searchParams = new URLSearchParams(window.location.search);
    
    
        var script = document.createElement("script");
        var
            day = searchParams.has('day') ? searchParams.get('day') : new Date().getDate(),
            day2Digits = String(day).padStart(2, "0")
        ;
    
    
        script.src = "resources/" + searchParams.get("config_filename") + ".js";
        script.type = "text/javascript";
        script.async = false;
    
    
        document.head.appendChild(script);
        setTimeout(() => {
            console.log('ccc')
        }, 0);
    
    
        url_templates.forEach(
            function (template) {
                var url = template
                    .replace("%1", day)
                    .replace("%2", day2Digits)
                ;
    
    
                window.open(url);
            }
        );
    }
    
    
    $ cat resources/example.js 
    var url_templates = new Array(
        "URL1",
        "URL2",
        "URL3",
    );
    setTimeout(() => {
        console.log('bbb')
    }, 0);

    In console


    codice:
    Uncaught ReferenceError: url_templates is not defined
        at open_window_resources (window-resources.js:22:5)
        at onload (index.html?config_filename=example:5:40)
    open_window_resources @ window-resources.js:22
    onload @ index.html?config_filename=example:5
    window-resources.js:3 aaa
    window-resources.js:19 ccc
    example.js:7 bbb
    Da cui intuisco che ccc viene eseguito prima di bbb
    Perchè?

    A mio avviso, la cosa non può funzionare così, perché quando tu crei l'elemento dello script all'interno della funzione start(), la funzione termina prima che il browser passi ad eseguire ciò che c'è all'interno dello script.
    Perchè?

    Non si può spezzare una funzione *non* asincrona in due parti.

    Il tuo log di "xxx" arriva evidentemente prima dell'esecuzione dello script config.js.
    Perchè?
    Ultima modifica di astros3; 01-10-2024 a 13:40

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.