Skip to content

Rendering to fast? #226

Description

@ThorvaldAagaard

Bug Report

It looks like the code is executed to fast, when running in a browser, so when the show-function is called, then document.body is still null, thus giving a javascript error

Problem

No splashscreen

What is expected to happen?

Splashscreen should be shown in browser

What does actually happen?

document.body.appendChild(localSplash); returns exception as document.body is still null

Information

Just waiting 200 ms before appending the splashscreen, like this

        window.setTimeout(function () {
            if (document.body) {
                document.body.appendChild(localSplash);
            }
        }, 200);

seems to fix the problem

Another idea might also be to make the hide more robust by adding a check before removing the child like this

        window.setTimeout(function () {
            console.log("Removing splash: " + innerLocalSplash);
            if (innerLocalSplash && innerLocalSplash.parentNode == document.body) {
                document.body.removeChild(innerLocalSplash);
            }
            innerLocalSplash = null;
        }, 1000);

Command or Code

Requires a fast computer, and I have seen it on the latest version of Chrome

Environment, Platform, Device

Chrome

Version information

Using cordova-plugin-splashscreen 5.0.3

Checklist

  • I searched for existing GitHub issues
  • I updated all Cordova tooling to most recent version
  • I included all the necessary information above

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions