Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I detect if quicktime is installed with javascript?

I want to play a sound notification, so I used the method described here: Cross-platform, cross-browser way to play sound from Javascript? However, when quicktime is not installed on the client machine, everytime the soundPlay function is called, a windows popup shows up. It says that quicktime is not installed, and proposes to install it.

For user experience, I would like not to bother users without quicktime like this:

function hasQuickTime() {
  // how do I know ?
}

// play sound only if quickTime is installed
if (hasQuickTime()) {
  soundPlay();
}
like image 703
Benjamin Crouzier Avatar asked Oct 12 '11 18:10

Benjamin Crouzier


1 Answers

See Apple's JavaScript Scripting Guide: Detecting QuickTime with JavaScript

var haveqt = false;

if (navigator.plugins) {
    for (i=0; i < navigator.plugins.length; i++ ) {
        if (navigator.plugins[i].name.indexOf
        ("QuickTime") >= 0)
        { haveqt = true; }
    }
}

if ((navigator.appVersion.indexOf("Mac") > 0)
    && (navigator.appName.substring(0,9) == "Microsoft")
    && (parseInt(navigator.appVersion) < 5) )
{ haveqt = true; }

You can test the variable haveqt for the presence of QuickTime.

like image 138
Martin Buberl Avatar answered Oct 19 '22 23:10

Martin Buberl