[Javascript]Javascriptで一苦労

せっかくアフィリエイト用に作ったJavascriptが、FireFoxでの実行は問題ないのに、IEで実行すると以下のエラーになる。
Web ページ エラーの詳細

ユーザー エージェント: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; InfoPath.1; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
タイムスタンプ: Thu, 27 Aug 2009 11:54:13 UTC


メッセージ: HTML Parsing Error: Unable to modify the parent container element before the child element is closed (KB927917)
ライン: 0
文字: 0
コード: 0
URI: http://www39.atwiki.jp/nekonoshin01/pages/96.html
Unable to modify the parent container element before the child element is closed」を直訳すると、「子エレメントがクローズされる前に親コンテナのエレメントを変更することは出来ない。」となる(のかな?)

いろいろ調べるに、ページが完全に表示しきる前に、以下のような操作をIEは許可しないのだそうだ。
document.getElementById('aaa').innerHTML = '<p>Hello world</p>';
じゃぁ、ページが完全に表示されてから、操作すれば良いんだろうと、さらにいろいろ調べるに、window.onloadを使えばよいらしいことを発見。そこで、自作関数のMyFunctionを以下のようにして呼び出すコードをHTML内に適当に埋めてみた。
<script type="text/javascript">
<!--
window.onload=MyFunction('myvaule');
-->
</script>
しかし、FireFoxでは動作したが、IEでは別の以下のエラーとなる。だめなのか。
Web ページ エラーの詳細

ユーザー エージェント: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; InfoPath.1; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
タイムスタンプ: Thu, 27 Aug 2009 12:07:33 UTC


メッセージ: 実装されていません

ライン: 207
文字: 1
コード: 0
URI: http://www39.atwiki.jp/nekonoshin01/pages/96.html
試行錯誤のうえ、最初のwindow.onloadの部分を下記に変えることでFireFoxとIE7,IE8で動くことを確認できた。
<script type="text/javascript">
<!--
window.onload=function(){MyFunction('myvaule');}
-->
</script>
解決するのにまる5日もかかってしまった。15年ぶりのプログラミングは楽しくも大変だ。

コメント

このブログの人気の投稿

[Minecraft: Wii U Edition] SEED:306959825 海底神殿、森の洋館、メサがある有名神マップ [ネタバレ注意]

【パソコン】富士通LIFEBOOKでUSBブートする

浴室の電球をLEDへ交換(National製白熱灯照明RL93013)

【パソコン】 WiinUProでSwitchプロ・コントローラーをPCで使ってみる

VOBファイルの結合

Windows XPのLANを有効化/無効化する

[Minecraft Bedrock] Lifeboatってなんだ?!