function hasOfficePlugin() {
var toCheckExt = ['', '12', '13', '14', '15'], i, n, mt;
for (i = 0, n = toCheckExt.length; i < n; i++) {
mt = navigator.mimeTypes['application/x-msoffice' + toCheckExt[i]];
if (mt && mt.enabledPlugin && mt.enabledPlugin.name) {
return true;
}
}
return false;
}
Я протестировал вышеописанное с Office 11 (2003) и Office 12 (2007), и, похоже, он хорошо работает в Firefox, Safari, Chrome и Opera. Хотя это не работает в IE, потому что объекты navigator.mimeTypes в IE всегда пусты.
Проверяется наличие плагина MS Office. Я не очень разбираюсь в этом плагине - вполне возможно, что он не всегда устанавливается вместе с офисом ... Но я думаю, что если вышеприведенное возвращает true, это довольно сильный сигнал, что Excel установлен. Конечно, это, вероятно, ограниченное использование, так как он не работает в IE, но, возможно, вы можете что-то с этим сделать ...