6.26

一.、怎么区分浏览器类型

第一种,只区分浏览器,不考虑版本

代码如下:

function myBrowser(){

var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串

var isOpera = userAgent.indexOf("Opera") > -1;

if (isOpera) {

return "Opera"

}; //判断是否Opera浏览器

if (userAgent.indexOf("Firefox") > -1) {

return "FF";

} //判断是否Firefox浏览器

if (userAgent.indexOf("Chrome") > -1){

return "Chrome";

}

if (userAgent.indexOf("Safari") > -1) {

return "Safari";

} //判断是否Safari浏览器

if (userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera) {         return "IE";

}; //判断是否IE浏览器

}

//以下是调用上面的函数

var mb = myBrowser();

if ("IE" == mb) {

alert("我是 IE");

}

if ("FF" == mb) {

alert("我是 Firefox");

}

if ("Chrome" == mb) {

alert("我是 Chrome");

}

if ("Opera" == mb) {

alert("我是 Opera");

}

if ("Safari" == mb) {

alert("我是 Safari");

}

第二种,区分浏览器,并考虑IE5.5 6 7 8

复制代码 代码如下:

function myBrowser(){

var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串

var isOpera = userAgent.indexOf("Opera") > -1; //判断是否Opera浏览器

var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera; //判断是否IE浏览器

var isFF = userAgent.indexOf("Firefox") > -1; //判断是否Firefox浏览器

var isSafari = userAgent.indexOf("Safari") > -1; //判断是否Safari浏览器

if (isIE) {

var IE5 = IE55 = IE6 = IE7 = IE8 = false;

var reIE = new RegExp("MSIE (\\d+\\.\\d+);");

reIE.test(userAgent);

var fIEVersion = parseFloat(RegExp["$1"]);

IE55 = fIEVersion == 5.5;

IE6 = fIEVersion == 6.0;

IE7 = fIEVersion == 7.0;

IE8 = fIEVersion == 8.0;

if (IE55) {

return "IE55";

}

if (IE6) {

return "IE6";

}

if (IE7) {

return "IE7";

}

if (IE8) {

return "IE8";

}

}//isIE end

if (isFF) {

return "FF";

}

if (isOpera) {

return "Opera";     }

}//myBrowser() end

//以下是调用上面的函数

if (myBrowser() == "FF") {

alert("我是 Firefox");

}

if (myBrowser() == "Opera") {

alert("我是 Opera");

}

if (myBrowser() == "Safari") {

alert("我是 Safari");

}

if (myBrowser() == "IE55") {

alert("我是 IE5.5");

}

if (myBrowser() == "IE6") {

alert("我是 IE6");

}

if (myBrowser() == "IE7") {

alert("我是 IE7");

}

if (myBrowser() == "IE8") {

alert("我是 IE8");

}

下面给出一个判断当前浏览器是IE的JS代码.

原理是利用了IE与标准浏览器在处理数组的toString方法的差异做成的。对于标准游览器,如果数组里面最后一个字符为逗号,JS引擎会自动剔除它。

<script>

var ie = !-[1,];

alert(ie);

</script>

二、怎么在节点后面插入节点

第一种


1

2

3

4

5

6

7

function insertEle() { 

    var oTest = document.getElementById("box-one"); 

    var newNode = document.createElement("div"); 

    var reforeNode = document.getElementById("p1"); 

    newNode.innerHTML = " This is a newcon "

    oTest.insertBefore(newNode,reforeNode.nextSibling);//新建的元素节点插入id为P1节点元素的后面。 

}

第二种


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

// 自定义函数向后插入

function insertAfter( newElement, targetElement)

{

   var parent = targetElement.parentNode;

   if ( parent.lastChild == targetElement )

   {

        // 如果最后的节点是目标元素,则直接添加。因为默认是最后

        parent.a( newElement );

   }

   else

   {

        //如果不是,则插入在目标元素的下一个兄弟节点的前面。也就是目标元素的后面

        parent.insertBefore( newElement, targetElement.nextSibling );

   }

}

时间: 2024-10-07 05:18:05

6.26的相关文章

算法竞赛入门经典习题2-6 排列(permutation)

暴力解法: 1 #include <stdio.h> 2 #include <stdlib.h> 3 4 int compare(const void *a, const void *b); 5 6 int main(int argc, char **argv){ 7 int i,j,k; 8 int arr[9]; 9 for(i=100;i<333;i++){ 10 for(j=200;j<666;j++){ 11 for(k=300;k<1000;k++){

《算法竞赛入门经典》动态规划复习

codevs 4979 数塔 1 #define N 100 2 #include<iostream> 3 using namespace std; 4 #include<cstdio> 5 int a[N][N],b[N][N],n; 6 int main() 7 { 8 scanf("%d",&n); 9 for(int i=1;i<=n;++i) 10 for(int j=1;j<=i;++j) 11 { 12 scanf("

算法竞赛入门经典+挑战编程+USACO

下面给出的题目共计560道,去掉重复的也有近500题,作为ACMer Training Step1,用1年到1年半年时间完成.打牢基础,厚积薄发.   一.UVaOJ http://uva.onlinejudge.org  西班牙Valladolid大学的程序在线评测系统,是历史最悠久.最著名的OJ.   二.<算法竞赛入门经典> 刘汝佳  (UVaOJ  351道题)  以下部分内容摘自:http://sdkdacm.5d6d.com/thread-6-1-1.html   "AO

棋盘覆盖问题(算法竞赛入门经典)

在一个 2^k * 2^k 个方格组成的棋盘中,若恰有一个方格与其它方格不同,则称该方格为一特殊方格,称该棋盘为一特殊棋盘.显然特殊方格在棋盘上出现的位置有 4^k 种情形.因而对任何 k>=0 ,有 4^k 种不同的特殊棋盘.下图所示的特殊棋盘为 k=2 时 16 个特殊棋盘中的一个. 在棋盘覆盖问题中,要用下图中 4 中不同形态的 L 型骨牌覆盖一个给定的特殊棋牌上除特殊方格以外的所有方格,且任何 2 个 L 型骨牌不得重叠覆盖.易知,在任何一个 2^k * 2^k 的棋盘中,用到的 L 型

【算法竞赛入门经典】【第三章】课后习题(第二部分)

自从蓝桥杯之后,都没写博客了.今天将之前第三章还差的一部分习题答案补上. 3-4整数相加 这一题题目有提示,说选择合适的输入方式,即可简化问题.刚开始没想到cin,结果还用字符串来做,多亏别人提醒我一下,我才想起cin.惭愧啊.. #include <iostream> using namespace std; int main() { int a,b; char op; while(cin>>a>>op>>b){ switch(op){ case '+':

Hadoop入门经典:WordCount

以下程序在hadoop1.2.1上测试成功. 本例先将源代码呈现,然后详细说明执行步骤,最后对源代码及执行过程进行分析. 一.源代码 package org.jediael.hadoopdemo.wordcount; import java.io.IOException; import java.util.StringTokenizer; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.Path;

(Step1-500题)UVaOJ+算法竞赛入门经典+挑战编程+USACO

下面给出的题目共计560道,去掉重复的也有近500题,作为ACMer Training Step1,用1年到1年半年时间完成.打牢基础,厚积薄发. 一.UVaOJ http://uva.onlinejudge.org 西班牙Valladolid大学的程序在线评测系统,是历史最悠久.最著名的OJ. 二.<算法竞赛入门经典> 刘汝佳  (UVaOJ  351道题)  以下部分内容摘自:http://sdkdacm.5d6d.com/thread-6-1-1.html “AOAPC I”是刘汝佳(大

拓扑排序(算法竞赛入门经典)

拓扑排序的定义: 把每个变量看成一个点,”小于“或者”先后“关系看成有向边,则我们得到一个有向图.这样我们的任务实际上是把一个图的所有节点排序,使每一条有向边的(u,v)对应的u都排在v之前,在图论中,我们称之为拓扑排序.不难发现,如果一个有向图里存在回路,则不存在拓扑排序(如果设置一个标志数组,我们可以发现回路中的点一直处于正在被访问状态,这可以作为拓扑排序的结束条件). 我们先看一个样例: 下面我们用邻接矩阵存储这张图:   0 1 2 3 0 0 1 1 1 1 0 0 1 1 2 0 0

HTML、XHTML、CSS与JavaScript入门经典pdf

下载地址:网盘下载 内容介绍: 自从网站诞生以来,用于构建网站的语言就一直在不断地演化.现在一系列最佳实践已经出现,使用HTML或XHTML创建基本的网页,使用CSS控制它们的外观并使它们更加引人注目,使用JavaScript添加交互功能.<HTML.XHTML.CSS与JavaScript入门经典>一书假设您以前没有任何经验,这些宝贵的资源有助于如何使用最新的Web标准.不管您是期待编写第一个网页的初学者,还是急需提升编程技能的资深程序员,都会发现对这些基本语言的实践指导,以及有经验的Web

HTML与CSS入门经典(第7版) PDF下载高清完整原版

需要学习的朋友可以通过网盘免费下载pdf版 http://putpan.com/fs/7yi6be2ns3hucc8a1/ 内容简介  · · · · · · 梅洛尼.莫里森编著的<HTML与CSS入门经典(第8版)>是畅销图书 <HTML与CSS入门经典>的最新版,和过去的版本相同,本书仍然采用直观 .循序渐进的方法来为读者讲解使用HTML与CSS创建并发布网页的过程,以 方便读者掌握.<HTML与CSS入门经典(第8版)>总共分为24章和1个附录 ,其涵盖的内容有理