C# 检查客户端计算机上是否安装了adobe reader
目前我正在开发一个网页,它将告诉用户客户端机器上的某些配置。除此之外,还需要检测客户端计算机上是否安装了Adobe Reader。我正在使用ASP.NET/C 我已经在下面的url中找到了答案 “”但代码将查找安装IIS的服务器注册表实体,而不是运行浏览器的客户端计算机C# 检查客户端计算机上是否安装了adobe reader,c#,asp.net,adobe-reader,C#,Asp.net,Adobe Reader,目前我正在开发一个网页,它将告诉用户客户端机器上的某些配置。除此之外,还需要检测客户端计算机上是否安装了Adobe Reader。我正在使用ASP.NET/C 我已经在下面的url中找到了答案 “”但代码将查找安装IIS的服务器注册表实体,而不是运行浏览器的客户端计算机 是否可以检测到Adobe reader是否安装在客户端计算机上,而不是网站所在的服务器上?请检查下面的脚本,它在IE、FireFox和Chrome中运行良好 <html> <body> <scrip
是否可以检测到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>
var=false;
var信息=“”;
尝试
{
acrobat4=新的ActiveXObject('PDF.PdfCtrl.1');
如果(4)
{
发现=真;
信息='第4.0节';
}
}
捕获(e)
{
//???
}
如果(!找到)
{
尝试
{
acrobat7=新的ActiveXObject('AcroPDF.PDF.1');
如果(7)
{
发现=真;
信息='第7节+';
}
}
捕获(e)
{
//???
}
如果(!found&&navigator.plugins&&navigator.plugins.length>0)
{
对于(变量i=0;i-1)
{
发现=真;
info=navigator.plugins[i].description+'('+navigator.plugins[i].filename+');
打破
}
}
}
}
document.write(“Acrobat Reader已安装:“+已找到”);
文件。写(“
”);
如果(找到)文档,则写入(“信息:+Info”);
希望这有帮助,我使用了这个脚本并在ready函数中调用了它: 注意:我使用这里的提醒只是为了知道如何使用它
<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>
希望能有帮助 如果安装的adobe reader是最新的,或者有新的更新可用,是否有办法签入asp.net代码?
public void detectBrowser()
{ //Set the Browser session variable
System.Web.HttpBrowserCapabilities browser = Request.Browser;
Session["Browser"] = browser.Browser;
}