ホームページ ウェブフロントエンド jsチュートリアル ネイティブ JavaScript 互換性テストの例_JavaScript スキル

ネイティブ JavaScript 互換性テストの例_JavaScript スキル

May 16, 2016 pm 05:30 PM
互換性 ネイティブjs

1. スタイル シートの幅や境界線の色などの CSS を取得します (行間は除く)。主に IE6 ~ 7 は currentStyle をサポートし、標準ブラウザは getComputedStyle をサポートします。例: カプセル化された関数


function getStyle(obj,name){
if(obj. currentStyle){
return obj.currentStyle[名前];
else{
return getComputedStyle(obj,false)[名前];


Call: getStyle('color');

2. スクロール距離を取得します
document.body.scrollTop は標準ブラウザに適しています
document.documentElement.scrollTop はバージョンに適しています以下の IE9
互換性は次のように記述できます
var top = document.body.scrollTop | document.documentElement.scrollTop;

標準ブラウザ: のパラメータとしてのイベント オブジェクトイベント関数
IE の下位バージョンではイベント オブジェクト (グローバル) を直接使用する必要があります




コードをコピーします

コードは次のとおりです function (ev) { var events = ev || }
イベントはイベント オブジェクトとして使用されます

4. イベントIEのバインディング イベントをattachEvent/detachEvent(バインディングまたはキャンセル)として定義します addEventListener/removeEventListener(バインディングまたはキャンセル)
イベントバインディングにおけるパラメータは以下の通りです。関数を匿名関数にすることはできません。それ以外の場合は、
addEventListener:

target.addEventListener(type,listener,useCapture); を使用することを忘れないでください。 : ドキュメント ノード、ドキュメント、ウィンドウ、または XMLHttpRequest。
type: 文字列、イベント名。「クリック」、「マウスオーバー」、「キーダウン」などの「on」を除く。
リスナー: EventListener インターフェイスまたは JavaScript の関数を実装します。
useCapture: キャプチャを使用するかどうか。通常は false。例: document.getElementById("testText").addEventListener("keydown", function (event) {alert(event.keyCode); }, false);

IE の場合:

target .attachEvent(type,listener);
ターゲット: ドキュメント ノード、ドキュメント、ウィンドウ、または XMLHttpRequest。
type: 文字列、「onclick」、「onmouseover」、「onkeydown」などの「on」を含むイベント名。
リスナー: EventListener インターフェイスまたは JavaScript の関数を実装します。 例: document.getElementById("txt").attachEvent("onclick",function(event){alert(event.keyCode);});

イベント バインディングのカプセル化関数:




コードをコピー


コードは次のとおりです:
function addEvent(obj,ev,fn){ if (obj.attachEvent){ obj.attachEvent('on' ev,fn) } else{ obj.addEventListener(ev, fn, false);
}


これがバインドされたイベント fn 関数で使用される場合、これは obj ではなくウィンドウ (IE の以前のバージョンのみにこのバグがあります) であることに注意する必要があります。



コードをコピーします


コードは次のとおりです。

addEvent(document,'click',function(ev) {
var ev =ev||window.event; var target = ev.target||ev.srcElement; // イベント ソースの取得は主に IE の低バージョンでのバグです。 window alert(target) }) ; バインディングキャンセルイベント fn は関数名です



コードをコピーします


コードは次のとおりです。

function RemoveEvent(obj,ev,fn){
if(obj.detachEvent){
obj.detachEvent ('on' ev,fn) } else{ obj.removeEventListener(ev, fn, false) } }

5.ajax
Ajax は XMLHttp オブジェクトを作成します 標準バージョンのブラウザおよび IE 以前のバージョンは、XMLHttp オブジェクトを作成するための
標準バージョンと互換性がありません:




コードをコピー

コードは次のとおりです:


//1。オブジェクト
if(window.XMLHttpRequest)
{ var oAjax=new を作成します。 XMLHttpRequest();//標準ブラウザ } else { var oAjax=new ActiveXObject("Microsoft.XMLHTTP");//IE 下位バージョン}
alert( oAjax);


6. デフォルトイベントをキャンセルする
js でのデフォルトイベントキャンセルは主に return false とPreventDefault の 2 種類です。
デフォルトイベントの return false はどのブラウザでも互換性がありますが、イベントが発生した場合は、 addEventListener がバインドされている場合、キャンセルされます。 デフォルトのイベントを失わずにデフォルトの右クリック イベントをキャンセルする例:

コードをコピーしますコードは次のとおりです:
document.addEventListener('contextmenu',function(ev){
ev.preventDefault();
}))
document.oncontextmenu = function (){
return false;
}

7. call と apply の違い
call と apply は関数
を呼び出すことができます。たとえば、

コードをコピー コードは次のとおりです:
function show(){
alert(this)
}
//show(); ポップアップウィンドウ
//show .call(); ポップアップウィンドウ
//show.call(this) // ポップアップウィンドウ
//show. call(5); //ポップアップ 5;
show.call(this,5) ; //ポップアップウィンドウ

call(this, arg1, arg2,...) call の this パラメータは主にイベント オブジェクトを参照し、後続のパラメータは関数内で使用されるパラメータであることがわかります。
call と apply を使用して主にこれを変更します。機能的には通常の関数と大きな違いはありません。 🎜>apply(this,arguments) は主にパラメータが不確実な場合に使用されます
8. DOM 取得サブタイトルの子ノードと childNodes
子は最初のレイヤーを取得することによってのみ子ノードを取得でき、ラベル ノードである必要があります
例:


< a href="#">テキスト 1
テキスト 2

children[0] 最初のタグchildren[0].children[0]を取得したい場合は、最初のスパンのみを取得できるため、子の長さは
childNodesのみになります。 Firefox と Google では、空のテキストの長さは 5 ですが、IE の以前のバージョン (6 ~ 8) では長さは 4 です。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Bluetooth 5.3 と 5.2 バージョンの比較と差異分析 Bluetooth 5.3 と 5.2 バージョンの比較と差異分析 Dec 28, 2023 pm 06:08 PM

現在、多くの携帯電話が Bluetooth バージョン 5.3 をサポートしていると主張していますが、Bluetooth 5.3 と 5.2 の違いは何ですか? 実際、これらは基本的に Bluetooth 5 のその後の更新バージョンであり、ほとんどの性能と機能に大きな違いはありません。 Bluetooth 5.3 と 5.2 の違い: 1. データ レート 1 と 5.3 は、最大 2Mbps のより高いデータ レートをサポートできます。 2. 5.2 は最大 1Mbps しか到達できませんが、5.3 はより高速かつ安定してデータを送信できることを意味します。 2. 暗号化制御の強化 2. Bluetooth 5.3 では、暗号化キーの長さの制御オプションが向上し、セキュリティが向上し、アクセス制御やその他のデバイスへの接続が向上します。 3. 同時に、管理者の制御がよりシンプルになるため、5.2 では不可能だった接続がより便利かつ高速になります。

i7-7700 が Windows 11 にアップグレードできない場合の解決策 i7-7700 が Windows 11 にアップグレードできない場合の解決策 Dec 26, 2023 pm 06:52 PM

i77700 のパフォーマンスは win11 を実行するのに完全に十分ですが、ユーザーは i77700 を win11 にアップグレードできないことがわかります。これは主に Microsoft によって課された制限が原因であるため、この制限をスキップする限りインストールできます。 i77700 は win11 にアップグレードできません: 1. Microsoft が CPU バージョンを制限しているためです。 2. win11 に直接アップグレードできるのは、Intel の第 8 世代以降のバージョンのみです 3. i77700 は第 7 世代として、win11 のアップグレードのニーズを満たすことができません。 4. ただし、i77700はパフォーマンス的にはwin11を快適に使用するのに完全に可能です。 5. したがって、このサイトの win11 直接インストール システムを使用できます。 6. ダウンロードが完了したら、ファイルを右クリックして「ロード」します。 7. ダブルクリックして「ワンクリック」を実行します。

ブラウザの互換性 ブラウザの互換性 Sep 14, 2023 am 11:08 AM

ブラウザ互換性を設定する方法には、適切な HTML および CSS 標準の選択、CSS プレフィックスとリセットの使用、ブラウザ互換性プレフィックス ライブラリの使用、ブラウザ機能の検出、ブラウザ互換性ツールの使用、およびクロスブラウザ テストの実施が含まれます。詳細な導入: 1. 適切な HTML および CSS 標準を選択します。HTML および CSS コードを作成するときは、W3C 標準に従うようにしてください。ブラウザによってサポートされる標準は異なりますが、標準に従うことで互換性を最大限に高めることができます。性別、2. CSS プレフィックスを使用する、など。

Go 言語は Linux システム上でどの程度互換性がありますか? Go 言語は Linux システム上でどの程度互換性がありますか? Mar 22, 2024 am 10:36 AM

Go 言語は Linux システムとの互換性が非常に優れており、さまざまな Linux ディストリビューション上でシームレスに実行でき、さまざまなアーキテクチャのプロセッサをサポートします。この記事では、Linux システムにおける Go 言語の互換性を紹介し、具体的なコード例を通じてその強力な適用性を示します。 1. Go 言語環境をインストールする Linux システムへの Go 言語環境のインストールは非常に簡単で、対応する Go バイナリ パッケージをダウンロードし、関連する環境変数を設定するだけです。 Ubuntu システムに Go 言語をインストールする手順は次のとおりです。

機内モードで Bluetooth ヘッドフォンを使用できますか? 機内モードで Bluetooth ヘッドフォンを使用できますか? Feb 19, 2024 pm 10:56 PM

現代技術の継続的な発展により、ワイヤレス Bluetooth ヘッドセットは人々の日常生活に欠かせないものになりました。ワイヤレスヘッドホンの登場により両手が解放され、音楽や通話などのエンターテインメントをより自由に楽しめるようになりました。ただし、飛行機に乗るときは、携帯電話を機内モードにするように求められることがよくあります。そこで質問は、機内モードで Bluetooth ヘッドフォンを使用できるかということです。この記事では、この疑問について考察していきます。まず、機内モードの機能と意味を理解しましょう。機内モードは携帯電話の特別なモードです

WIN10の互換性が失われた、それを回復する手順 WIN10の互換性が失われた、それを回復する手順 Mar 27, 2024 am 11:36 AM

1. プログラムを右クリックし、開いたプロパティウィンドウに [互換性] タブがないことを確認します。 2. Win10 デスクトップで、デスクトップ左下のスタートボタンを右クリックし、ポップアップメニューの[ファイル名を指定して実行]を選択します。 3. Win10 の実行ウィンドウが開きます。ウィンドウに「gpedit.msc」と入力し、[OK] ボタンをクリックします。 4. [ローカル グループ ポリシー エディター] ウィンドウが開くので、[コンピューターの構成/管理用テンプレート/Windows コンポーネント] メニュー項目をクリックします。 5. 開いた Windows コンポーネント メニューで [アプリケーション互換性] メニュー項目を見つけ、右側のウィンドウで [プログラム互換性プロパティ ページの削除] 設定項目を見つけます。 6. 設定項目を右クリックし、ポップアップメニューで

win10 ソフトウェアとの win11 互換性の問題の詳細な説明 win10 ソフトウェアとの win11 互換性の問題の詳細な説明 Jan 05, 2024 am 11:18 AM

win10システムのソフトウェアは完璧に最適化されていますが、最新のwin11ユーザーにとって、このシステムがサポートされるかどうかは誰もが気になるはずですので、以下ではwin10をサポートしていないwin11ソフトウェアについて詳しく紹介します。一緒に出かけます。 win11 は win10 ソフトウェアをサポートしていますか: 1. Win10 システム ソフトウェア、さらには Win7 システム アプリケーションにも十分な互換性があります。 2. Win11 システムを使用する専門家からのフィードバックによると、現時点ではアプリケーションの非互換性の問題はありません。 3. したがって、自信を持って大胆にアップグレードできますが、一般ユーザーは、Win11 の正式バージョンがリリースされるまでアップグレードする前に待つことをお勧めします。 4. Win11 は互換性が良いだけでなく、Windo も備えています

win10で互換性を確保するためのドライバーダウンロード方法を紹介 win10で互換性を確保するためのドライバーダウンロード方法を紹介 Jan 01, 2024 pm 06:59 PM

ハードウェア デバイスのドライバーは、このデバイスを通常に使用するために最も重要なプログラムの 1 つですが、ダウンロードしてインストールするドライバーに互換性がない場合があります。実際、システムは互換性のあるドライバーを自動的に見つけてダウンロードし、インストールすることができます。インストールします。一緒に見てみましょう。試してみてください。 win10 ドライバーと互換性を持たせる方法は? 1. まずデスクトップでこのコンピューターを見つけて右クリックし、[プロパティ] を選択して開きます 2. 次に左側で [デバイス マネージャー] を見つけて開きます 3. ダウンロードしたいデバイスを見つけて、デバイス マネージャーでインストールし、右クリックして [ドライバーの更新] を選択します。 4. 次に、[更新されたドライバー ソフトウェアを自動的に検索する] を選択します。 5. 最後に、しばらく待つと、次のウィンドウが表示されます。ドライバーのインストールは完了です。 。

See all articles