是否可以使用Javascript检测浏览器的Quicktime插件是否存在?
我知道如何使用Javascript测试Quicktime,但不是没有。
我的逻辑说用户可以启用/禁用Javascript,并且每个浏览器的程序员都会确定Quicktime插件的存在。因此,每个人都应该有一个独立的统计数据......即使对于内置Quicktime的Apple的iOS也是如此。
谢谢,
答案 0 :(得分:0)
我真的扔掉了我的问题。但是,我觉得有些人可能会好奇为什么......
老实说,我不知道是否可以通过使用Javascript来检测浏览器的Quicktime插件的存在。我知道,例如,Quicktime内置于Apple当前的操作系统中,可能还有许多以前的操作系统。
尽管如此,我还是遇到了“ 渐进式增强 ”这一表达方式。直接的结果是,我发现了其他人的作品,这些作品使我可以使用Javascript检测Quicktime。
以下说明了我的意思:
回程时的驱动力是避免在.mp3,.m4a等媒体播放器的显示中document.write
。
新方法将媒体播放器,no-js消息和no-qt消息放在html标记中。
默认情况是在 html标记中仅显示no-js消息。使用“ 渐进增强 ”范例,如果启用了Javascript,则使用Javascript首先隐藏no-js消息。根据Quicktime的存在,我们然后显示媒体播放器并隐藏no-qt消息,反之亦然。因此,如果出现Quicktime,我们会从关于没有Javascript的“vanilla”短信发展到显示媒体播放器。
例如,我的 html标记显示:
<section class="mediaWrapper">
<div class="mediaplayer">
<audio name="aMedia" class="aMedia" controls preload="auto"
src="audio/My Love Song Forever.mp3">
</div>
<div class="nojs">
Turn on Javascript to hear an awesome Love Song
</div>
<div class="noqt">
<a href="http://www.apple.com/quicktime/download/"
title="Get Quicktime"
onclick="window.open(this.href); return false">
Install Quicktime
</a>
to hear an awesome Love Song
</div>
</section> <!-- mediaWrapper -->
在我的<head>
中<style>
:
/* default settings for the html markup */
.mediaWrapper {
display: block;
position: relative;
text-align: center;
}
.mediaplayer {
display: none;
}
.nojs {
display: block;
font-size: 110%; /* for the no-js alert text */
color: #360;
font-weight: bold;
/*
text-align: center; // inherited from .mediaWrapper
*/
}
.noqt {
display: none;
font-size: 110%; /* for the no-qt alert text */
color: #360;
font-weight: bold;
/*
text-align: center; // inherited from .mediaWrapper
*/
}
同样位于<head>
的是此<script>
:
$(document).ready (function() {
$('.nojs').hide(); // we're here, already!
if (QuicktimeIsPresent)
{
$('.mediaplayer').show();
$('.noqt').hide();
}
else
{
$('.mediaplayer').hide();
$('.noqt').show();
}
}); // $(document).ready
如上所述, html标记(通过上面的 <style>
)只显示了vanilla no-js消息。通过 渐进增强 ,如果启用了Javascript,则会看到上面的<script>
。因此,Javascript用于首先隐藏no-js消息。根据Quicktime的存在,我们会显示媒体播放器并隐藏no-qt消息,反之亦然。