The try-catch is also for the createElement call. Although that likely shouldnt matter if your check is there.

I also seem to recall that Safari doesnt expose document.body until the page has finished downloading (i.e. scripts in the `head` tag that use it are broken)