電子書籍の厳選無料作品が豊富!

「こちら」の文字をクリックするとサブウインドウが出るようにしたのですが、何の拍子か、エラーになるように変わってしまい困っています。

このscript部分だけをhtmlファイルにし(test.html)、きちんと動くことを確認してから、実際使用するファイル(A.html)にはめ込んだんですが、文字をクリックするとステータスバーに「ページにエラーが発生しました」と出てしまいます。

記述そのものはどう見てもおかしい所はないようです。
このような場合、考えられる原因はなんでしょうか?

ちなみにサブウインドウも同じディレクトリ内に置いています。

A 回答 (4件)

> 今度はエラー箇所が、「ライン:1、文字:1、エラー:オプジェクトを指定してください」と変わりました。


> これはどういう意味なんでしょう??

文字通り、指定したオブジェクトにたどり着いていないために、オブジェクトを指定するようにメッセージが出ているように見えます。

<a href="javascript:関数名">こちら</a>

の関数名と、スクリプトタグ内のfunctionの名前が、大文字小文字も含めて完全に一致しているかどうか、調べてみてはいかがでしょうか?
大文字小文字が違うだけでも、関数は呼び出せなくなりますので。

そこが原因でなければ、ちょっとわかりません(こちらでエラーを再現できないので)。 現在の正確なソースをそのままコピペで載せてもらえれば(window.open内のファイル名、ウィンドウ名は伏せても構いません)、回答しやすくなるかもしれません。

あと、JavaScriptのエラーチェックは、Netscapeに含まれているツールのJavaScriptコンソールを利用した方が、IEよりも的確なエラー内容を表示してくれることが多いので、有用かもしれません。

見当違いでしたらごめんなさい。
    • good
    • 0
この回答へのお礼

では、ソースを早速コピーして・・・と思ったのですがその前に、
>Netscapeに含まれているツールのJavaScriptコンソールを利用した方が、IEよりも的確なエラー内容を表示してくれることが多いので、有用かもしれません。

これが気になって、scriptだけのソースできちんと動いているファイルに問題のファイルソースを頭から少しずつ付け足して、どの行が引っかかってくるか確かめてみました。

なんと、最後の行まで問題なくいってしまい、テスト用ファイル名を本物とすり替えて解決!!してしまいましたd(⌒o⌒)b♪

一体どこがミスっていたかわからなくなってしまいましたが、lead1976さんのおかげで良い思いつきが生まれました。

また機会があれば宜しくお願いします。ほんとにありがとうございました。

お礼日時:2002/10/22 13:28

>だとすると<!--だけの行なんですけど、



「<!--」の前後に、全角スペースとかは入っていませんか?
ついでに、正確には「<!--//」ではなかったかと。
<!-- はHTML用、//はJS用のコメントアウトです。

それ以外だと...
<a href="JavaScript:openWin()">こちら</a>
の部分を

1)
<a href="JavaScript:openWin();">こちら</a>

2)
<a href="#" onclick="openWin();">こちら</a>

とかで試してみてくださいまし。

この回答への補足

ご指摘の1)、2)、共結果は変わらず、

>「<!--」の前後に、全角スペースとかは入っていませんか?
この周りを調べて結局、「script language~」から2行ほどを打ち直してみました。
今度はエラー箇所が、「ライン:1、文字:1、エラー:オプジェクトを指定してください」と変わりました。
これはどういう意味なんでしょう??

1行目は<!DOCTYPE html public "-//W3C//DTD HTML 4.0 Transitional//EN">
です。

これは前任の作成者が記入した部分で、やはり打ち直したり、本を見てW3Cサイトを見ましたがオール英語。翻訳サイトにかけても文字化けだらけでさっぱり・・・(泣)

補足日時:2002/10/22 11:13
    • good
    • 0
この回答へのお礼

scriptだけのソースできちんと動いているファイルに問題のファイルソースを頭から少しずつ付け足して、どの行が引っかかってくるか確かめてみました。

なんと、最後の行まで問題なくいってしまい、テスト用ファイル名を本物とすり替えて解決!!してしまいましたd(⌒o⌒)b♪

一体どこがミスっていたかわからなくなってしまいましたが、なんとかなりました。
いろいろありがとうございました。

お礼日時:2002/10/22 13:30

直接は関係ないのかもしれませんが、


オブジェクト名に「name」と命名するのは避けたほうが無難です。
(ここではウインドウのターゲット名)

他のスクリプトと混乱を生じる可能性があります。

この回答への補足

ありがとうございます。
実際には、nameでなく別の名前を使っています。
説明不足ですみませんm(_ _)m

とりあえず、<!--前後を打ち直したらエラー箇所が変わって「オブジェクトを指定してください」となっています。
この意味がもしおわかりなら、解説をお願いしたいです。

補足日時:2002/10/22 11:51
    • good
    • 0
この回答へのお礼

scriptだけのソースできちんと動いているファイルに問題のファイルソースを頭から少しずつ付け足して、どの行が引っかかってくるか確かめてみました。

なんと、最後の行まで問題なくいってしまい、テスト用ファイル名を本物とすり替えて解決!!してしまいましたd(⌒o⌒)b♪

一体どこがミスっていたかわからなくなってしまいましたが、なんとかなりました。
いろいろありがとうございました。

お礼日時:2002/10/22 13:31

>このような場合、考えられる原因はなんでしょうか?


scriptのみだと動作していて、組み込むとエラーがでるのであれば、
組み込み時に失敗していると考えられるのでは...
ソースを見ていないので、何とも言えませんが。

IEをご利用でしたら、
ツール → インターネットオプション → 詳細設定
に、「スクリプトエラーごとに通知を表示する」というのがあり、
チェックを入れると、エラー個所を教えてくれます。

NetscapeでしたらURLの部分に「javascript:」と入力します。
これで手がかりがつかめるのではないでしょうか?

この回答への補足

早速のお返事ありがとうございます(^^)

うちはIEで、ちゃんとエラー箇所が出てきました。→「ライン:18、文字:1、エラー:アクセスが拒否されました。」
これってソースの18行目ってことでしょうか?

だとすると<!--だけの行なんですけど、どうなんでしょう・・・?
ソースは
<Script Language="JavaScript">
<!--        (・・・・・ここが18行目にあたります。)
function openWin()
{
window.open("***.html","name","width=470,height=480");
}
//-->
</Script>
---------------
<a href="JavaScript:openWin()">こちら</a>
です。

それもscriptのみでちゃんと動いたもののソースをコピーして貼り付けたので、全く同じ物のはずなんです~(>_<。)

いかがなものでしょうか??

補足日時:2002/10/21 18:07
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!