HTMLフロントエンドプログラミングテクニック

1730 ワード

IE 8下DIVネスト高さ適応
IE 8はデフォルトではDIVに高度に適応しないが、IE 6、7ではDIVの高さをautoに設定すれば適応できる.解決方法:親DIVのCSS設定display:table0;内部ネストDIVの高さに合わせて適応できます.
第2世代の身分証明書番号の検証メカニズム
次のJSコードは二世代の身分証明書の検証を行う(コードは盛大なネットから転載する):
iW = new Array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1);

iSum = 0;

for( i=0;i<17;i++){

    iC = v_card.charAt(i) ;

    iVal = parseInt(iC);

    iSum += iVal * iW[i];

}

iJYM = iSum % 11;

var sJYM = '';

if(iJYM == 0) sJYM = "1";

else if(iJYM == 1 ) sJYM = "0";

else if(iJYM == 2 ) sJYM = "x";

else if(iJYM == 3 ) sJYM = "9";

else if(iJYM == 4 ) sJYM = "8";

else if(iJYM == 5 ) sJYM = "7";

else if(iJYM == 6 ) sJYM = "6";

else if(iJYM == 7 ) sJYM = "5";

else if(iJYM == 8 ) sJYM = "4";

else if(iJYM == 9) sJYM = "3";

else if(iJYM == 10) sJYM = "2";

var cCheck = v_card.charAt(17).toLowerCase();

if( cCheck != sJYM ){

    return false; //        

}

ページを開くとStack overflow at line:0
京東やタオバオのサイトを開くと、JSのエラーメッセージStack overflow at line:0がポップアップされます.
初歩的な分析では、ページに含まれる画像ファイルが多すぎるため、一部の画像が正しくロードされていないため、このエラーが発生した可能性があります.画像呼び出しコードを表示すると、大体次のようになります.
製品
IMGでエラー処理関数onerrorが使用されているため、srcで指定されたピクチャがロードできないか、ネットワーク遅延が正しくロードされていない場合、onerrorイベントがトリガーされます.ただしonerrorイベントを実行すると、
リダイレクトされたピクチャsrcがまだロードできない場合、onerrorがデッドサイクルを再度トリガーするため、JSエラーが報告されます.
onerrorイベントを安全に使用するには、次の関数を直接呼び出すことができます.

function noexist(){
var img=event.srcElement;
img.src=”nopic.gif”;
img.onerror=null;//イベントのクリア
}
//–>