zoukankan      html  css  js  c++  java
  • 【转】JS兼容Firefox

     打开TOOLS -> dom inspector , 左侧选中某个控件后, 右侧可以选择 JAVASCRIPT OBJECT
      通过自带工具调试javascript
      TOOLS -> JavaScript Console
      打开所有js警告:
      在地址栏里录入:about:config
      双击,设置 javascript option restict 打开为true 能够看到很多警告,利于纠错
      ☆ 关于调试JS的tip
      调试js时,经常受缓存的影响,页面不会加载最新的代码,为此解决如下:
      在新页面里打开原来的地址,关闭原来的页面,ok了.
      以上方法在IE和FF下都有效.
      ☆ IE -> firefox js类
      △ document.all -> document.getElementById
      并且控件尽量用id,而不是name标识
      为了兼容旧代码,参考下面的函数, 把document.all 替换为 document_all即可
      function document_all(objName,doc){
      if (!doc) doc = document;
      var obj;
      obj = doc.getElementById(objName);
      if (!obj) obj = doc.getElementsByName(objName)[0];
      return obj;
      }
      提示:
      如果控件只有name,没有id, 用getElementById时:
      IE:也可以找到对象
      FF:返回NULL
      △ 判断对象是否是object的方法应该为
      if( typeof 对象变量 == "object")
      而不是 if(对象变量 == "[object]")
      △ eval(对象名称) -> document.getElementById
      FF支持eval函数
      △ 通过id直接调用对象
      name.value = ""
      改为
      document.getElementById("name").value = ""
      △ window.event 的改造, firefox和opera会在调用函数时传入event对象,
      ie用全局对象window.event,可以修改事件处理函数,接收event对象
      function editmask_keydown(event){
      event = event || window.event;
      这样定义对系统改动比较大, 所以从底层转换处理,可能更好一些
      参考 ie_to_w3c.js
      △
      mX = event.x ? event.x : event.pageX;
      △ 不支持onpropertychange事件
      △ obj.insertAdjacentElement("beforeBegin",objText);
      改为用
      obj.parentNode.insertBefore(objText,obj);
      △ createElement不支持HTML代码
      用document.write(esHTML); 可以解决一部分情况
      △ innerText -> textContent
      △ 对象名称中的$改为_
      objName = "t1$spin"
      改为
      objName = "t1_spin"
      △ 事件名称和注册方式的变化
      this.selYear.addEventListener("blur", myBlur, false);
      △ FF里设置Attribute为某个对象,然后再取出来,这时候对象的属性都丢失了?
      objText.setAttribute("dropdown_select",obj);
      alert(obj.id) //正确的名字
      var objxx = objText.getAttribute("dropdown_select");
      alert(objxx.id) //null
      在IE下没有问题, FF对setAttribute来说,第2个参数都是字符串型的!!!

  • 相关阅读:
    多表联合查询,利用 concat 模糊搜索
    order by 中利用 case when 排序
    Quartz.NET 3.0.7 + MySql 动态调度作业+动态切换版本+多作业引用同一程序集不同版本+持久化+集群(一)
    ASP.NET Core 2.2 基础知识(十八) 托管和部署 概述
    ASP.NET Core 2.2 基础知识(十七) SignalR 一个极其简陋的聊天室
    ASP.NET Core 2.2 基础知识(十六) SignalR 概述
    ASP.NET Core 2.2 基础知识(十五) Swagger
    ASP.NET Core 2.2 基础知识(十四) WebAPI Action返回类型(未完待续)
    linux磁盘管理 磁盘查看操作
    linux磁盘管理 文件挂载
  • 原文地址:https://www.cnblogs.com/luofuxian/p/2377468.html
Copyright © 2011-2022 走看看