2009年8月28日

[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年ぶりのプログラミングは楽しくも大変だ。

0 件のコメント:

コメントを投稿

ラベル

Android Android-x86 apache Backup Blog CentOS DDNS Debian DIY DTM Eclipse Excel Fedora Firefox Google Chrome Hyper-V java Kreetingkard KVM Linux Linux Mint Linuxコマンド例 Linuxシステム管理 Linux管理 Minecraft Minecraft: Wii U Edition Nintendo 3DS nmap O'REILLY Office KB openssl OpenStack openSUSE openSUSE 12 Parted Magic patch(1) PC DIY PC自作 pgrep(1) PHP Picasa pmap(1) PMMP Postfix postgresql printer ps(1) pukiwiki QEMU RHEL rhel5 rhel6 samba sar(1) savscan(1) savupdate(1) Scientific Linux 6 security SELinux SEO showrgb(1) Slackware Linux SLES smbclient(1) smbstatus(1) snmpd(8) squid startx(1) stat(1) strace(1) SUSE syslogd(8) tac(1) tee(1) testdisk Thunderbird timezone tomcat touch(1) tr(1) trouble shooting tuning ubuntu uname(1) USB tethering USBブート USBメモリ vi(1) vim(1) virtualbox VMWare VMWare Player vmware server VMware Tools VNC Web Services Wii U Windows wordpress x window XAMPP イベント・祭り インターネット おもちゃ屋 カツカレー ギフト クリーニング店 ゲーム ゴミ コンビニ サンプルコード スプラトゥーン2 スポーツ スポット スマホ ソースコード その他 ダーツ ツールTIPS つぶやき ディスク設定 デジタルDIY デジタルガジェット デスクトップ設定 ドラッグストア トラブル トラブルシューティング ニュース ネットワーク設定 バス観光 バックアップ・リストア ビリヤード ブログパーツ プログラミング ブログ作成 ペット用品店 ホームセンター マンションギャラリー メダリーフ リモートアクセス設定 リラクゼーション レジストリ 為替 映画館 英語勉強メモ 横浜市 横浜市交通局 横浜矢向周辺 横濱たちばな亭 屋台 屋内プレイランド 屋内遊園地 温泉 花火 画像 海水浴場 外食 街猫 学校 楽天ウェブサービス 鎌倉 交通 公園 公共施設 国内x86サーバ 災害 雑貨店 参考文献 散髪 使い方 子供教室 死因 寺社 車関連 習い事 住居メンテナンス 出前 情報 食料品店 尻手駅前 新横浜 新横浜駅 新規出店情報 新築 新鶴見公園 新鶴見人道橋 神社 辛スナック 水族館 川崎 川崎駅 川崎駅周辺 川崎市南部市場 川崎大師 卓球 段葛 中古屋 中山ビル 釣り施設 鶴岡八幡宮 鶴見 鶴見神社 電気店 電車 統計 動物園 南武線 日枝神社 買い物 買物 博物館等 八景島シーパラダイス 美容・サロン 百貨店 病院 風呂 複合商業施設 保育園 本屋 漫画 漫画喫茶 矢向 遊園地