“google is undefined”

2019-08-22 08:28发布

问题:

I'm using Gears which works well in FF3 and Safari; IE6/7 both report a "google is undefined" error on page load, appearing in gears_init.js. A quick web search showed that Javascripts by Google are actually causing problems in IE7. Does anybody have an idea for a workaround?

回答1:

This is probably because IE6/7 don't have gears installed. That means the google related code won't be available.

You probably just want to do something like:

if ( !window.google ) {
    alert("please install google gears");
}
else {
    // gears is available
}

Though in reality you'd want to do something a bit nicer than showing an alert to tell the user to download gears.



回答2:

I am using IE8 and I am writing following code, that works fine in Mozilla Firefox but can't working in IE8

if (!window.google || !google.gears) {
        if (confirm("This application requires Gears to be installed. Install now?")) {
            location.href = "http://code.google.com/apis/gears/install.html"
            return;
        } else {
            addStatus('Gears is not installed', 'error');
            return;
        }
}

The first condition !window.google is working fine but second condition !google.gears didn't work for IE8, said google is undefined