JS地毯式学习三

1.

插件是一类特殊的程序 。 他可以扩展浏览器的功能 , 通过下载安装完成 。 比如 , 在线音
乐、视频动画等等插件。

// 检测非 IE 浏览器插件是否存在
function hasPlugin(name) {
var name = name.toLowerCase();
for (var i = 0; i < navigator.plugins.length; i ++) {
if (navigator.plugins[i].name.toLowerCase().indexOf(name) > -1) {
return true;
}
}
return false;
}
alert(hasPlugin(‘Flash‘)); // 检测 Flash 是否存在

IE 浏览器没有插件 , 但提供了 ActiveX 控件 。 ActiveX 控件一种在 Web 页面中嵌入对象
或组件的方法。

由于在 JS 中,我们无法把所有已安装的 ActiveX 控件遍历出来,但我们还是可以去验
证是否安装了此控件。

// 检测 IE 中的控件

function hasIEPlugin(name) {
try {
new ActiveXObject(name);
return true;
} catch (e) {
return false;
}
}
// 检测 Flash
alert(hasIEPlugin(‘ShockwaveFlash.ShockwaveFlash‘));
PS : ShockwaveFlash.ShockwaveFlash 是 IE 中代表 FLASH 的标识符,你需要检查哪种
件,必须先获取它的标识符。

PS : ShockwaveFlash.ShockwaveFlash 是 IE 中代表 FLASH 的标识符,你需要检查哪种
控件,必须先获取它的标识符。
// 跨浏览器检测是否支持 Flash
function hasFlash() {
var result = hasPlugin(‘Flash‘);
if (!result) {
result = hasIEPlugin(‘ShockwaveFlash.ShockwaveFlash‘);
}
return result;
}
// 检测 Flash
alert(hasFlash());

JS地毯式学习三

时间: 2024-10-24 21:16:10

JS地毯式学习三的相关文章

JS地毯式学习四

1  窗口的位置 用来确定和修改 window 对象位置的属性和方法有很多. IE . Safari . Opera 和 Chrome都提供了 screenLeft 和 screenTop 属性,分别用于表示窗口相对于屏幕左边和上边的位置 .Firefox 则在 screenX 和 screenY 属性中提供相同的窗口位置信息, Safari 和 Chrome 也同时支持这两个属性. // 跨浏览器的方法var leftX = (typeof screenLeft == 'number') ?

JS地毯式学习一

1.<noscript> 现代浏览器都对JavaScript进行了支持,一般是在用户的浏览器禁用了脚本的情况下才会显示<noscript>的内容. 包含在<noscript>元素中的内容只有在下列情况下才会显示出来: 浏览器不支持脚本: 浏览器支持脚本,但脚本被禁用. 2. Object 类型 创建 Object 类型有两种.一种是使用 new 运算符,一种是字面量表示法. 两种属性输出方式alert(box.age);alert(box['age']); 3.Arra

JS地毯式学习二

1.递归算法 a. function box(num){if(num<=1){ return 1;}else{ return num*box(num-1);}}alert(box(5)); b.函数内部调用它本身 ,可以用arguments.callee替代它函数名box: 这样可以一旦改变其名字,里边的就可以不用一一修改 function box(num){if(num<=1){ return 1;}else{ return num* arguments.callee(num-1);}}al

Js之Dom学习-三种获取页面元素的方式、事件、innerText和innerHTML的异同

一.三种获取页面元素的方式: getElementById:通过id来获取 <body> <input type="text" value="请输入一个值:" id="txt"/> <input type="button" value="按钮" id="btn"/> <script> var txt=document.getElementB

C语言零基础项目驱动式学习第三天

一 while循环二do   while循环三 for循环for循环的执行顺序用如下表达式: for(expression1;expression2;expression3)        循环变量初值; 循环条件; 循环变量增量  {                expression4; }       执行的顺序应该是: 1)第一次循环,即初始化循环.      首先执行表达式expression1(一般为初始化语句):再执行expression2(一般为条件判断语句),判断express

(java)selenium webdriver学习---三种等待时间方法:显式等待,隐式等待,强制等待

selenium webdriver学习---三种等待时间方法:显式等待,隐式等待,强制等待 本例包括窗口最大化,刷新,切换到指定窗口,后退,前进,获取当前窗口url等操作: import java.util.Set;import java.util.concurrent.TimeUnit; import org.jsoup.Jsoup;import org.jsoup.nodes.Document;import org.openqa.selenium.By;import org.openqa.

项目中走马观花式学习PHP

项目中走马观花式学习PHP 因项目缘故,需要快速补充php知识,个人有asp基础,较熟悉aspx.c#winform编写,故选择了快速阅读PHP相关资料.整理了一下,给大家参考.阅读的资料都是来自网络,我也不说不清作者是谁了,这里要对带我们这些菜鸟飞的前辈和大神们表示感谢.此外和我一样学过asp的朋友请百度一下php和asp语法的不同,对自己帮助很大. 第一部分相关知识补充 一.PHP准备工作 (一)PHP环境搭建(略) 建议使用apm,修改相关的参数即可搭建好环境.详情随便百度一下.... 第

Vue.js响应式原理

本文和大家分享的主要是Vue.js 响应式原理相关内容,一起来看看吧,希望对大家 学习Vue.js有所帮助. 关于Vue.js Vue.js 是一款 MVVM 框架,上手快速简单易用,通过响应式在修改数据的时候更新视图. Vue.js 的响应式原理依赖于 Object.defineProperty  ,尤大大在Vue.js 文档中就已经提到过,这也是 Vue.js 不支持 E8 以及更低版本浏览器的原因. Vue 通过设定对象属性的  setter/getter  方法来监听数据的变化,通过 g

android之intent显式,显式学习

intent,意图 当从一个Activity到另一个Activity时调用,这里重点学习显式,隐式的使用 使用语句上的区别: 隐式意图:                 显式意图: setAction                                            跳转到其他应用:setClassName setData 跳转到自己应用:setClass addCategory(当为DEFAULT时可无) 一.无参时的显式.隐式举例 显式-到自己应用(最简单情况): /*