- 締切済み
JavaScriptコンソールエラーの回避方法。
あるJavaScriptのサンプルページで見つけた、本のページを開くイメージが見られるJavaScriptを自分のHPに使おうとしています。IE6.0とネスケの7.1で見られるようにしたいのですが、IEでしかみられませんでした。ここで、回避方法を探していてJavaScriptコンソールというものを知り表示させてみたのですが、 myobj[1]has no properties というエラーが表示されました。 ですが、私の知識が低いので、このエラーをどのように変えれば回避できるのか分からす困っています。 この情報だけで、何か回避方法が分かる方いらっしゃいますでしょうか?どこのサンプルかURLを明記した方がよろしいでしょうか?宜しくお願いいたします。 また、ネスケで表示されないJavaScriptは、一般的にはどのように回避するべきなのでしょうか? それとも、回避方法がなくあきらめるしかないのでしょうか?基本的な質問で申し訳ありません。お恥ずかしい限りです。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- hinako913
- ベストアンサー率100% (1/1)
どうもです。 参考にされたというHTMLを見てみたのですが、 DXImageTransform.Microsoft.Matrixという機能がIE限定っぽいですね。 ネスケやFirefoxで表示しようとするとそういう機能がないために、エラーとなってしまうようです。 (参考URLを見てください) だったら何で myobj[1]has no properties というエラーが表示されるのかと思われるでしょうが、 仕様だと思ってくださいw 本来の原因とは関係ないところでエラー表示されるものなんです。。。 私の実力では代替案が思い浮かばないので申し訳ない限りです。 ブラウザ判別でネスケの時には画像処理を実行させないようにする、とアドバイスするのが精一杯です。 以上です。
- hinako913
- ベストアンサー率100% (1/1)
>myobj[1]has no properties >この情報だけで、何か回避方法が分かる方・・・(省略) これは「myobjという変数は存在しているが、処理誤りである」という意味かと。 変数の宣言部分と実際にエラーが発生している箇所を確認してみてください。 推測ですが、 var strVal; strVal[1] = "a"; こんな記述をしたら同様のエラーが確認できたので、変数宣言部分を var strVal = new Array(3); このように変更すれば直るかも。 私の推測が見当違いでしたらソース掲載お願いします (^^; >ネスケで表示されないJavaScriptは、一般的にはどのように回避するべきなのでしょうか? ブラウザの判別で対応する方法があるかと。 function f_Check(){ var NS = navigator.appName == "Netscape"; var MS = navigator.appName == "Microsoft Internet Explorer"; if (NS) { alert('ネスケ!'); } if (MS) { alert('アイイ!'); } } 少しでも参考になってもらえれば幸いです。
補足
これだけの情報で、ここまで考えていただけるなんて頭が下がります。早速試してみたのですが、 var strVal = new Array(3); に変更してみても function f_Check(){ var NS = navigator.appName == "Netscape"; var MS = navigator.appName == "Microsoft Internet Explorer"; if (NS) { alert('ネスケ!'); } if (MS) { alert('アイイ!'); } } を追加してみても、やはり駄目でした。 そこで、ソースをお教えしたいと思います。 これは、ある方のサンプルページに載っていたものなので少々ためらいがありますが、下記にURLを明記いたします。 http://www.geocities.jp/ijichi88226/honbun/honbun.html こちらのページの写真集(3)というサンプルです。 宜しくお願いいたします。
- guest98
- ベストアンサー率23% (4/17)
myobj[1]を使おうとしたけど無いよってことだと思うので、myobj[1]周辺のソースが必要じゃないでしょうか。。。
補足
そうですか。周辺のソースとは例えばどのようなものを必要としているのでしょうか? サンプルをいただけると幸いです。宜しくお願いいたします。
- papillon68
- ベストアンサー率61% (42/68)
RRHHさんこんにちは、papillon68と申します。 RRHHさんがおっしゃるようにこれだけでは何が原因で起きたエラーなのかが正しく回答者に伝わらないと思います。 IEとネスケでjavascriptの構文が違う部分があります。 たぶんそのあたりでひっかかっているのではと思います。 RRHHさんが使われたスクリプトはIE限定のものではないでしょうか。 よく、問題のスクリプトを実行する前にブラウザの判断をjavascriptにより行い、 ブラウザに合わせたスクリプトを実行するように条件判断をします。
補足
早々にご対応有難うございます。 javascriptでIE限定ものか否かの判断の方法をもう少し詳しく教えていただけないでしょうか? 勉強不足で申し訳ありません。
お礼
そうですか。 じゃあ、悔しいですが諦めるしか無いようですね。 いろいろと有難うございました。