こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

prototipの設定

質問させていただきます。

<script src="js/prototype.js" type="text/javascript"></script>
<script src="js/effects.js" type="text/javascript"></script>
<script src="js/prototip.js" type="text/javascript"></script>
<link rel="stylesheet" type="text/css" href="http://yourdomain/prototip.css">
<script type="text/javascript">
function init() {
new Tip('test', 'ToolTip simple', {title: 'title'});
Event.observe(window, 'load', init, false);
</script>
</head>
<body>
<a href="" id="test">test</a>
</body>
</html>

以上のように記述して、動かしてみたのですが、動きません。
何処が違っているか解るか炊いたら教えていただけ無いでしょうか。

投稿日時 - 2008-03-17 13:02:53

QNo.3870332

すぐに回答ほしいです

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

次のブラウザでそのまま動くのを確認できています。
ie7.0.6000
Foxfire2.0.0.12

もう一度
<script src="jslib/prototype.js" type="text/javascript"></script>
で使われているprototype.jsが、prototype-1.6.0.2.js以降のバージョンであるかを調べてみてください。

Windowの再起動後もなおエラーが出るなら、ブラウザの変更も必要かも知れません。

また
>>> 動作の確認できました。

>>> 今度は、ページを開く時にStack overflow at line: 0というメッセージがが出てきてしまう
との関連がいまいち分かりません。

エラーメッセージ直後も動き続けますか。

ページを更新したとき何度かだけ動作していますか。

もう2度と動いていませんか。

投稿日時 - 2008-03-20 02:57:31

補足

ページを開いて、ウインドウを開こうと、オンマウスをした時点で
Stack overflow at line: 0というエラーが出ます。
その後は、期待したとおりの動きが出来ていて
Stack overflow at line: 0は出てきません。なので
開く時(というか初めて処理を動かそうとする時)動作の確認が出来たというのはそういうことです。

>>prototype-1.6.0.2.js以降のバージョンであるかを調べてみてください。

確認しました、バージョンの問題は無いです。
ただ
ブラウザはie6.0です。
とある理由で、6、7両方使えるようにする必要があります。
以上補足です。

投稿日時 - 2008-03-24 02:42:57

お礼

問題解決いたしました。prototypeのバージョンでかなり問題があったみたいです。その部分を修正したら問題が解決しました。
ありがとうございました。

投稿日時 - 2008-03-26 16:40:06

ANo.5

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(5)

ANo.4

>>> それで今度は、ページを開く時にStack overflow at line: 0
というメッセージがが出てきてしまうのです

  この症状は始めてみるので、ネットで探したところJavaScriptの書き方に問題があるようです。長ければ関連部分だけでも提示していただけると解決が早くなるでしょう。
とりあえず、原因として

・ 関数(メソッド)が自分自身を呼び出すことになっている。

・ 関数(メソッド)の利用のみで、定義がない。

等が、考えられると思います。

投稿日時 - 2008-03-18 16:05:41

補足

ソースを提示します。

<html>
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=shift_jis">
<title>スクロールしても動かないボックスサンプル</title>

<script src="jslib/prototype.js" type="text/javascript"></script>
<script src="jslib/effects.js" type="text/javascript"></script>
<script src="jslib/prototip.js" type="text/javascript"></script>
<link rel="stylesheet" type="text/css"
href="css/prototip.css">
<script type="text/javascript">
function init() {
new Tip('test', 'ToolTip simple', {title: 'title'});
}
Event.observe(window, 'load', init, false);
</script>
</head>

<body>

000000000000000
11111111111111111
<hr/>
000000000000000
11111111111111111
<hr/>
aaaaaaaaaaccccccccccccccccc
<a href="" id="test">test</a>

xxxxxxxxxxxxxxxx
</body>
</html>

以上になっています。

投稿日時 - 2008-03-18 16:29:03

ANo.3

とりあえず動作を確認しました。
・ prototype-1.6.0.2.jsを使ってください。
・ Event.observe(window, 'load', init, false);を移動します。
サンプルを示します。
---------------------------------------------------------------------------
<html>
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=shift_jis">
<title>スクロールしても動かないボックスサンプル</title>

<script src="js/prototype-1.6.0.2.js" type="text/javascript"></script>
<script src="js/effects.js" type="text/javascript"></script>
<script src="js/prototip.js" type="text/javascript"></script>
<link rel="stylesheet" type="text/css"
href="css/prototip.css">

<script type="text/javascript">
function init() {
new Tip('test', 'ToolTip simple', {title: 'title'});
}
Event.observe(window, 'load', init, false);
</script>
</head>

<body>

000000000000000
11111111111111111
<hr/>
000000000000000
11111111111111111
<hr/>
aaaaaaaaaaccccccccccccccccc
<a href="" id="test">test</a>

xxxxxxxxxxxxxxxx
</body>
</html>

投稿日時 - 2008-03-17 18:03:12

お礼

サンプルありがとうございました。
丁寧に解説していただきとても助かります。
動作の確認できました。

それで今度は、ページを開く時にStack overflow at line: 0
というメッセージがが出てきてしまうのですが、これはどの様に回避すればよいでしょうか?質問ばかりで申し訳ありませんがもう少々お付き合い下さい。

投稿日時 - 2008-03-18 13:12:12

ANo.2

使ったことがなくて動きを確認していないので、断片的な指摘となり申し訳ありませんが、次に気がついたのは、
href="​http://yourdomain/prototip.css"
は大丈夫ですか。(準備できていますか?)

prototip.jsと同じディレクトリに保存して、
href="js/prototip.css"
または
cssディレクトリに保存して、
href="css/prototip.css"
のほうが確実だと思います。

また余分な心配かも知れませんが、のホームページには
Prototype 1.6.0.2 を含めると書いてありました。

投稿日時 - 2008-03-17 17:46:08

ANo.1

function init() {

最後の閉じる括弧が抜けているようです。
-----------------------------------------------------------
function init() {
new Tip('test', 'ToolTip simple', {title: 'title'});
Event.observe(window, 'load', init, false);
}
</script>

投稿日時 - 2008-03-17 14:03:25

お礼

回答ありがとうございます。

う、初歩的ミス・・・・
function init() {
new Tip('test', 'ToolTip simple', {title: 'title'});
Event.observe(window, 'load', init, false);
}
</script>
以上のように変換しました。

変換したところ
「catch ステートメントでは適用されますが、throwステートメントでは適用されません」というエラーが出てきていまだ動かずです。

投稿日時 - 2008-03-17 15:04:57

あなたにオススメの質問