向后兼容

2023-11-07

检查浏览器是否兼容这个方法,加一句:

window.onload = function(){

     if(!document.getElementsByTagName)  return false

     var links = document.getElementsByTagName("a");

      for ( var i = 0 ; i<links.length ;  i ++){

        if ( links[i].className == "popup"){

                links[i].onclick = function(){

                     popUp(this.getAttribute("href"));

                     return false;

                  }

           }

      }

}

虽然只是一条简单的if语句,但它可以确保那些‘古老的’浏览器不会因为我的脚本代码而出问题。这么做是为了让我的脚本有良好的向后兼容性。因为在给网页添加各有关行为时始终遵循了‘循序渐进’的原则,所以确实地知道我添加的那些功能有预留退路,我的网页在那些‘古老的’浏览器里也能正常浏览。那些只支持一部分javascript功能、但不支持DOM的浏览器任可以访问我的网页内容。 

 

浏览器嗅探(browser sniffung)技术

 

转载于:https://www.cnblogs.com/Eleanore/archive/2012/05/25/2518168.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

向后兼容 的相关文章

  • 7个用Python就可以搞副业的方法

    抢茅台 全民开抢1499元的茅台 你抢到过吗 我表弟去年开始到现在抢到30 瓶 一瓶轻松赚1000元 没想到表弟私信我说 他的茅台都是用软件抢的 Python是啥 我是2G网了吗 还有这么好用的工具 不查不知道 一查吓一跳 原来早就有人用P
  • Java 获取当前项目路径

    利用System getProperty 函数获取当前项目路径 String currentPath System getProperty user dir System out println currentPath 输出结果 当前路径
  • 【完整攻略】OPPO手机无密码解锁方法

    全世界有数百万人拥有 OPPO 手机 它以其经济实惠但功能强大的智能手机而闻名 但是 与许多其他人一样 您可能会在某些日子后忘记密码 那么 如果您忘记了 OPPO 手机的密码或图案怎么办 你将如何解锁它 这是一个大问题 在这种情况下 请不要
  • 【Linux核心宝典】Linux 系统目录结构详解 - 01

    作者介绍 我是程序员洲洲 一个热爱写作的非著名程序员 CSDN全栈优质领域创作者 华为云博客社区云享专家 阿里云博客社区专家博主 前后端开发 人工智能研究生 公粽号 程序员洲洲 本文专栏 本文收录于洲洲的 Linux系列专栏 欢迎大家关注本
  • Linux服务器添加永久明细路由

    第一步 写入 etc sysconfig static routes文件 默认在 etc sysconifg目录中是没有这个文件的 需要我们手工创建 etc sysconfig static routes any net 192 168 1
  • 计算机毕设(附源码)JAVA-SSM基于协同过滤算法的个性化智能图书推荐系统

    项目运行 环境配置 Jdk1 8 Tomcat7 0 Mysql HBuilderX Webstorm也行 Eclispe IntelliJ IDEA Eclispe MyEclispe Sts都支持 项目技术 SSM mybatis Ma
  • el-cascader数据绑定值原理之展平操作的算法

    需求级联选择器默认选中全部节点 分析 数据绑定值为二维父子节点id同级数组 1 1 1 1 1 1 2 2 1 2 1 1 这种结构 而数据源是树形结构 所以我们把树形结构转换成如上二维数组结构 算法如下 1 options为树形数据 2
  • “OLT”、“ONU”和“PON”分别是什么意思?三者有什么区别?

    OLT optical line terminal 光线路终端 用于连接光纤干线的终端设备 ONU Optical Network Unit 光网络单元 ONU分为有源光网络单元和无源光网络单 一般把装有包括光接收机 上行光发射机 多个桥接
  • Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x0000000794500000, 576716800, 0)

    linux基于tomcat部署的web应用程序报 Java HotSpot TM 64 Bit Server VM warning INFO os commit memory 0x0000000794500000 576716800 0 f
  • mysql 'performance_schema'.'session_variables' 问题处理

    今天 升级了mysql 5 7 使用mysql workbench时 处理问题 无法连接mysql服务了 先提示 performance schema session variables 不存在 后来提示结构错误 mysql workben
  • linux系统安全检查

    1 使用 last 命令查看下服务器近期登录的账户记录 确认是否有可疑IP登录过机器 检查说明 攻击者或者恶意软件往往会往系统中注入隐藏的系统账户实施提权或其他破坏性的攻击 解决方法 检查发现有可疑用户时 可使用命令 usermod L 用
  • 【网络安全】命令执行漏洞

    命令执行漏洞 命令执行漏洞原理 危害 检测方法 有回显检测方法 分号 从左到右执行 管道符 将见面命令的输入为后面命令的标准输入 后台任务符号 命令从左到右执行 与 逻辑与 前面命令执行成功后才会执行 或 逻辑或 前面执行失败才能执行 反引
  • Java初学疑问之接口为什么能运行Object的方法

    public class CommonTest public static void main String args Animal animal new Dog animal toString 为什么能运行该方法 class Dog im
  • 通过清华大学镜像和pip进行安装

    通过清华大学镜像和pip进行安装 有时候网络不佳时 直接通过pip安装可能会很慢或者不成功 因此可以借助清华镜像 可以在使用pip的时候加参数 i https pypi tuna tsinghua edu cn simple 以gensim
  • 前端实战:小实例1——导航栏

    前言 一个导航栏可看作一个列表 在 HTML 使用 ul 标签和 li 标签元素进行结构表示 在 CSS 中进行样式处理 对应标签元素的具体用法可查看 HTML常见标签介绍 实现思路 使用 div 包装导航栏 用 ul 和 li 标签展示导
  • EasyPoi 数据导入导出,贼方便

    1 maven坐标
  • 银行卡编码规则及检验算法详解

    一 银行卡结构 XXXXXX XXXXXXXXXXXX X 发卡行标识代码 自定义位 校验码 根据ISO标准 银行卡长度一般在13 19位 国际上也有12位的 银联标准卡卡长度一般是在16 19位 双组织卡也有13 19位的 二 发卡行标识
  • grid - 显式网格

    显式网格布局包含 行 列 列 grid template columns page color fff grid padding 1 display grid grid gap 1px grid template rows 50px 100
  • 养生指南 4 : 睡眠 与 外因

    参考 老中医给的100条养生建议 强烈推荐 1 睡眠 1 睡觉 是养生第一要素 睡觉的时间 应该是 晚 21 00 早3 00 因为这个时间是一天的 冬季 冬季主藏 冬季不藏 春夏不长 即第 2 天没精神 早起如在寅时三点至五点 此时切忌郁
  • Python数据分析与可视化------NumPy第三方库

    目录 数据的维度 NumPy CSV文件 多维数据的存取 NumPy的便捷式文件截取 NumPy的随机数函数子库 NumPy的统计函数 NumBy的梯度函数 图像的数组表示 图像的变换 数据的维度 维度 一组数据的组织形式 一维数据 由对等

