オブジェクトを指定してくださいのエラーが出る!IEブラウザでの表示で困っている

このQ&Aのポイント
  • IEブラウザで表示させると、一度だけlogo.gifが表示されるが、その後に「エラー:オブジェクトを指定してください」というエラーが出る。エラー内容で指定されている行は1行目だが、<html>タグしかないため原因が分からない。
  • IEブラウザで表示させると、最初にlogo.gifが表示されるが、その後に「エラー:オブジェクトを指定してください」というエラーが発生する。エラーメッセージで指定されている行は1行目であり、<html>タグしか存在しないため原因が不明。
  • IEブラウザで表示させると、最初にlogo.gifが表示されるが、その後に「エラー:オブジェクトを指定してください」というエラーが表示される。エラーメッセージで指定されている行は1行目であり、<html>タグのみが存在するため、原因が不明。
回答を見る
  • ベストアンサー

オブジェクトを指定してくださいのエラーが出ます

<html> <head> <META http-equiv="Content-Script-Type" content="text/javascript"> <script langage="javascript"> <!-- function start(){ time=setTimeout("jsimage()",1000); } var c=0; function jsimage(){ clearTimeout(time); if(c<=3){ document.write('<div style="position:absolute;left:'+(c*30)+'px;top:0px">\n'); document.write('<img src="logo.gif">\n</div>'); time=setTimeout("jsimage()",1000); c=c+1; } } --> </script> </head> <body> <a href="javascript:start()">start</a> </body> </html> これをIEブラウザで表示させると、一回だけlogo.gifが表示されるのですが、その後に 「エラー:オブジェクトを指定してください」とエラーが出ます。このエラー内容でで指定されているラインは1です、1行目には<html>タグしかないので、よく分からなくて困っています。  何かいい知恵がありましたら教えてください。お願いします

質問者が選んだベストアンサー

  • ベストアンサー
  • steel_gray
  • ベストアンサー率66% (1052/1578)
回答No.1

body内、以外でdocument.writeを使うと新しいdocumentを開いてそこに書き出します。 (たぶん、IEの場合だけで普通はdocument.openを先に実行する必要があります。) なので、2回目以降は1行目がエラーとなってしまいます。 ページ内を書き換えるにはDOMのインタフェースにのっとって書き換えるか、innerHTML等を使うとよいでしょう。 たぶんdocument.writeの動作を勘違いされているので真の意図がわからないのですが、 これは1秒ごとに最大3つまでlogo.gifを書き足すという意図なのでしょうか? それともlogo.gifの位置を移動させたいだけなのでしょうか? 真の意図が判れば具体的なコードもかけるのですが、今の状態ではちょっとパスさせてください。

yuki1011
質問者

補足

アドバイスありがとうございます。 作りたい物のイメージとしては、「線の絵」を表示させて、そのすぐ隣にまたその絵を表示させて・・・という形でタイマーで動かして、線が徐々に伸びていくように見せたいのです。

その他の回答 (1)

  • steel_gray
  • ベストアンサー率66% (1052/1578)
回答No.2

サンプルです。 オブジェクトの作成や追加などにはDOMと呼ばれるインターフェースを使っています。(参考URL) <html> <head> <title></title> <script type="text/javascript"> var AddCount=3;//実行回数 function addImage(){ //追加するオーナーオブジェクト var owner = document.getElementById('line'); //新しいimgオブジェクト var newImage = document.createElement('img'); newImage.src='logo.gif'; //オーナーオブジェクトに新しいimgを追加 owner.appendChild(newImage); //回数の判定、タイマーセット if(--AddCount ) setTimeout(addImage,1000); } </script> </head> <body onload="addImage()"> <p id="line"></p> </body> </html>

参考URL:
http://www.parkcity.ne.jp/~chaichan/src/javascdom00.htm
yuki1011
質問者

お礼

ありがとうございます! 参考URLも早速見させていただきました。メソッド等を闇雲に書くのではなく、まずは概念からきちんと勉強しなおします。  数日にわたって面倒を見ていただいて、本当に助かりました!

