12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- // Copyright 2008 The Closure Library Authors. All Rights Reserved.
- //
- // Licensed under the Apache License, Version 2.0 (the "License");
- // you may not use this file except in compliance with the License.
- // You may obtain a copy of the License at
- //
- // http://www.apache.org/licenses/LICENSE-2.0
- //
- // Unless required by applicable law or agreed to in writing, software
- // distributed under the License is distributed on an "AS-IS" BASIS,
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- // See the License for the specific language governing permissions and
- // limitations under the License.
- /**
- * @fileoverview Detects the Adobe Reader PDF browser plugin.
- *
- * @author chrisn@google.com (Chris Nokleberg)
- * @see ../demos/useragent.html
- */
- /** @suppress {extraProvide} */
- goog.provide('goog.userAgent.adobeReader');
- goog.require('goog.string');
- goog.require('goog.userAgent');
- (function() {
- var version = '';
- if (goog.userAgent.IE) {
- var detectOnIe = function(classId) {
- try {
- new ActiveXObject(classId);
- return true;
- } catch (ex) {
- return false;
- }
- };
- if (detectOnIe('AcroPDF.PDF.1')) {
- version = '7';
- } else if (detectOnIe('PDF.PdfCtrl.6')) {
- version = '6';
- }
- // TODO(chrisn): Add detection for previous versions if anyone needs them.
- } else {
- if (navigator.mimeTypes && navigator.mimeTypes.length > 0) {
- var mimeType = navigator.mimeTypes['application/pdf'];
- if (mimeType && mimeType.enabledPlugin) {
- var description = mimeType.enabledPlugin.description;
- if (description && description.indexOf('Adobe') != -1) {
- // Newer plugins do not include the version in the description, so we
- // default to 7.
- version = description.indexOf('Version') != -1 ?
- description.split('Version')[1] :
- '7';
- }
- }
- }
- }
- /**
- * Whether we detect the user has the Adobe Reader browser plugin installed.
- * @type {boolean}
- */
- goog.userAgent.adobeReader.HAS_READER = !!version;
- /**
- * The version of the installed Adobe Reader plugin. Versions after 7
- * will all be reported as '7'.
- * @type {string}
- */
- goog.userAgent.adobeReader.VERSION = version;
- /**
- * On certain combinations of platform/browser/plugin, a print dialog
- * can be shown for PDF files without a download dialog or making the
- * PDF visible to the user, by loading the PDF into a hidden iframe.
- *
- * Currently this variable is true if Adobe Reader version 6 or later
- * is detected on Windows.
- *
- * @type {boolean}
- */
- goog.userAgent.adobeReader.SILENT_PRINT =
- goog.userAgent.WINDOWS && goog.string.compareVersions(version, '6') >= 0;
- })();
|