まず第一に、ここで宣言しましょう、私のテストブラウザのバージョンはChrome15.0.874.121 Firefox 8.01 IE9 Ietetesterです
次のコードはステートメントに関するものです
1:ローリングバーを取得します
次のようにコードコードをコピーします。
関数getScroll(){{)
var t、l、w、h;
if(document.documentelement && document.documentedrement.scrolltop){
t = document.documentlement.scrolltop;
l = document.documentelement.scrollleft; //スクロールバーの左端
w = document.documentlement.scrollwidth; //ローリングバーの幅、これはページの幅です
h = document.documentlement.scrollheight; //ローリングバーの高さ
}
それ以外
if(document.body){
t = document.body.scrolltop;
l = document.body.scrollleft;
w = document.body.scrollwidth;
h = document.body.scrollheight;
}
戻る {
T:T、
L:L、
W:W、
H:H
};
}
2:ビューブラウザの幅の高さを取得します
次のようにコードコードをコピーします。
function getPageWidth(){
var pagewidth = window.innerwidth;
ifof pagewindth!= "{{{
if(document.compatmode == "css1compat"){{
pagewidth = document.documentelement.clientWidth;
}
それ以外 {
pageWidth = document.body.clientWidth;
}
}
PageWidthを返します。
}
関数getPageHeight(){
var pageheight = window.innerheight;
ifof pagewindth!= "{{{
if(document.compatmode == "css1compat"){{
pageheight = document.documentelement.clientheight;
}
それ以外 {
pageheight = document.body.clitingheight;
}
}
pageheightを返します。
}
3:現在のブラウザモデル名を取得します
次のようにコードコードをコピーします。
関数 () {
var sys = {};
var ua = navigator.useragent.tolowercase();
var s;
(s = ua.match(/msie([/d.+)/))? /)? (/opera。(#/d。+)/))? )))))))))))
if(sys.ie!= null){
return( "ie:" + sys.ie); // IEブラウザーとバージョン番号を決定します
}
if(sys.firefox!= null){
return( "firefox:" + sys.firefox);
}
if(sys.chrome!= null){
return( "chrome:" + sys.chrome);
}
if(sys.opera!= null){
return( "opera:" + sys.opera);
}
if(sys.safari!= null){
return( "safari:" + sys.safari);
}
}
4:イベント監視
次のようにコードコードをコピーします。
関数(要素、タイプ、ハンドラー){{
if(element.addeventristener){{
Element.AddeventListener(タイプ、ハンドラー、False);
}
それ以外
ifment.attachevent){
element.attachevent( "on" + type、handler);
}
それ以外 {
要素[" + type] = Handler;
}
}
5:イベントの削除
次のようにコードコードをコピーします。
関数(要素、タイプ、ハンドラー){{
if(element.removeeventlistener){
Element.RemoveEventListener(タイプ、ハンドラー、False);
}
それ以外
ifment.detachevent){
element.detachevent( "on" + type、handler);
}
それ以外 {
element ["on" + type] = null;
}
}
6:イベントの場合、Firefoxイベントが常に分配されている場合、最初のインシデントに問題が発生します。
次のようにコードコードをコピーします。
function(event){
event =(event?event:window.event);
if(event == null){
var $ e = function(){
var c = $ e.caller;
while(c.caller)
C = C.Caller;
c.arguments [0]を返します
};
__definegetter __( "event"、$ e);
}
戻りイベント。
}
7:デフォルトイベントを防ぎます
次のようにコードコードをコピーします。
function(event){
if(event.preventdefault){
event.preventdefault();
}
それ以外 {
event.returnValue = false;
}
}
8:事件を広め続けないでください
次のようにコードコードをコピーします。
function(event){
if(event.stoppropagation){
event.stoppropagation();
}
それ以外 {
event.cancelbubble = true;
}
}
9:イベントのターゲットを取得します
次のようにコードコードをコピーします。
function(event){
return event.target ||。
}
10:documen.doctypeはサポートと矛盾しています
E:ドキュメントタイプの説明がある場合、アノテーションとしてエラーとコメントノードと見なされます。
Firefox:ドキュメントタイプの説明がある場合、ドキュメントの最初のサブノードとして使用します。
Safari、Chrome、Opera:ドキュメントタイプの説明がある場合、説明として説明されますが、ドキュメントのサブノードとして子育てには表示されません。
11:要素を見つけます
IEがいつも何をしているのか本当に理解していないことがあります。私はいつも違いを生み出したいです。システムがブラウザをブラウザにさせない場合、IEの共有は少なくなると言っています。
IDと名前が同じ場合、彼も返されます
次のようにコードコードをコピーします。
<html>
<head>
<スクリプトDefer>
var it item = document.getElementById( "my");
itm.value = "second";
</script>
</head>
<body>
<入力型= "テキスト" name = "my" value = "first">
</body>
</html>
IEでは、結果が変化します。
同じことがIE、IDは区別されません
次のようにコードコードをコピーします。
<html>
<head>
<スクリプトDefer>
var it item = document.getElementById( "my");
itm.value = "second";
</script>
</head>
<body>
<input type = "text" id = "my" value = "first">
</body>
</html>
申し訳ありませんが、彼の結果は再び変わりました。
12:それがカスタム属性の場合、item.myattributsはIEブラウザなしでは正しい結果を描くことができません。
次のようにコードコードをコピーします。
function(item、myatt){
ITM.ATTRIBUTES [MyATT]を返します。
}
同じ場合、設定属性は、何をすべきか、つまり割り当てを知っている必要があります。
次のようにコードコードをコピーします。
function(item、myatt、value){
item.attributes [myatt]。
}
13:要素のサブノードの数
次のようにコードコードをコピーします。
<ul id = "myul">
<li>最初の</li>
<li> second </li>
<li>サード</li>
</ul>
IEの結果は3で、他のブラウザは7です。
ノード間の空白のシンボルは、他のブラウザのテキストノードであり、結果は7です。このようになったら、
次のようにコードコードをコピーします。
<ul id = "myul"> <li>最初の</li> <li> second </li> <li>サード</li> </ul>
このようにして、全員の結果は3です。
14:ノードの問題を作成します
次のようにコードコードをコピーします。
//要素を動的に追加すると、すべてのブラウザを達成できます
var newnode = document.createelement( "input");
newnode.type = "button";
newNode.Value = "Sixth";
// IEで実現できます
var newNode = document.createElement( "<input type =/" button/">">);
15:右クリックをシールドするとき、firefoxはoncontextmenuインシデントで他のものとは異なります。
16:スタイルとスクリプトを動的に追加すると、IEやその他のブラウザは異なります。特定のチェック。
17:Dom2とDom3の場合、状況はより複雑です。