IEでjavascriptが動作しない
◇-?IEでjavascriptが動作しない-masky-10/21-16:02(196)-No.426403 ┣??Re:IEでjavascriptが動作しない...-masky-10/21-16:07(196)-No.426404 ┃ ┗??!Re:IEでjavascriptが動作しない...-774-10/21-17:16(195)-No.426407 ┃ ┗??!-Re:IEでjavascriptが動作しな...-masky-10/22-15:39(173)-No.426500 ┗?!Re:IEでjavascriptが動作しない...-テツヤ-10/22-10:52(177)-No.426480 ┗?!-Re:IEでjavascriptが動作しない...-masky-10/22-16:12(172)-No.426505 ┗?!-!Re:IEでjavascriptが動作しな...-テツヤ-10/22-18:15(170)-No.426512 ┗?!-!?Re:IEでjavascriptが動作しな...-masky-10/23-11:27(153)-No.426588 ┗?!-!?!Re:IEでjavascriptが動作し...-テツヤ-10/23-12:49(151)-No.426598 ┗?!-!?!【解決】Re:IEでjavascript...-masky-10/23-17:58(146)-No.426648 ┗?!-!?!K~Re:IEでjavascriptが動作...-テツヤ-10/23-18:48(145)-No.426653
▲このページのトップに戻る
▲このページのトップに戻る
▲このページのトップに戻る
▲このページのトップに戻る
▲このページのトップに戻る
▲このページのトップに戻る
▲このページのトップに戻る
▲このページのトップに戻る
▲このページのトップに戻る
▲このページのトップに戻る
▲このページのトップに戻る
426403 | IEでjavascriptが動作しない | masky | 2007/10/21-16:02 |
メーカー名:DELL デル OS名:WindowsXp Professional パソコン名:X10-60256 トラブル現象:ホームページ全般 ソフト関連:ブラウザInternetExplorer -- 下記のようにjavascriptを使ったホームページを作っています。 <td width="132" valign="top"><div align="center"><a href=http://xxx/details.jsp?sc_firm_side_code=044101-29181-028091&search_type=area&mode=list> <img src="yyy/00028901p.gif" name="img028091" border="0"> <script type="text/javascript"><!-- if(document.img028091.width > document.img028091.height){ ★ document.img028091.width=120; document.img028091.height=90; }else{ document.img028091.width=90; document.img028091.height=120; } // --></script> </a></div></td> 上記「★」の部分で、画像が縦長か横長かを判定し、それによってサイズを変えています。 【問題点】 全ての画像が縦長で表示されてしまう。ただし、Firefoxの場合は、画像をクリックしてリンク先に移動し、元のページに戻ると正常に(仕様通りに)表示される。 IE6の場合は、常に縦長で表示される。 ちなみにjavascriptは有効になっています。 お手数ですが、ご教授ください。よろしくお願いいたします。 |
▲このページのトップに戻る
426404 | Re:IEでjavascriptが動作しない | masky | 2007/10/21-16:07 |
記事番号426403へのコメント 補足します。 > 全ての画像が縦長で表示されてしまう。 全ての画像が、width=90 height=120 で表示されてしまいます。 (なのでjavascriptは動作しているが、判定がうまくいっていない?) |
▲このページのトップに戻る
426407 | Re:IEでjavascriptが動作しない | 774 | 2007/10/21-17:16 |
記事番号426404へのコメント maskyさんは No.426404「Re:IEでjavascriptが動作しない」で書きました。 こちらのIE6、FireFox2、Opera9環境では正常に表示されました。 他の部分で不具合が起きているのでは? |
▲このページのトップに戻る
426500 | Re:IEでjavascriptが動作しない | masky | 2007/10/22-15:39 |
記事番号426407へのコメント 774さんは No.426407「Re:IEでjavascriptが動作しない」で書きました。 >774さん コメントありがとうございます! そうですか、では他の部分に目を向けてみます。 |
▲このページのトップに戻る
426480 | Re:IEでjavascriptが動作しない | テツヤ | 2007/10/22-10:52 |
記事番号426403へのコメント IMG要素が出現してからすぐだと、画像の大きさが確定していない可能性があると思います。 <BODY onload="Init()"> <IMG …> <SCRIPT type="text/JavaScript"><!-- function Init(){ ここで記述する } //--></SCRIPT> |
▲このページのトップに戻る
426505 | Re:IEでjavascriptが動作しない | masky | 2007/10/22-16:12 |
記事番号426480へのコメント テツヤさんは No.426480「Re:IEでjavascriptが動作しない」で書きました。 >テツヤさん コメントありがとうございます! 早速試してみたところ、複数の画像のうち、最後の1つだけが正常に表示されました。 それ以外は、オリジナルのサイズで表示されてしまいました。 【HTML】 <body onload="Init()"> 〜中略〜 <img src="http://www.century-21.co.jp/special/builder/genbaimage/00028091p.gif" name="img028091" border="0"> <script type="text/javascript"><!-- function Init(){ if(document.img028091.width > document.img028091.height){ document.img028091.width=120; document.img028091.height=90; }else{ document.img028091.width=90; document.img028091.height=120; } } // --></script> 〜以降、複数の画像について同様の記述〜 複数の画像がある場合は、さらに何か記述する必要があるのでしょうか? お手数ですが教えてください。 |
▲このページのトップに戻る
426512 | Re:IEでjavascriptが動作しない | テツヤ | 2007/10/22-18:15 |
記事番号426505へのコメント maskyさんは No.426505「Re:IEでjavascriptが動作しない」で書きました。 > 複数の画像がある場合は、さらに何か記述する必要があるのでしょうか? > お手数ですが教えてください。 その必要な分の記述をするしかないと思います。 画像がかなりある場合はそれなりに組む。 例えば画像ファイル名、横幅、高さのデータを持つ配列を定義してそれを処理するとか。わかる?、具体的なソースコードが必要?。 具体的には…ちょっと組んでみた、《 <HTML> <HEAD> <TITLE>タイトル</TITLE> <META http-equiv="content-type" content="text/html; charset=SHIFT_JIS"> <META http-equiv="Content-Style-Type" content="text/css"> <META http-equiv="Content-Script-Type" content="text/javascript"> <STYLE type="text/css"><!-- IMG.Pict{border:0}/* 他の画像に影響することを防ぐ為に指定した方がいい */ --></STYLE> </HEAD> <BODY onload="Init()"> <IMG class=Pict src="http://www.century-21.co.jp/special/builder/genbaimage/00028091p.gif" name="img028091"> <IMG class=Pict src="http://www.century-21.co.jp/special/builder/genbaimage/00028092p.gif" name="img028092"> <IMG class=Pict src="http://www.century-21.co.jp/special/builder/genbaimage/00028093p.gif" name="img028093"> <SCRIPT type="text/JavaScript"><!-- function Init(){ var IObjC=document.images; //画像のコレクションを得る var I; for(I=0; I<IObjC.length; I++){ if(IObjC(I).name.indexOf("img")>=0){ //nameに「img」を含んでいるなら if(IObjC(I).width>IObjC(I).height){ IObjC(I).width=120; IObjC(I).height=90; }else{ IObjC(I).width=90; IObjC(I).height=120; } } } } --></SCRIPT> </BODY> </HTML> 》こんな感じでどうですか?。 画像は文書に最初から記述してあるので、配列データは要らなかったな。 |
▲このページのトップに戻る
426588 | Re:IEでjavascriptが動作しない | masky | 2007/10/23-11:27 |
記事番号426512へのコメント テツヤさんは No.426512「Re:IEでjavascriptが動作しない」で書きました。 なるほど。javascriptのオブジェクトはこうやって書くんですね。 試してみたところ、IE6では正常に表示されましたが、 Firefoxではオリジナルサイズで表示されてしまいました。 調べてみたんですが、原因が分かりません。 度々申し訳ありませんが教えてください。 |
▲このページのトップに戻る
426598 | Re:IEでjavascriptが動作しない | テツヤ | 2007/10/23-12:49 |
記事番号426588へのコメント あ、そうか…Fierfoxもか。 alert(…)でデータを表示してみたら、IObjCはコレクションなので「IObjC(I)」でOKだと思ったのですがFirefoxでは「IObjC[I]」の配列指定でないとダメでした。 <HTML> <HEAD> <TITLE>Test12</TITLE> <META http-equiv="content-type" content="text/html; charset=SHIFT_JIS"> <META http-equiv="Content-Style-Type" content="text/css"> <META http-equiv="Content-Script-Type" content="text/javascript"> <STYLE type="text/css"><!-- IMG.Pict{border:0}/* 他の画像に影響することを防ぐ為に指定した方がいい */ --></STYLE> </HEAD> <BODY onload="Init()"> <IMG class=Pict src="http://www.century-21.co.jp/special/builder/genbaimage/00028091p.gif" name="img028091"> <IMG class=Pict src="http://www.century-21.co.jp/special/builder/genbaimage/00028092p.gif" name="img028092"> <IMG class=Pict src="http://www.century-21.co.jp/special/builder/genbaimage/00028093p.gif" name="img028093"> <SCRIPT type="text/JavaScript"><!-- function Init(){ var IObjC=document.images; //画像のコレクションを得る var I; for(I=0; I<IObjC.length; I++){ if(IObjC[I].name.indexOf("img")>=0){ //nameに「img」を含んでいるなら if(IObjC[I].width>IObjC[I].height){ IObjC[I].width=120; IObjC[I].height=90; }else{ IObjC[I].width=90; IObjC[I].height=120; } } } } --></SCRIPT> </BODY> </HTML> |
▲このページのトップに戻る
426648 | Re:IEでjavascriptが動作しない | masky | 2007/10/23-17:58 |
記事番号426598へのコメント テツヤさんは No.426598「Re:IEでjavascriptが動作しない」で書きました。 テツヤさんありがとうございました! 上記の記述で問題なく動作しました。 結果の確認は、alertを使っているんですね。 非常に勉強になりました。ありがとうございました。 |
▲このページのトップに戻る
426653 | Re:IEでjavascriptが動作しない | テツヤ | 2007/10/23-18:48 |
記事番号426648へのコメント デバッグには以下のような感じのを使います alert("D="+D)//一般的に使用。 if(I==0)alert(D);//ループ中に使用するなど。 window.status="D="+D;//画面を止めたくない場合。 try{ //実行するスクリプトの記述。エラーが起きそうな場所を山を掛ける時に使う方法。 }catch(Err){ alert(Err.description+":D="+D) } //●Debug用 //処理:メッセージの表示 //編集:2007.10.20 by T.A. //呼出:Message(Str); //引数:Str=文字列、その他のタイプの値。 //解説:1秒間画面に表示。 document.write("<SPAN id=DocMessage style=\"padding:5px; background-color:menu; color:black; position:absolute; display:none\"></SPAN>") var MessageTimerID=false; function Message(Str){ if(!MessageTimerID){ DocMessage.innerHTML=Str; }else{ //当処理が二重起動だ clearTimeout(MessageTimerID); DocMessage.innerHTML=DocMessage.innerHTML+"<BR>"+Str; } DocMessage.style.left=(document.body.scrollLeft+100)+"px"; DocMessage.style.top=(document.body.scrollTop+100)+"px"; DocMessage.style.zIndex=zIndexTikai+1; DocMessage.style.display="inline"; MessageTimerID=setTimeout("MessageOff()",1000); } function MessageOff(){ DocMessage.style.display="none"; MessageTimerID=false; } //そしてスクリプト中に Message("D="+D) //と記述する 状況に応じて色々あります。 |
何か一言(本ページで参考になったならないを含めて残してあります)
◎:解決 ○:参考になった ×:参考にならなかった !:アドバイスあり
参考 | 回数 | 投稿日時 | 何か一言 |
---|