使用Javascript检测Quicktime插件

时间:2015-08-01 00:50:50

标签: quicktime

是否可以使用Javascript检测浏览器的Quicktime插件是否存在?

我知道如何使用Javascript测试Quicktime,但不是没有。

我的逻辑说用户可以启用/禁用Javascript,并且每个浏览器的程序员都会确定Quicktime插件的存在。因此,每个人都应该有一个独立的统计数据......即使对于内置Quicktime的Apple的iOS也是如此。

谢谢,

1 个答案:

答案 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消息,反之亦然。