以前、
http://chiebukuro.yahoo.co.jp/service/question_detail.php?queId=9862849
で質問させていただいたものです。
いただきましたご回答を利用しまして、
<a href="#" onclick="openWin('http://www.yahoo.co.jp/', event)">開く</a>
とリンクを使って実行させていました。これで以前は動作していたのですが、
IE6からIE7に環境を変えて試したら、突如動かなくなってしまいました。
(「オブジェクトを指定してください」とエラーが出る)
これを解決するにはどうしたらいいのでしょうか。ご教授いただければと思います。
よろしくお願いいたします。
答え:
前回、回答したものです。
IE6IE7の違いによるものではないように思います。
わたしもIE7を通常使用しており、前回回答のときもIEについてはver7での確認をしております。
<script type="text/javascript">
winNo=1;
function openWin(URL,event){
var X="";
var Y="";
//マウスX位置取得
if(document.all){
X=document.body.scrollLeft+window.event.clientX
}else if(document.layers || document.getElementById ){
X=event.pageX;
}
//マウスY位置取得
if(document.all){
Y=document.body.scrollTop+window.event.clientY
}else if(document.layers || document.getElementById ){
Y= event.pageY;
}
subwin=new Window("win"+winNo,{className:"dialog",title:"Yahoo",url:URL,left:X,top:Y,width:320,height:240,zIndex:200});
subwin.show();
winNo++;
}
</script>
<body>
<a href="#" onclick="openWin('http://www.yahoo.co.jp/', event)">開く</a>
</body>
上記ソースでprototype.window(xilinus)の外部jsを使用しIE7で問題なく動きます。
「オブジェクトを指定してください」というエラーは、スクリプト内で指定された関数が存在しない場合に出る場合があります。
なので、onclickで指定しているopenWin()がない(綴りが違うなど)の可能性が高いように思います。
function openWin(){}
がちゃんと記述されているか確認してみて下さい。
デバッグする環境があれば、エラーがどこで出ているか確認するのが早いですよ。
それでも直らない、判らない場合は、この質問を終了し
別質問で問題のソースを貼って下さい。
.
補足の質問:
「オブジェクトを指定してください」の問題が解決しました。
onclick="openWin('http://www.yahoo.co.jp/', event)"
の""を忘れていたようです。ありがとうございました。この質問・回答は役に立ちましたか?
ウェブサイトのユーザーによる情報ポスト、JPQA.comのない保証の正しさ.