>  기사  >  웹 프론트엔드  >  Firefox 브라우저와 호환되는 JS 스크립트

Firefox 브라우저와 호환되는 JS 스크립트

黄舟
黄舟원래의
2016-12-14 16:00:231342검색

저는 최근 프로젝트를 진행하면서 FireFox와 IE 스크립트 사이의 비호환 문제에 직면했습니다. 이를 위해 인터넷에서 호환되는 스크립트를 몇 가지 수집하여 원래는 제 블로그에 썼습니다. 지금 복사 중입니다. 원본 텍스트

1. window.event 호환 스크립트
2. Shield Form 제출 이벤트
4. 이벤트 호환 쓰기
5. Firefox 등록 innerText 쓰기 방법
6. 길이
7. 부모 제어 하의 하위 컨트롤
8.XmlHttp

1.window .event 호환 스크립트

function getEvent(){ //IE 및 FF 작성 방법과 호환되는 브라우저 이벤트 가져오기

if(document.all) return window.event
func=getEvent.caller; ;
while(func !=null){
var arg0=func.arguments[0];
if(arg0){
if((arg0.constructor==이벤트   arg0.constructor == MouseEvent)
  (typeof (arg0)=="object" %26amp;%26amp; arg0.preventDefault %26amp;%26amp; arg0.stopPropagation)){
return arg0;
func=func.caller;
}
return null;
}

Firefox는 이벤트를 사용하기 전에 항상 getEvent()를 사용해야 합니다. 비어 있음

2. Shield 양식 제출 이벤트

event.returnValue=false;// for IE

evt.preventDefault();//for firefox

3. 이벤트 소스 가져오기

var source=event.srcElement //IE

var source=event.target //firefox

4. 메소드

function addEvent(oElement,sEvent, func){

if(oElement.attachEvent){

oElement.attachEvent(sEvent,func)

}
else{
sEvent=sEvent.substring(2,sEvent.length);
oElement.addEventListener(sEvent,func,false)
}
}

사용법 addEvent(window,"onload" ,Start);

5.Firefox 등록 innerText 작성 방법

//firefox innerText 등록

HTMLElement.prototype.__defineGetter__("innerText",

function(){

var anyString = "";
var childS = this.childNodes;
for(var i=0; i if(childS[i].nodeType==1)
anyString += childS[i] .tagName=="BR" ? 'n' : childS[i ].innerText;
else if(childS[i].nodeType==3)
anyString += childS[i].nodeValue; >}
return anyString;
}
)
HTMLElement.prototype.__defineSetter__("innerText",
function(sText){
this.textContent=sText;
}
);

6. 길이 FireFox의 길이는 "px"로 추가해야 하며 IE는 중요하지 않습니다

7. 부모 컨트롤 아래에 있는 자식 컨트롤 IE는 "children"입니다. ", FireFox는 "childNodes"입니다

8.XmlHttp

IE에서는 XmlHttp.send(content) 메서드의 내용이 비어 있을 수 있지만 Firefox에서는 비어 있을 수 없습니다. Send( " ")를 사용해야 하며, 그렇지 않으면 411에러가 발생합니다

더 많은 관련 글은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.