ホームページ > 記事 > ウェブフロントエンド > FirefoxやIEブラウザに対応したJSスクリプトの書き方まとめ_JavaScriptスキル
1.window.event 互換スクリプト
function getEvent(){ //IE および FF の書き込みメソッドと互換性のあるブラウザ イベントを取得します。
if(document.all) return window。 ;
func=getEvent.caller;
while(func!=null){
var arg0=func.arguments[0];
if(arg0 . constructor==Event arg0.constructor ==MouseEvent)
(typeof(arg0)=="object" && arg0.preventDefault && arg0.stopPropagation)){
return arg0;
}
func=func.caller;
}
return null;
}
イベントを使用する前に、Firefox は getEvent() を使用する必要があります。空
2. フォーム送信イベントをシールドします
event.returnValue=false;// IE の場合
evt.preventDefault();// 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」です。 "childNodes"
8 .XmlHttp
IE では、XmlHttp.send(content) メソッドのコンテンツは空にすることができますが、Firefox では Send(" ") を空にすることはできません。使用しないと、411 エラーが発生します