随机推荐

  • 1.出现需要keil突破内存限制

    出现 error L6050U The code size of this image 37186 bytes exceeds the maximum allowed for this version of the linker 是因为超出
  • openlayers绘制圆形区域,消除误差的一种方法

    我需要以某点为圆心 以某长度 单位米 为半径 在地图上绘制圆形区域 前提 地图显示 图层和数据源的创建与设置方法这里就不详细描述了 直接上关键部分 一开始 我使用如下代码实现圆形区域的绘制 绘制以坐标 1 1 为中心 200000米为半径的
  • Codeforces Round #553 (Div. 2)

    A Maxim and Biology time limit per test 1 second memory limit per test 256 megabytes input standard input output standar
  • 无法通过http://burp获取BurpSuite证书的解决方法

    为了能够对https协议的数据进行抓取必须安装BurpSuite的证书 但在下载证书的过程中出现了问题 官方和百度下载证书的方法都是在能够抓取http的状态下访问http burp下载证书 但http burp页面却加载不出来 百度了很久也
  • 【Bootstrap】Bootstrap基础导航栏(响应式导航菜单)

    Bootstrap基础导航栏 响应式导航菜单
  • 自动化测试(五):自动化测试框架的搭建和基于yaml热加载的测试用例的设计

    该部分是对自动化测试专栏前四篇的一个补充 本次参考以下文章实现一个完整的谷歌翻译接口自动化测试 1 python小脚本 Yaml配置文件动态加载 2 python做接口测试的学习记录day8 pytest自动化测试框架之热加载和断言封装 目
  • 如何自己开发一个Android APP(4)——JAVA

    资源使用 在java文件中 通过资源id完成对资源的访问 可以通过对象 getId 的方法得到组件 因为XML布局文件与java文件实际上是不互通的 也就是说我们的xml只控制外观 当你需要为某个地方作出某些设置时 java必须先获取到这个
  • vue面试面试

    MVVM model js对象data view dom模板代码 viewmodel vue实例 ViewModel负责把Model的数据同步到View 还负责把View的修改同步回Model 实现数据 视图分离 数据不会影响视图 框架优缺
  • 美国专利知识

    1 美国专利查看网站 http patft uspto gov 2 美国专利类型 Application Type APT This field contains a single digit number which indicates
  • ASP网页给服务器传参,asp.net页面与页面之间传参数值方法(post传值和get传值)

    一 利用POST传值 传值asp文件send aspx 接受asp文件receive aspx string username Ruquest Form receive 一 get方法传值 QueryString 也叫查询字符串 这种方法将
  • 计算机视觉——图像视觉显著性检测

    目录 系列文章目录 零 问题描述 一 图像显著性检测 1 定义 2 难点 二 常用评价标准和计算方法 1 综述 2 ROS曲线详述 2 1 混淆矩阵 2 2 ROC曲线简介 2 3 ROC曲线绘制及其判别标准 2 4 ROC曲线补充 三 F
  • 利用 Pytorch 加载词向量库文件

    1 示例代码 完整代码 import torch from torch nn import Embedding 载入讯飞词向量文件 word vector file Downloads tencent ailab embedding zh
  • 第四章——蛮力法

    蛮力法概述 蛮力法也称穷举法 枚举法 或暴力法 是一种简单的直接解决问题的方法 通常根据问题的描述和所涉及的概念定义 对问题所有可能的状态 结果 一一进行测试 直到找到解或将全部可能的状态都测试一遍为止 蛮力法的 力 指的是计算机的运算能力
  • 腾讯云IM即时通讯

    获取UserSig工具类 import com alibaba fastjson JSONObject import java nio charset StandardCharsets import java util Base64 imp
  • 显示本地未连接服务器ip,本地连接显示未识别怎么办

    一个朋友因为网络连接的问题要抓狂了 使用ADSL PPPOE进行宽带上网 连接的时候图标那里一直有一个圈在转 始终连接不上 将鼠标移动过去一查看 原来这里显示的是本地连接显示未识别 那么本地连接显示未识别怎么办呢 接下来大家跟着学习啦小编一
  • Java对象List使用陷阱

    Java由一个对象List筛选或者浅复制得到的另一个对象List里面的引用和原List里的引用指向同一个地址 修改其中一个List里的共有对象时 同时会影响到两个List里存放的对象 package test import java uti
  • DELL戴尔灵越笔记本电脑Inspiron 13 5320原装Win11系统恢复出厂oem原厂专用系统

    DELL戴尔灵越笔记本电脑 灵越Inspiron 13 5320原装Windows11系统恢复出厂oem原厂专用系统 系统自带所有驱动 办公软件 MyDell 迈克菲等预装程序 链接 https pan baidu com s 1j9sYT
  • idea插件Coverage(用例覆盖率)使用

    idea插件Coverage 用例覆盖率 使用 选择测试用例中要执行的包 类或方法 右键选择Run with Coverage 执行结束后可在右侧查看覆盖率结果 可以点击导出按钮导出覆盖率报告 注意 若只执行了包中的某个类或方法 则生成的覆
  • linux下socket编程实现一个服务器连接多个客户端

    使用socekt通信一般步骤 1 服务器端 socker 建立套接字 绑定 bind 并监听 listen 用accept 等待客户端连接 2 客户端 socker 建立套接字 连接 connect 服务器 连接上后使用send 和recv
  • 向后兼容

    检查浏览器是否兼容这个方法 加一句 window onload function if document getElementsByTagName return false var links document getElementsByT