症状: 要素の innerHTML の値を設定するときに、提供された HTML コードに js スクリプトが含まれている場合、多くの場合、これらのスクリプトは無効であるか、一部のブラウザーでは有効でも他のブラウザーでは有効ではありません。
原因: ブラウザーが異なれば、innerHTML に挿入されたスクリプトを処理する方法も異なります。練習後、次のように要約できます:
IE の場合、まず script タグに defer 属性が必要です。次に、挿入時に innerHTML が属するノードが DOM ツリー内に存在する必要があります。
Firefox および Opera の場合、innerHTML が属するノードは、挿入時に DOM ツリー内に存在することはできません。
上記の結論に基づいて、一般的な設定の innerHTML メソッドは次のようになります。
/*
* 説明: クロスブラウザ設定 innerHTML メソッド
* スクリプトとスタイルを含む HTML コードの挿入を許可します
* パラメータ:
* el: DOM ツリー内のノード、その innerHTML
を設定します
* htmlCode: 挿入された HTML コード
*テスト済みのブラウザ: ie5、firefox1.5、opera8.5
*/
var set_innerHTML = 関数 (el, htmlCode)
{var ua = navigator.userAgent.toLowerCase();
if (ua.indexOf('msie') >= 0 && ua.indexOf('opera')
{htmlCode = '
IE
' htmlCode;
htmlCode = htmlCode.replace(/
著者別の最新記事
-
2024-10-22 09:46:29
-
2024-10-13 13:53:41
-
2024-10-12 12:15:51
-
2024-10-11 22:47:31
-
2024-10-11 19:36:51
-
2024-10-11 15:50:41
-
2024-10-11 15:07:41
-
2024-10-11 14:21:21
-
2024-10-11 12:59:11
-
2024-10-11 12:17:31