It seems there is no way to have scripts run after everything else. Normally I’d use window.onload or similar things, but all that’s been and gone by the time any script is run anyway. So I tried defer. Normally defer means that script will run after non-defer scripts. That would be useful, but the defer attribute isn’t heeded by the engine, currently.

https://perchance.org/085unhhfqe#edit

For now I’m going to try using a [code block] just to have it run later. But obviously that won’t be sufficient for all situations. So it still would be useful to have some callback or addEventListener thingy to use to run code after perchance has done everything it does.

  • @wthit56OP
    link
    English
    13 months ago

    Oooooh, okay. Honestly, while I’ve been in web dev a while, I’ve never really needed or used defer, so never really looked into it properly; I just know it exists. That’s an annoying caveat isn’t it? 😅

    I thought I’d tried onload–that was the first thing I tried–but it didn’t work. I’ll try these things again and nail down exactly what does and doesn’t work for myself.

    • @perchanceM
      link
      English
      1
      edit-2
      3 months ago

      I thought I’d tried onload

      Yep you’re not imagining it - by “Thanks! Fixed” I meant that I fixed both defer and the window load event. DOMContentLoaded was the only thing that was working properly before this bug report.

      • @wthit56OP
        link
        English
        13 months ago

        Ah okay great 👍

      • @wthit56OP
        link
        English
        13 months ago

        Can confirm, the load even works for me now 👍

        • @perchanceM
          link
          English
          1
          edit-2
          3 months ago

          Seems to be working fine for me in both cases - i.e. I see “loaded” alert when I load the page with and without #edit at the end of the URL. Can you give more details? I’ve tested in Chrome and Firefox.

          • @wthit56OP
            link
            English
            13 months ago

            I’m on Chrome. 126.0.6478.214 (Official Build) (64-bit)

            For me, it only alerts when I click Reload or click Auto. Doesn’t alert when I open the editing page. Doesn’t alert when I go to the main page. https://imgur.com/a/jEv8ZS5

            • @perchanceM
              link
              English
              1
              edit-2
              3 months ago

              Hmm, I’m not sure what’s going on there. Can’t seem to replicate. Which OS? I tested on Ubuntu, Windows, and an old Chromebook.

              Can you try swapping it for a console.log instead of alert? I figure there’s a small chance that it’s a ‘user agent intervention’ where it hides the alert due to it seeming like a spammy thing.

              • @wthit56OP
                link
                English
                13 months ago

                Chromebook. Same issue for console.log(). And debugger.

                I guess you’re manually running it somehow?

                • @perchanceM
                  link
                  English
                  13 months ago

                  Same issue for console.log(). And debugger.

                  Hmm, okay, thanks for bearing with me on this - can you try again now? I think I may have fixed it. If not, can you try logging document.readyState == 'complete' above your addEventListener call and tell me what it says?

                  • @wthit56OP
                    link
                    English
                    23 months ago

                    Okay it all seems to work now. Maybe the change didn’t make it to my browser or something but it’s all good now 👍