簡體   English   中英

檢查客戶端計算機上是否安裝了Adobe Reader

[英]Check if adobe reader is installed on client machine

目前我正在開發一個網頁,告訴用戶客戶機上的某些配置。 除此之外,還需要檢測客戶端計算機上是否安裝了Adobe Reader。 我正在使用ASP.NET/C#。

我查看了以下網址以獲取答案“ 檢查Adobe Reader是否已安裝(C#)? ”但代碼查看服務器注冊表是否安裝了IIS,而不是運行瀏覽器的客戶端計算機。

是否可以檢測客戶端計算機上是否安裝了Adobe Reader,而不是托管該網站的服務器?

請檢查下面的腳本,它在IE,FireFox和Chrome中都適合我

<html>
<body>
<script type="text/javascript">
var found = false;
var info = '';

try 
{    
    acrobat4 = new ActiveXObject('PDF.PdfCtrl.1');    
    if (acrobat4) 
    {      
        found = true;      
        info = 'v. 4.0';    
    }  
}  
catch (e) 
{
    //???
}

if (!found)
{
    try 
    {
        acrobat7 = new ActiveXObject('AcroPDF.PDF.1');
        if (acrobat7) 
        {
            found = true;
            info = 'v. 7+';
        }
    } 
    catch (e) 
    {
        //???
    }

    if (!found && navigator.plugins && navigator.plugins.length>0)
    {
        for (var i = 0; i<navigator.plugins.length; i++) 
        {                           
            if (navigator.plugins[i].name.indexOf('Adobe Acrobat') > -1)
            {
                found = true; 
                info = navigator.plugins[i].description + ' (' + navigator.plugins[i].filename + ')';
                break;
            }
        }
    }
}

document.write("Acrobat Reader Installed : " + found);
document.write("<br />");
if (found) document.write("Info : " + info);
</script>
</body>
</html>

希望這有幫助,問候

我使用這個腳本並在就緒函數上調用它:注意:我在這里使用警報只是為了知道如何使用它。

 <script type="text/javascript">
     $(document).ready(function () {
         alert(getAcrobatInfo().browser);
         alert(getAcrobatInfo().acrobat === "installed");
         alert(getAcrobatInfo().acrobatVersion);
     });


     var getAcrobatInfo = function () {

         var getBrowserName = function () {
             return '<%=Session["browser"].ToString()%>';
         };

         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' || getBrowserName().toLocaleLowerCase() == 'internetexplorer') {
                     //
                     // 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') || getWebKitPlugin();
                 }
             }();
         };
         var getWebKitPlugin = function () {
             for (var key in navigator.plugins) {
                 var plugin = navigator.plugins[key];
                 if (plugin.name && plugin.name.substring(0, 6) == "WebKit" && (plugin.name.indexOf("pdf") != -1 || plugin.name.indexOf("PDF") != -1)) return plugin;
             }
         };
         var isAcrobatInstalled = function () {
             return !!getPDFPlugin();
         };
         var getAcrobatVersion = function () {
             try {
                 var plugin = getPDFPlugin();

                 if (getBrowserName() == 'ie' || getBrowserName().toLocaleLowerCase() == 'internetexplorer') {
                     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()
         };
     };
</script>

還要添加此代碼:

  public void detectBrowser()
     { //Set the Browser session variable
       System.Web.HttpBrowserCapabilities browser = Request.Browser;
       Session["Browser"] = browser.Browser;
    }

希望能幫助到你。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM