首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果Adobe未安装,如何显示消息?

如果Adobe未安装,如何显示消息?
EN

Stack Overflow用户
提问于 2014-02-05 16:43:22
回答 1查看 846关注 0票数 0

我在我的页面上嵌入了PDF,为此,我使用"<iFrame>“调用了一个包含<Object>标记的<embed>页面,其中有一个嵌入PDF的<embed>标记和一个

标记,如果没有安装Adobe,则该标记将显示。

在火狐、Chrome和IE 11上,如果安装了PDF阅读器,它只会显示PDF,但是当没有读取器时,它会显示<p>标签“安装Adobe”中的信息。

我的问题是:- <p>中的,即使安装了Adobe,它也会在标记中显示消息“installed”。如果安装了Adobe,请建议如何隐藏消息,如果没有安装读取器,则消息应该显示。

这是我的代码:

调用PDF页面的Iframe代码:

代码语言:javascript
复制
            <div id="pdf">

            <iframe id="pdfIframe" name="pdfIframe" src="pdfView.html" style="width: 100%; height: 100%;" scrolling="auto" frameborder="1">
                Your browser doesn't support inline frames.
            </iframe>
        </div>

PDF页面代码:

代码语言:javascript
复制
<body>
<style>
    html, body, #blankPane {
        height: 100%;
        margin: 0;
        padding: 0;
    }

        #blankPane p {
            font-weight: bold;
            line-height: 30px;
            height: auto;
            width: 98%;
            margin: 0 auto;
            color: #bc0000;
        }

        #blankPane * {
            width: 100%;
            height: 100%;
            margin: 0;
            padding: 0;
        }
</style>

<div id="blankPane" class="overflowHidden">

    <object data="lorem.pdf" type="application/pdf">
        <p>
            It appears you don't have Adobe Reader or PDF support in this web browser.
            <br />
            <a href="lorem.pdf">Click here to download the PDF</a> OR <a href="http://get.adobe.com/reader/" target="_blank">Click here to install Adobe Reader</a>
        </p>
        <embed id="pdfDocument" src="lorem.pdf" type="application/pdf" />
    </object>
</div>

请建议!

EN

回答 1

Stack Overflow用户

发布于 2014-02-06 02:02:20

您可以检测安装有以下javascript的Acrobat版本,或者如果不喜欢使用Acrobat,则可以使用FlexPaper显示文档

代码语言:javascript
复制
var getAcrobatInfo = function() {

  var getBrowserName = function() {
    return this.name = this.name || function() {
      var userAgent = navigator ? navigator.userAgent.toLowerCase() : "other";

      if(userAgent.indexOf("chrome") > -1)        return "chrome";
      else if(userAgent.indexOf("safari") > -1)   return "safari";
      else if(userAgent.indexOf("msie") > -1)     return "ie";
      else if(userAgent.indexOf("firefox") > -1)  return "firefox";
      return userAgent;
    }();
  };

  var getActiveXObject = function(name) {
    try { return new ActiveXObject(name); } catch(e) {}
  };

  var getNavigatorPlugin = function(name) {
    for(key in navigator.plugins) {
      var plugin = navigator.plugins[key];
      if(plugin.name == name) return plugin;
    }
  };

  var getPDFPlugin = function() {
    return this.plugin = this.plugin || function() {
      if(getBrowserName() == 'ie') {
        //
        // load the activeX control
        // AcroPDF.PDF is used by version 7 and later
        // PDF.PdfCtrl is used by version 6 and earlier
        return getActiveXObject('AcroPDF.PDF') || getActiveXObject('PDF.PdfCtrl');
      }
      else {
        return getNavigatorPlugin('Adobe Acrobat') || getNavigatorPlugin('Chrome PDF Viewer') || getNavigatorPlugin('WebKit built-in PDF');
      }
    }();
  };

  var isAcrobatInstalled = function() {
    return !!getPDFPlugin();
  };

  var getAcrobatVersion = function() {
    try {
      var plugin = getPDFPlugin();

      if(getBrowserName() == 'ie') {
        var versions = plugin.GetVersions().split(',');
        var latest   = versions[0].split('=');
        return parseFloat(latest[1]);
      }

      if(plugin.version) return parseInt(plugin.version);
      return plugin.name

    }
    catch(e) {
      return null;
    }
  }

  //
  // The returned object
  // 
  return {
    browser:        getBrowserName(),
    acrobat:        isAcrobatInstalled() ? 'installed' : false,
    acrobatVersion: getAcrobatVersion()
  };
};

如何调用这些函数的示例:

代码语言:javascript
复制
var info = getAcrobatInfo();
alert(info.browser+ " " + info.acrobat + " " + info.acrobatVersion);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21583199

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档