Joe*_*etR 5 javascript browser flash jquery
首先,抱歉在这里重新提出这个问题.我已经尝试了两天如何使用javascript/jquery来完成这项工作,我想我已经阅读了所有堆栈溢出和其他博客相关的帖子,所以请不要将其标记为重复,因为我无法使用从2012年到2017年的过时脚本.
我有一个页面重定向到第三方电子学习平台,其中一些内容需要闪存才能工作.许多用户不关心他们的机器上安装了哪些软件(多么新的,呵呵)所以我需要检测它并显示典型消息"请安装/更新flash player点击这里",但我找不到"现代"脚本/方式,在任何地方,如果可能的话,简化.
我尝试过的所有脚本都已弃用,或者在所有浏览器中都返回false,即使我安装了最新版本的Flash并处于活动状态.
Anny帮助将不胜感激(除了链接到现在不起作用的旧帖子或脚本,显然).
非常感谢!
有一种检查Flash的简单方法,因为所有已安装和启用的插件都将列在navigator.plugins;
请注意,如果已安装但未启用插件,则不会在navigator.plugins阵列中检测到该插件。有否方法来检测这种使用Javascript(这个问题这证实了相同的)。
话虽如此,使用以下功能isFlashEnabled();检测Flash:
<html>
<script>
if(isFlashEnabled())
{ document.write('Flash is installed (but may need to be enabled)'); }
else { document.write('Flash is either not installed or disabled'); }
function isFlashEnabled()
{
var flash = navigator.plugins.namedItem('Shockwave Flash');
if (!flash) { return 0; }
else { return 1; }
}
</script>
<body> <embed src="https://www.w3schools.com/tags/helloworld.swf"> </body>
</html>
Run Code Online (Sandbox Code Playgroud)
您可以获得一个包含浏览器所有已安装插件的数组,如下所示:
var plugins = navigator.plugins;
Run Code Online (Sandbox Code Playgroud)
然后您可以检查该数组是否包含 flash 插件。
来自https://developer.mozilla.org/de/docs/Web/API/NavigatorPlugins/plugins:
function getFlashVersion() {
var flash = navigator.plugins.namedItem('Shockwave Flash');
if (typeof flash != 'object') {
// flash is not present
return undefined;
}
if(flash.version){
return flash.version;
} else {
//No version property (e.g. in Chrome)
return flash.description.replace(/Shockwave Flash /,"");
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3841 次 |
| 最近记录: |