2013-07-17 3 views
2

Мне нужно знать, установлен ли MS Office 2013 на пользовательской машине, чтобы использовать специальный способ открытия офисных документов для редактирования с веб-сайта.Как определить установленную версию MS Office в javascript?

Возможно, существуют некоторые плагины/activex для Office 2013?

Я пытался выяснить, как Sharepoint делает эту задачу, но это слишком сложно:

this.IsProtocolHandlerEnabled = function(d) { 
     if (IsStrNullOrEmpty(d)) 
      return false; 
     if (b[d] != null) 
      return b[d]; 
     if (c) 
      return a; 
     ... 

«а» равно ИСТИНА, если офис 2013 доступен и «ложь» в противном случае, но я не могу найти где переменная 'a' была изменена.

+0

Видать минимизированы, 'a' может быть установлен истинный где-нибудь в качестве глобального. – travis

+0

Возможный дубликат [обнаружение версии Office для Microsoft Office с использованием javascript] (http://stackoverflow.com/questions/1700150/detect-microsoft-office-version-using-javascript) –

+0

@Adriano: эта ссылка не дает ответа, просто отрицание и IE-only stuff ... – dandavis

ответ

7

этот метод работал для меня в хром, вы, возможно, придется немого вниз итерации для старых экземпляров IE:

var has2013=([].slice.call(navigator.plugins) 
    .filter(function(a){return a.name.match("Microsoft Office")})[0].name||"") 
    .match(2013)||false; 

alert(has2013); 
+0

+1 Хороший дандавис, я не знал об этом! –

+0

большое спасибо! – Sean

Смежные вопросы