c# - 检查 IE/Chrome/FireFox/Safari 中是否安装了 PDF 查看器插件
问题描述
我正在尝试创建基本上检查是否有任何 PDF 查看器 [Adobe 或任何其他] 安装为浏览器插件的功能。
例如:我有人点击网页中的链接,它会打开 PDF 文件而不是显示下载选项,这意味着浏览器中存在 PDF 查看器插件。
我在互联网上有我的帮助,但没有一个是 C# 代码。
- 其中大多数是 JavaScript 来检查插件
- 其他人在那里检查机器上是否安装了 Adobe PDF 查看器。
解决方案
作为纯 C# 解决方案,我不确定您想在哪里运行它,除非您在服务器端工作,否则您将如何在浏览器上使用 C#?您可以在加载浏览器页面后立即尝试以下操作,如果 asp.net 将详细信息保存到会话变量中,那么您始终可以参考是否安装了插件的天气状态。
你不能尝试几种方法来解决这个问题,第一个也是最简单的方法就是创建一个简单的对象标签
<object width="400" height="400" data="helloworld.pdf">
<p>Browser does not support PDF</p>
</object>
您可以在不同的页面上呈现它,然后查询控件是否出现或浏览器是否显示不支持 PDF消息,也可以隐藏它,呈现它然后检查它。
或者您可以使用NavigatorPlugins,您可以通过它查找是否有任何与 PDF 相关的内容
您可以查看对此SO 答案的参考
推荐阅读
- excel - 如何在特定日期获得比特币的澳元价格
- python - Python Pandas Groupby 计算单列中的唯一记录
- python - 当程序在正确的端口上侦听时,为什么“[Errno 61] Connection refused”,套接字绑定到所有接口?
- javascript - 在 JavaScript 中动态解析 JSON 数组
- proxy - 在 download_localhost 中使用 Kubespray,download_file 错误
- python - Python 3.7+ 规范是否保证 `collections.OrderedDict 不是 dict`?
- php - 如何从 RingCentral SMS 响应中获取 conversationId?
- python - 删除 2D numpy 数组中的重复行,保持第一个实例和排序
- javascript - 音频流未添加到 html 画布
- python-3.x - Elixir Interop:使用长时间运行的数据流 python 进程实例化受监督的通信