関連するQ&A

  • 「オブジェクトを指定してください」とエラーが出ます

    お世話になります。どなたかご教授願います。 googleのピンポイント天気予報だけを表示させるサイトを制作しているのですが、 IEで開くと「オブジェクトを指定してください」とのエラーが発生してしまいます。 色々と調べたのですが、はっきりとした原因がわかりません。 原因のもとはJavaScriptにあるということはわかり、色々と試したのですが 解決方法がわかりません。 JavaScriptに関してはあまり知識がありません。 どなたかお助けいただけますでしょうか? 下記にコードとurlを記載します。 (URL) http://www.yaita-eco-house.server-cowboy.net/rss/weather_rss.html (コード) <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja" dir="ltr"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Style-Type" content="text/css" /> <meta http-equiv="Content-Script-Type" content="text/javascript" /> <script type="text/javascript"> <!-- window.resizeTo(606, 456); // --> </script> <script type="text/javascript"> <!-- function TigilError() { return true; } window.onerror = TigilError; //--> </script> <script type="text/javascript"> <!-- function hidScrollBar() { document.body.style.overflow = "hidden"; } // --> </script> <script src="http://www.gmodules.com/ig/ifr?url=http://tmyymmt.mine.nu/gg/PinpointWeatherJapan.xml&amp;up_up_local=9%2F4120%2F9211.html&amp;up_up_local2=not_select&amp;up_up_mode=2&amp;up_up_minimum_width=0&amp;up_up_show_label=1&amp;up_up_show_unit=1&amp;up_up_show_today=1&amp;up_up_show_tomorrow=1&amp;up_up_weekday_max=4&amp;up_up_show_icon=3&amp;up_up_show_temperature=1&amp;up_up_temperature_unit=auto&amp;up_up_show_humidity=1&amp;up_up_show_precipitation=0&amp;up_up_show_wind=0&amp;up_up_show_chance_of_rain=1&amp;up_up_color_set=green&amp;up_up_font_size=14&amp;up_up_middle_space=1&amp;synd=open&amp;w=550&amp;h=430&amp;title=&amp;lang=ja&amp;country=ALL&amp;border=%23ffffff%7C1px%2C1px+solid+%2366ccff%7C1px%2C2px+solid+%2366ccff&amp;output=js" type="text/javascript"></script> </head> <body bgcolor="#ddedd1"> </body> </html> 宜しくお願いいたします。

  • 実行できず、エラーになってしまう(オブジェクトを指定してください。)

    下記のソースを実行した場合、エラーになってしまいます。 エラー個所がどうしてもわかりません。 どなたか教えていただけないでしょうか。 よろしくお願いします。 <html> <head> <script type="text/javascript"> <!-- function froms() { for (i = 0; i <= 5; i++) { document.writeln("<INPUT TYPE=\"text\" SIZE=\"2\" READONLY>\n"); document.writeln("<INPUT TYPE=\"text\" SIZE=\"9\" READONLY>\n"); document.writeln("<INPUT TYPE=\"text\" SIZE=\"10\" READONLY>\n"); document.writeln("<INPUT TYPE=\"text\" SIZE=\"3\" READONLY>\n"); } } // --> </script> </head> <body> <script type="text/javascript">forms();</script> </body> </html> -----------エラーメッセージ--------------- ライン :17(現在は22行です(<script type="text/javascript">forms();</script>)) 文字 :1 エラー :オブジェクトを指定してください。 コード :0 URL :保存している場所

  • 文書オブジェクトについて???

    フォームボタンの画像を入れ替えたいのですが、 正しく動きません。何が悪いのでしょうか? 文字コードはEUC-JPを使っていますが、関係あるのでしょうか? <HTML> <HEAD> <META http-equiv="Content-Type" content="text/html; charset=EUC-JP"> <TITLE>Javascript</TITLE> <script type="text/javascript"> <!-- function btn_click(dat) { if(teban == 1){ document.forms['btn'].elements['btn1'].src = "./img/b.gif"; }else{ document.forms['btn'].elements['btn2'].src = "./img/d.gif"; } } --> </script> </HEAD> <BODY> フォームのボタンを使ってクリックすると画像が変わる  ようにしたい <form name="btn"> <input name="btn1" type="image" src="./img/a.gif" onClick="play_start(1); return false;"> <input name="btn2" type="image" src="./img/c.gif" onClick="play_start(2); return false;"> </form> </BODY> </HTML>

  • 「オブジェクトを指定してください」とのエラー

    お世話になります。 IEにて「オブジェクトを指定してください」とのエラーが発生します。 原因はどこにあるでしょうか?ご教示ください。 また、このような事態に陥らないための対策等をあわせて教えていただけると助かります。下記コード。 <html> <head> <title>test</title> <script type="text/javascript"> function getin(){ test = document.getElementById("output").innnerHTML ; alert test ; } </script> </head> <body> <p id="output"></p> <p><input type="button" value="InnerHTML" onClick="getin()"></p> </script> </body> </html>

  • ソースの初歩的な質問です

    スタートを押下したら、alertの"消します""出します"の通りに、 obj.gifが反応するようにするソースを作成したいです。 以下のソースでは対象オブジェクトが見つからないという エラーが返ってきてしまいます。 どの様に修正すればよいのか教えてください。 宜しくお願い致します。 <html> <head> <script type="text/JavaScript"> function Start(lyrball) { alert("消します"); document.getElementById(lyrball).style.visibility = "hidden"; alert("出します"); document.getElementById(lyrball).style.visibility = "visible"; } </script> </head> <body> <a href="JavaScript:Start()">スタート</a> <div id="lyrball"> <img src="obj.gif"> </div> </body> </html>

  • 「nullまたはオブジェクトではありません」というエラーが出ます。

    こんにちは、IE7、VISTAで試しています。 エラーもなく動いたのですが、 sClientXとsClientYの値をフォームメールでデータ送信したくて clientX=<input type="text" id=sClientX><br> clientY=<input type="text" id=sClientY><br> という部分を<form>内に入れると 「sClientXはnullまたはオブジェクトではありません」 というエラーが出ます。 エラーの原因はなんでしょうか? <HTML> <HEAD> <SCRIPT language="JavaScript"> <!-- var sample; var sClientX; var sClientY; var target; var isDrag=0; function document_onmousedown(){ isDrag=1; target=event.srcElement;} function document_onmousemove(){ if( isDrag ){ target.style.top=event.clientY-8; target.style.left=event.clientX-8;} } function document_onmouseup(){ isDrag=0; sClientX.value = document.getElementById('sample').style.left; sClientY.value = document.getElementById('sample').style.top; } document.onmouseup = fOnmousemove; function fOnmousemove() { } //--> </SCRIPT> </HEAD> <BODY onmousemove="document_onmousemove()" onmousedown= "document_onmousedown()" onmouseup="document_onmouseup()"> <DIV style="position:absolute" id=sample> このオブジェクトが移動します </DIV> <DIV id=text1 style="position:absolute;font-size:24px; cursor:hand"> </DIV> <form> clientX=<input type="text" id=sClientX><br> clientY=<input type="text" id=sClientY><br> </form> </BODY> </HTML>

  • javaScript Nullまたはオブジェクトではありません エラー

    javaScriptは詳しくなく、サンプルプログラムを 参考にさせていただきながらテストをしています。 現在javaScriptで、タブ切り替えで表示内容を変更し、 表示されたフォームに、data.textの内容を表示するという テストをしています。 [コード] <html> <head> <meta http-equiv="content-type" content="text/html;charset=shift_jis"> <title></title> <script type="text/javascript"><!-- function loadTextFile() { httpObj = new ActiveXObject("Microsoft.XMLHTTP"); httpObj.onreadystatechange = statusCheck; httpObj.open("GET","data.txt",true); httpObj.send(null); } function statusCheck() { if ((httpObj.readyState == 4) && (httpObj.status == 200)) { displayData(); } } function displayData() { document.ajaxForm.result.value = httpObj.responseText; } // --></script> </head> <body> 省略(タブの切り替え設定) <div style="display:none" id="NAME11"> test1 </div> <div style="display:none" id="NAME22"> <form name="ajaxForm"> <input name="button" type="button" onClick="loadTextFile()" value="読み込み"> <textarea name="result" cols="40" rows="5"></textarea> </form> </div> <div style="display:none" id="NAME33"> test3 </div> </body> </html> ------------------------ 上記を実行すると "document.ajaxForm.resultは Nullまたはオブジェクトではありません" というエラーになってしまいます。 よろしくお願いします。

  • 初歩的なソースで質問です

    [スタート] をクリックするとアラートの"消します"が出現し、 OKするとAA.gifが消え、 再度[スタート] をクリックするとアラートの"出します"が出現し、 OKするとAA.gifが表示されるという 一連の流れを繰り返すソースを作りたいです。 現状では[スタート] とAA.gifが表示されていて、 "消します"のアラートをOKするとエラーになってAA.gifが消えません。 document.getelementbyid( lyr ).style.visibility = "hidden"; (9行目行)に対して、 「オブジェクトでサポートされていないプロパティまたはメソッドです」とエラー表示されます。 どのように修正したらいいのか教えてください。 ソースを以下に貼っておきます。 <html> <head> <script type="text/javascript"> //visf=表示フラグ(表示ならtrue、非表示ならfalse) function lyrsetvisibility( lyr , visf ) { if ( visf ) { document.getelementbyid( lyr ).style.visibility = "visible"; } else { document.getelementbyid( lyr ).style.visibility = "hidden"; } } //実行 function start() { alert("消します"); lyrsetvisibility( "lyrball" , false ); alert("出します"); lyrsetvisibility( "lyrball" , true ); } </script> </head> <body> <div id="lyrball" style="position:absolute; left:128px; top:128px;"> <img src="AA.gif"> </div> <a href="javascript:start()"> [スタート] </a> </body> </html>

  • スクロールしても画像・文字がついてくる

    教えて!goo内にて、スクロールしても画像もしくは、文字がついてくるJavascriptのコードが下記のようにありました。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <meta http-equiv="Content-Script-Type" content="text/javascript"> <script type="text/javascript"> function F1() { v='.pixelTop=';dS='';sD='.style';y='document.body.scrollTop';} function F2() { obj='obj1';yy=eval(y);eval(dS+obj+sD+v+yy);setTimeout('F2()',10);} </script> </head> <body onload="F1();F2();"> <div id='obj1' style='position:absolute;left:0px; top:0px;'> ここが動きます。 </div> <script type="text/javascript"> for(var i=0;i<100;i++){document.write('<br>')} </script> </body> </html> そこで質問なのですが、DOCTYPEを下記のように変更すると動作しなくなったのですが、この原因が調べてもわかりませんでしたので、どなたか原因がわかる方教えていただけませんでしょうか? 使用ブラウザは、IE6 です。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> ↓ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

  • 文字を一文字ずつ表示

    JavaScriptで文字を一文字ずつ表示するサンプルを見つけ、使おうとしたところdocument.allが使われていた為、ネスケで対応できない事が分かりました。ネスケ4.7で対応するようにするにはどのように変えたらいいのか教えて頂きたく宜しくお願いいたします。 <SCRIPT Language="JavaScript"> <!-- var msg="Welcome!!"; i=0; function Start(){ if(i<=msg.length){ if(document.all){ myText.innerHTML = msg.substring(0,i); }else if(document.layers){ document.myText.document.open(); document.myText.document.write(msg.substring(0,i)); document.myText.document.close(); } i=++i; setTimeout("Start()",200); }else{ i=0; setTimeout("Start()",1000); } } // --> </SCRIPT> </HEAD> <BODY onLoad="Start()"> <DIV id="myText"></DIV> </BODY> 宜しくお願い致します。

専門家に質問してみよう