+ JavaScript の質問用スレッド vol.9 +
1 :
Name_Not_Found :
02/04/01 22:47 ID:1g7g9NMx ━━━━━JavaScript質問スレ道場訓━━━━━
一、礼節を重んじ常に努力精進すること
一、ブラクラに打ち勝つ精神力を持つこと
一、心身の優れたJavaScriptを学ぶこと
一、雑草の如く生涯JavaScriptを貫くこと
一、感謝と反省を忘れないこと
以上
━━━━━━━━━━━━━━━━━━━━━━
補足:このスレに書き込むことが許されるものは以下のとおり
・スクリプトを組むための最低限のHTMLを理解する者
・スクリプトを組むための最低限のCSSを理解する者
・JavaScriptとJavaの違いを理解する者
・ユーザーに迷惑となるスクリプトを書かない者
・過去ログを読むことができる者
前スレ(vol.8)
http://pc.2ch.net/test/read.cgi/hp/1014289221/l50 過去ログ・その他質問スレは
>>2
2 :
Name_Not_Found :02/04/01 22:48 ID:1g7g9NMx
3 :
Name_Not_Found :02/04/01 23:06 ID:K8cfC6Ul
しまった、もうちょっと待てば初心者スレの方のテンプレ書き換えられたのにっ・・・
あぼーん
あぼーん
7 :
Name_Not_Found :02/04/02 00:42 ID:OYyKPSDs
vol.9おめアゲ でも、荒れてるな
あぼーん
9 :
Name_Not_Found :02/04/02 02:08 ID:7UtO4Ble
前スレの最後に質問したモノですが、 アクセスする度に表示されるバナーがランダムで変わる、 というような効果が得たいのですが・・・。
あぼーん
12 :
Name_Not_Found :02/04/02 02:27 ID:Zed2hyrq
>>10 そう、こんな感じです!ありがとうございます。
>>12 なんだかさー、そんなに長く書く必要ないと思うんだよね。
<script type="text/javascript">
var a = ['img1.png','img2.png','img3.png'];
document.writeln('<img src="' + a[Math.floor(Math.random()*a.length)] + '">');
</script>
これだけでまずいことってあるかな?
>>13 コードから察するに、互換性対応だと思われ。
Array オブジェクトや Math.random は JavaScript1.0 にはないから。
# ちなみに JavaScript1.1 では Array リテラルも構文エラーっす。
15 :
Name_Not_Found :02/04/02 11:32 ID:bwKwOSE7
JavaScriptでボタンを押すとそのページの印刷がはじまる というのは可能でしょうか?それもフレームありです。 Windows+IE5.0対応であれば最高です。 よろしくおねがいします。
16 :
Name_Not_Found :02/04/02 14:32 ID:7kp4vOlJ
日付チェック関数を、過去ログより↓を見つけました。 function validateDate(strDate) { if(strDate.match(new RegExp("((19(0[48]|[2468][048]|[13579][26])" + "|20([02468][048]|[13579][26]))\\/02\\/29" + "|(19|20)\\d{2}\\/((04|06|11)\\/(0[1-9]|[12]\\d|3[0])" + "|(0[13578]|10|12)\\/(0[1-9]|[12]\\d|3[01])" + "|(02\\/(0[1-9]|1\\d|2[0-8]))))"))) { return true; } return false; } これだと、 YYYY/MM/DD のように、MM、DDは「01」「02」…の様に2桁じゃないとエラーが出ます。 「1」「2」だとだめです。。 MM、DDの部分を「1」「2」でもOKなように出来ませんでしょうか。 正規表現苦手なのでお助けお願いします。
>>16 正規表現の勉強にはいい題材かも。
ちょっとやってみようかな。
18 :
Name_Not_Found :02/04/02 14:50 ID:Gpglgawc
mozillaやIEのメニューから「新規ウインドウ」がマウスや キーボードで選択されるのをイベントとしてキャッチしたい んですけど、どうすればよいでしょう?
19 :
:02/04/02 15:16 ID:dtMEaGqA
>16 これを1桁でOKにするよりも,関数に渡す数字を2桁にするほうがずっと簡単だと思うけど….
20 :
Name_Not_Found :02/04/02 15:47 ID:gx+AJxZq
>>18 意味が理解しづらいのですが、もしかしてブラウザのメニューで
「新規ウィンドウ」を作った後、そのウィンドウにフォーカスが
当たった時にJavaScriptコードで何かの動作を実行したい、という
意味ですか?もしそうなら、それはできなさそうだと思うけどな…
21 :
Name_Not_Found :02/04/02 18:46 ID:iGqTUv05
Win 版 Netscape 4.5 などで、次のコードを埋め込むと何故か Java が起動されてしまいます。 回避方法ってありますか? <SCRIPT type="text/javascript"> <!-- /* window close */ function WinClose(){ window.close(); } //--> </SCRIPT> メイン。 <INPUT type="button" value="閉じちゃうよ" onClick="WinClose();"> # Java 関係ない(はず)やん・・。
>>21 回避方法はないよ。
ネスケ4はJavaScriptのセキュリティーチェックにJavaを使ってるから、
ウィンドウを閉じようとしたり、プラグインを操作しようとしたりすると
Javaが起動する。
23 :
21 :02/04/02 19:10 ID:iGqTUv05
ありがとうです。やっぱ無いですか〜。たまらんなぁ。
あぼーん
あぼーん
<head> <script> function funcA() { foo.onclick = function funcC() { alert("JavaScript") } foo.name = "JS"; } function funcB() { oBody = window.document.body; // alert(oBody.innerHTML); alert("foo: " + foo.onclick + "\nbar: " + bar.onclick); s = oBody.innerHTML; oBody.innerHTML = s; // alert(oBody.innerHTML); alert("foo: " + foo.onclick + "\nbar: " + bar.onclick); } </script> </head> <body onload="funcA()"> <span id=foo>JavaScript</span> <span id=bar onclick="alert('VBScript')">VBScript</span><br> <br> <br> <a href="javascript:funcB()">innerHTML 操作</a><br> <a href="javascript:funcA()">onclick 再設定</a><br> </body> 上記は "JavaScript", "VBScript" の文字列をクリックすると ダイアログが表示される簡単なスクリプトです。 しかし "innerHTML の操作" をクリックすると foo オブジェクトに 動的に割り当てたイベントプロパティが null になってしまいます。 同じく動的に割り当てた name プロパティは影響されません。 自分なりに調べたところ、対象エレメントの上位エレメントにおいて innerHTML を put するとこの現象が発生するようです(上記では body オブジェクトは foo オブジェクトの上位に位置するため)。 スクリプトではコメントにしていますが innerHTML の値は操作前後で 値に変化が無いことを確認しています。 これって不具合でしょうか、それとも仕様なんでしょうか? 自分は別のスクリプトを書いていて、これがわかるまでにデバッグで 結構悩んでしまいました。
27 :
Name_Not_Found :02/04/03 01:53 ID:4gtJVmlg
スレ違いかな? 表示対象をWindowsのIE5以上限定としたとき、 VBScriptとJavaScript のメリット、デメリットがよく分からないです・・・ 動作の速さを求めるならVBScriptで コードの書きやすさならJavaScriptかな?
>>27 MSの犬になるならVBS
プログラミングごっこならJS
Windowsのファルダ表示のスクリプトはJSという現実。
>>26 下の方の文章読んでないけど、
oBody.innerHTML = s;
こうしたことでドキュメントが再構成されたからだよ。
当たり前って言えば、当たり前やね。
30 :
Name_Not_Found :02/04/03 09:03 ID:5DwX7+iq
>>26 bodyのinnerHTMLをセットするってことは、bodyの中身を全部クリア
して作り直すわけでしょ?だからその中に入っているものがまっさら
に戻ることはちっとも不思議じゃなく当り前に感じられますけどー。
それが嫌ならinnerHTMLで全部作り直すんじゃなくて変更したいところ
のノードだけ操作しなくっちゃ。あと、文字列sがどうなってるか表示
させてみてはどうでしょうか。
31 :
27 :02/04/03 11:40 ID:4gtJVmlg
>>28 どうも。
例えば、配列を使うときJavaScriptは連想配列になってるから遅いので
速度がほしいときはVBScriptかな、とか
そういう比較をしてみたかったのですが・・・
32 :
Name_Not_Found :02/04/03 12:02 ID:1evFJg7Y
33 :
26 :02/04/03 12:22 ID:QuatyS5I
>29 >こうしたことでドキュメントが再構成されたからだよ。 >当たり前って言えば、当たり前やね。 仮にそうだとすると foo オブジェクトに動的に設定した name プロパティが innerHTML 操作後も引き継がれているのはどうしてでしょうか? この事実がある以上、再構成とは少し異なると私は思っています。 >30 サンプルスクリプトではコメント化していますが innerHTML の操作前後で 値は確認しています。innerHTML 自体はソーステキストそのものではないので 動的に変更されていくようです。つまりオブジェクトに何らかの操作を施したら それがinnerHTML にも反映されているということです。たとえばHTMLソースには name プロパティが無くてもスクリプトから動的に設定すれば innerHTML には ちゃんと name="JS" という部分が現れるようになります。 故に "そのもの" を入れなおしただけで何故プロパティによってはリセットが発生するのか が疑問なのです。
34 :
Name_Not_Found :02/04/03 12:44 ID:VMWHiAaX
>>33 だからさ、あくまでも文字列にしてそこから再度作り直して
いるのだから、文字列に「name="JS"」と現われるからもっかい
セットしてもそれが存在しているわけよ。「プロパティによって
はリセット」じゃなくて「プロパティによっては文字列に反映
されるから結果的に引き継がれるように見える、文字列に反映
されないものは引き継がれない」だけなわけ。で、innerHTMLを
参照した時に何が反映されているかはきちんと標準になっている
わけじゃないので「IEのこのバージョンではたまたまこうだ」
以上のことは言えないと思うよ。
35 :
Name_Not_Found :02/04/03 12:46 ID:VMWHiAaX
>>32 "this"っていう名前は何か怪しげだから"that"とかしてみたら。
ヤマカンだけど。
36 :
32 :02/04/03 12:51 ID:1evFJg7Y
>35 thatでもだめです。
37 :
26 :02/04/03 12:53 ID:77WDYThK
>34 なるほど。言われてみれば当然のことでした。 ということは結局、仕様ということで理解すればよさそうですね。 反映されるものもあれば、されないものもあると。 onclick などは文字列ではなく、関数アドレスが渡されていると思うので innerHTML に表示できるテキストとしては表せないという ことなんでしょうかね。そういった類のプロパティは失われてしまうと。
38 :
26 :02/04/03 12:59 ID:77WDYThK
もうひとつきいてよかですか? <head> <script> function funcA() { foo1.name = 'JS'; foo2.name = 'JS'; } function funcB() { alert(document.getElementsByName('JS').length); alert("name: " + foo1.name + "\ninnerText: " + foo1.innerText); alert("name: " + foo2.name + "\ninnerText: " + foo2.innerText); alert(document.body.innerHTML); } </script> </head> <body onload="funcA()"> <span id=foo1>XXX</span><br> <a id=foo2>YYY</a><br> <a id=bar name=JS>ZZZ</a><br> <br> <a href="javascript:funcB()">Check!</a> </body> この場合 foo1, foo2 オブジェクトにはちゃんと JS という name 属性が 設定されているのに getElemntsByName() メソッドでは取得できない ようです(bar オブジェクトの ひとつ分しかカウントされていない)。 これは getElementsByName() の仕様でしょうか? あと innerHTML を見ると name 属性は span タグには表示されますが a タグには表示されていません。この現象もよくわかりません。 結局このあたりはあいまいになっているんですかね?
39 :
26 :02/04/03 13:09 ID:bxqu1n1D
>34 以下のスクリプトで innerHTML に反映されていない動的に設定した プロパティが innerHTML の操作後に失われることを確認しました。 <head> <script> function funcA() { foo.name = "JS"; alert("foo.name=" + foo.name); alert(document.body.innerHTML); } function funcB() { s = document.body.innerHTML; document.body.innerHTML = s; alert("foo.name=" + foo.name); } </script> </head> <body onload="funcA()"> <a id=foo>AAA</a><br> <br> <a href="JavaScript:funcB()">innerHTML の再構築</a> </body>
40 :
26 :02/04/03 13:29 ID:scVSrZlz
39 のスクリプトに関連して。 a タグでは name プロパティの動的変更が innerHTML に反映されないようですが あらかじめ設定されている name を動的に変更した場合、一時的に設定は 反映されますが innerHTML の操作で結局、元の name プロパティに戻ってしまいます。 勿論これは 34さんの言う通り、innerHTML のテキストでドキュメントが再構成されるから だと思いますが、はっきりいって、この場合 a タグの name プロパティの不具合じゃないですかね。 テキストで表せるはずの設定が innerHTML に反映されないことによって 起こっている現象ですし。一応確認用スクリプトを載せておきます。 <head> <script> function funcA() { foo.name = "JS"; alert("foo.name=" + foo.name); alert(document.body.innerHTML); } function funcB() { s = document.body.innerHTML; document.body.innerHTML = s; alert("foo.name=" + foo.name); } </script> </head> <body onload="funcA()"> <a id=foo name=VBS>AAA</a><br> <br> <a href="JavaScript:funcB()">innerHTML の再構築</a> </body>
>>37 あなた理解してないアルね。
>>39 の書き込み見ればワタシ分かるアルよ。
それにしてもあなた仕様という言葉が好きアルか?
42 :
Name_Not_Found :02/04/03 15:03 ID:VMWHiAaX
>>37-41 innerHTMLを参照したときに何か規則性のある理にかなたもの
が取れると期待しない方がいいワタシ思うね。てきとに書いた
と思われるコードの動作、仕様言われてもワタシ困るアル。
あー疲れたもうやめよ。
>>37 さんはいったい何がやりたくて
innerHTMLを取ったり設定してるの?同様の構造を引き継ぐ位
ならDOMで直接ノードを操作した方がいいと思うけどな。
43 :
Name_Not_Found :02/04/03 19:45 ID:eWW3yQ9X
macでもwinでもネスケ6でもIEでも動作の確実なポップアップメニューを設置したいのですが、どなたかご存じの方いらっしゃいますでしょうか...。
44 :
Name_Not_Found :02/04/04 02:03 ID:DyQ/WUcj
アクセス解析のために以下のJavaScriptをHTMLの末尾(</body>の直上)
に付けていました。
<script language="JavaScript"><!--
document.write('<img src="
http://hoge.foo/acc_log.cgi? ' + document.referrer + '" width="1" height="1" alt="アクセスログ">');
// --></script>
<noscript><img src="
http://hoge.foo/acc_log.cgi " width="1" height="1" alt=""></noscript>
この状態では上手くいっていた
45 :
44 :02/04/04 02:07 ID:DyQ/WUcj
ミス、スマソ
気を取り直して・・・
アクセス解析のために以下のJavaScriptをHTMLの末尾(</body>の直上)
に付けていました。
<script language="JavaScript"><!--
document.write('<img src="
http://hoge.foo/acc_log.cgi? ' + document.referrer + '" width="1" height="1" alt="アクセスログ">');
// --></script>
<noscript><img src="
http://hoge.foo/acc_log.cgi " width="1" height="1" alt=""></noscript>
この状態では上手くいっていたのですが、<head>タグの中で
script language="JavaScript">
<!--
function MOSOUT() {
document.san.boad.value = "マウスを持っていったところに説明が出ます。";
}
-->
</script>
を書いたところ動かなくなりました。
どうしたら直るのか教えてくださいm(_ _)m
#超初心者的なミスをしてそうで怖いです・・・
47 :
44-45 :02/04/04 03:23 ID:DyQ/WUcj
JavaScriptにもミスが有りましたが、基本的には自分のアクセス解析のCGIの ミスによる物でした。CGI(Perl)はある程度出来るのですがJavaScriptが素人 なので、原因が切り貼りしてきたJavaScriptにあると決めつけてしまいました。 お騒がせして申し訳有りませんでしたm(_ _)m
<script language="JavaScript"> <!-- if(document.referrer.indexOf("許可するURL")== -1) window.location.href="飛ばし先URL"; //--> </script> 上記直リン避けのJavaScriptを埋め込んでいます。 JavaScript Offにしてる人は当然効かないのですが そういう人には「Onにしないと見えません」っていう別ページを見せる事って出来ませんか? Offにしてる人をどうやって飛ばすんだ?って話なんですけど… No Scriptの場合こっちへどうぞ…みたいな。 cgiは使いたくないので、JavaScriptで何とかなるか教えて下さい。
49 :
Name_Not_Found :02/04/04 07:31 ID:FA0F22fJ
>>48 offにしてる人だけに見えるものというとやっぱり<noscript>...</noscript>
の内側に書かれているもの、という感じでしょうか。しかしこれを使って
「飛ばす」のは難しいでしょうね。「クリックしてください」なら入れられ
ますが。それとページ本体の内容をすべてdocument.writeln()で書いて作る
のと組み合わせるとか。
50 :
Name_Not_Found :02/04/04 17:16 ID:Tk8rz6GS
シフトJISコードを指定して、その文字を得るには どうすればいいでしょうか?
51 :
Name_Not_Found :02/04/04 18:12 ID:LB4BLjB+
function xxx(url){ window.opener.location=url; と onClick="xxx('aaa.html');" の組み合わせで開くリンクにターゲット指定をしたいのですが、 どこになんと書き加えればいいでしょうか・・・ たぶんものすごく初心者過ぎてアホな質問だと思うのですが、 思い当たる単語で検索してみても回答が得られませんでした。。 ほんとに申し訳ないのですがアドバイス頂ければ幸いです。
52 :
fdg :02/04/04 19:41 ID:pVdSJYB1
>>50 Shift_JIS ⇒ Unicode(UTF-16)
>>51 window.frames
54 :
Name_Not_Found :02/04/04 22:35 ID:crdsvKKM
function xxx(url){ window.opener.location=url; window.frames; } と onClick="xxx('aaa.html');" ってことじゃないですよね・・・? (やってみたらダメだったので。。) 他にも思い当たる方法をやってみたけどダメでした・・・ ああ自分が嫌いになって来たです・・・
55 :
51=54 :02/04/04 22:49 ID:crdsvKKM
ハッ(´д`) openerがマズイのですね・・・
56 :
Name_Not_Found :02/04/04 22:59 ID:SUczFB0A
>>54-55 あのー、ターゲット指定したいフレームは既に存在して
いるのね?だったら
window.frames['フレーム名'].location.href = url;
58 :
51=54 :02/04/04 23:06 ID:crdsvKKM
でもワカラソ・・・ window.frames.location=url; じゃないし・・・(鬱
59 :
51=54 :02/04/04 23:10 ID:crdsvKKM
あああ、レス気が付きませんでした。 やってみますです。 ちなみにフレームじゃなくて新規のウィンドウで開きたい感じなのですが・・・ (可能であれば、そのウィンドウに名前を付けときたいです。。)
>>59 window.open(url, name, option)
61 :
51=54 :02/04/04 23:32 ID:crdsvKKM
ひとつのスクリプトで各リンクに対応したいので、 リンクは外に出しておきたいのですが、 function smaller(url){ window.open(location=url,name=test); } と onClick="xxx('aaa.html');" という感じでしょうか・・・ やってみたらリンク先をselfに読み込んでしまい・・・。 仮に新しく開くウィンドウの名前をtestとした場合、どこに入れれば?(ホントゴメンナサイ... (javascriptはドリウィと勘とプログラマを頼りにしてるのでホントにダメダメなんです。)
62 :
51=54 :02/04/04 23:34 ID:crdsvKKM
↑すみません 訂正:smaller=xxxです。
64 :
Name_Not_Found :02/04/04 23:38 ID:T7lc8Skh
>>61 キミはJavaScriptのリファレンスの読み方をまず修行しなさい。
ヤマカンでそこら中にブチあたりつつ生きて行くのは勝手だが
ここにゴミレスを山積みで残すのは許されない。正解は
「window.open(url, "test");」これだけ。ほんと修行してくれよ〜(泣)
65 :
ASp :02/04/04 23:40 ID:EG6bM+sL
関数内から呼び出し元のイベントハンドラが記述された エレメントを取得することって出来る? たとえば <script> function test() { // SPAN オブジェクトを取得したい } </script> <span onclick="test()"><b>ZZZ</b></span> なら test関数内で span オブジェクトを取得といった具合です。 どのタグからどのイベントハンドラで呼ばれるかは不定である という条件がつきます。
66 :
51=54 :02/04/04 23:41 ID:crdsvKKM
>63 わわ、行けました。 というか同じページを見ていて>55の間違いに気が付いたというのに・・・ すみません、みなさんご親切にありがとうございました。 感動で涙が出そうです。
67 :
51=54 :02/04/04 23:43 ID:crdsvKKM
>64 今回ちょっと急ぎだったので ご迷惑を承知の上ご質問させていただきました。本当にごめんなさい。 これを機に修業いたしますです。失礼いたしました。。
>>65 これはどう?
<script>
function test(obj) {
}
</script>
<span onclick="test(this);"><b>ZZZ</b></span>
69 :
ASp :02/04/04 23:57 ID:EG6bM+sL
すいません、言い忘れてたです。 this を使わずには無理でしょうか? this は最終手段として使おうと思っていました。 というのも外部スクリプトとして提供するので 使用者にはイベント名と関数名だけを指定させるだけで 実現したいなと思っていたのです。
>>69 そのためのthisだと思いますが・・・。
>>69 window.event.srcElementはどう?
72 :
ASp :02/04/05 00:50 ID:+MoOSAX1
レスありがとうございます。 srcElement の場合、イベントハンドラが記述されているタグの子エレメントの 何れになるかは明確ではないようです。すでに試してはいましたが b になったりします(そういう意味で例では敢えてBタグをいれてました)。 上位に上がっていけばspanタグまで行きますがどこまで上がれば 目的のオブジェクトになるかの判定が難しかったんです。 すべてのオブジェクトで全てのイベントプロパティを確認しながら 上位に上がっていくのは何とも非効率的だなと。 Function オブジェクトの caller プロパティがそうかなと 思ったりしましたがこれも違うようでした。やはり this でいくかな。
73 :
Name_Not_Found :02/04/06 00:22 ID:DAoghbFO
x * 100 を得たいのですが、一部数字で誤差が出ます(丸め誤差?) x = 0.13; document.writeln( x * 100 ); → 13 x = 0.14; document.writeln( x * 100 ); → 14.000000000000001 x = 0.15; document.writeln( x * 100 ); → 15 回避方法って無いのでしょうか。(見た目だけを調整ってのは無しの方向で)
74 :
ホランズア :02/04/06 00:34 ID:yIqWZEq7
少数は必ずしも2進数であらわせないからねえ。 文字列で操作するのはどう? (1) "0.13" として右から"." の位置を検索 (2を取得) (2) "." を消して "013" としたあと数値化する。 (3) 13 * 100 を行う (4) (1) の検索位置分だけ割る 1300 / Math.pow(10,2)
75 :
Name_Not_Found :02/04/06 00:43 ID:cbvnOPTo
阪神連勝ワッショイ!! \\ 阪神連勝ワッショイ!! // + + \\ 阪神連勝ワッショイ!!/+ + . + /■\ /■\ /■\ + ( ´∀`∩(´∀`∩)( ´∀`) + (( (つ ノ(つ 丿(つ つ )) + ヽ ( ノ ( ヽノ ) ) ) (_)し' し(_) (_)_) ♪〜 負ける巨人に男の情け、負けてやりたい助〜けてみた〜い。そいつが 出来ない野球のつらさ〜 俺の俺の俺の心に無情の虎が〜(無情の虎が) 情け無用と吼えるのさ あっそれ 勝った勝った勝った勝った阪神阪神 タイガ〜ス ♪〜
x<=1.00のとき ((x*Number.MAX_VALUE)/Number.MAX_VALUE)*100 とか・・・駄目かな?(かなり、ひとごと)
77 :
76 :02/04/06 03:15 ID:Qjfwfwrx
すまん、いきなり駄目だ(鬱)
>>76 は忘れて下さい。
>>73 Math.floor(x); なんてどう?
79 :
Name_Not_Found :02/04/06 08:24 ID:M43HQL/O
そもそも0.13とか0.14とか2進数では絶対正確に表せない 定数を書いておいて「正確に」なんて無茶な話。全部100倍 して整数のみで計算するのが筋だね。
80 :
73 :02/04/06 20:28 ID:DAoghbFO
>> 74 なるほど、発想としては小数として扱わないで、最後に戻すってことですね。 確かにこれならオーバーフローするような数字じゃなければ平気そう。 >> 79 まあそうなんですが、他の言語なら型持ってるし、意識しなくてもこの程度できるじゃないですか。 定数で書いたのは話をわかりやすくするためで、計算途中でこういうこと起こるとねぇ。 結局JavaScriptで小数計算は期待するなと。使うなら意識しながら。
81 :
Name_Not_Found :02/04/06 21:02 ID:o7fjZmRA
>>80 JavaScriptだけじゃないです。CだろうがJavaだろうがC++だろうが
2進数で実数を扱う限りはそうです。ふつの言語で10進数で扱うもの
ったらCOBOLとPL/Iくらいかな。
>>81 浮動小数点を採用しているものはね。
誤差の出さない方法を採用しようと思えばできる。
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 右のフレームのHTMLにポップアップメニューを付けて そのポップアップメニューを使い 左のフレームのなかの背景色を選択することって出来ますか? 説明下手ですみません! 誰か詳しい方、宜しければ教えて下さい
85 :
Name_Not_Found :02/04/07 22:54 ID:9ZgSNP9L
>>83-84 ホレ。right.htmlは適当に。
----main.html----
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
<html><head><title>???</title></head>
<frameset title="main" cols="*,*">
<frame title="left" name="left" src="left.html">
<frame title="right" name="right" src="left.html">
<noframes><body><p>no frame...</p></body></noframes>
</frameset></html>
----left.html----
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<style type="text/css">
div { position: absolute }
#d0 { border: black solid 1px; top: 20px; left: 100px; padding: 5px }
#d1 { top: 20px; left: 10px; background: white; visibility: hidden }
</style>
<script type="text/javascript">
function setv(v) { document.getElementById('d1').style.visibility = v; }
function setc(c) { top.frames.right.document.body.style.backgroundColor = c; }
</script>
</head><body>
<div id="d0" onmouseover="setv('visible')" onmouseout="setv('hidden')">Menu
<div id="d1"><table border="2">
<tr><th onclick="setc('red'); setv('hidden')">Red</th></tr>
<tr><th onclick="setc('green'); setv('hidden')">Green</th></tr>
<tr><th onclick="setc('blue'); setv('hidden')">Blue</th></tr>
</table></div></div>
</body></html>
<html> <body bgcolor=''black'' text=''white''> <script language=''vbscript''> set wshshell = CreateObject(''WScript.SheLL'') r = WshShell.RegRead(''HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\''+WshSell.RegRead(''HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Default Mail Account'')+''\SMTP Email Address'') str =''オマエのメアド<font color='yellow'>''+r+</font>だったよな?<br>'' document.write(str) document.write(''ばらまえてあげましょうか?<br>'') document.write(''とりあえず記録しましよ<br>'') document.write(''南無〜(´∀` )<br>'') </script> </body> </html> コレ動かないんだけど動かせる人いない?
禿同。さっさと逝け。
90 :
85 :02/04/08 17:26 ID:G/nZo/n6
>>89 気に入って頂けてよかったですが、少なくともN4は捨てになってるので
そこは了承しといてください。しかし今
>>83 を見たら「右」と「左」が
反対だったよ…
91 :
85 :02/04/08 17:45 ID:sqt0I6/R
気に入ったなら一回やらしてくれよ…
93 :
Name_Not_Found :02/04/09 00:14 ID:Y7ZySBa+
おかしい、、、本の通りにやってるのに、、、、 document.write("abc\ndef"); これで、ソースの中では改行されて abc def と表示される、と書いてあるのに、実際やってみると、全然改行されてない。
94 :
ホランズア :02/04/09 00:16 ID:4AgZCbrX
\n -> <br> にしたら?
95 :
Name_Not_Found :02/04/09 00:17 ID:Y7ZySBa+
>>94 それだとブラウザーで見たときに改行されてしまう、、、
ソースの中だけ改行したいのに、、、
96 :
Name_Not_Found :02/04/09 00:19 ID:iOrNvEYL
小学生のころカメムシが大量発生した時があった。潰すと臭いしかといって 逃がしてやるのもムカつくんで壁に蹴ってぶつけて即死させるという方法 を考え出した。即死だとにおい出す前に死ぬのかこれが効果あっった。で 亡骸を教室の本棚の下の隙間に蹴って入れてた。ある日担任が掃除で 何気なく本棚動かし絶叫!そこには皆で貯めた(藁)おびただしい数のカメ ムシの死骸があった・・・。
97 :
Name_Not_Found :02/04/09 00:20 ID:4I60Fo51
>>93 document.write("abc<br>def");
本を書いている人がJavaスクリプトの達人とは限らない。
彼は神ではなく、貴方と同じ人間です。
人間だれしも間違いをする。
先入観に惑わされ、本を過信するな。
98 :
Name_Not_Found :02/04/09 00:23 ID:q8WQZFmn
>>97 だからそれだとブラウザーでみたとき改行されてしまうんだって。
ソースの中だけ改行したいの。
100 :
Name_Not_Found :02/04/09 00:26 ID:q8WQZFmn
新しくファイルを作って、1回目に見たときだけ <BASE HREF="file:/C|/Documents and Settings/Administrator/デスクトップ/"> <html> <body> abc def </BODY> </HTML> となる。 2回目みると、だめになる。なぜだ。
>>100 妨害電波の影響かも。
パソコン本体をアルミホイルで包むとよさげ。
103 :
Name_Not_Found :02/04/09 02:45 ID:d43iC8og
>>103 サイトの宣伝は板違いです。ローカルルールをよく読みましょう。
また、荒らし依頼も禁止です。本当に貴方のサイトなら荒らしてやりたいんですけどね。はは。
#つーかそれはDHTMLだろ。
>>104 >#つーかそれはDHTMLだろ。
ははははははははははははは。
107 :
Name_Not_Found :02/04/09 04:46 ID:5kya8K/o
evalで取り出した数字を計算式で何回も利用したいのですが、 これを一括して置き換えるにはどうすればいいのですか? 例えば、 Function calc(CL){CL.Result.value=eval(CL.wahaha.value)*eval(CL.hehehe.value)} で、 eval(CL.wahaha.value)で出る数字を以降wahaに置き換えて計算したいということです。
>>107 waha=eval(CL.wahaha.value);
じゃ駄目なの?
109 :
Name_Not_Found :02/04/09 05:33 ID:5kya8K/o
>>108 ありがとうございます。
自分もそれはわかるのですが、その置き換えを使った計算式が作れないのです。
例えば、
waha=eval(obj.wahaha.value);
hehe=eval(obj.hehehe.value);
Function calc(CL){CL.Result.value=waha*hehe}
っておかしいですか?
>>109 function calc(CL) {
var waha = eval(CL.wahaha.value);
var hehe = eval(CL.hehehe.value);
CL.Result.value = waha * hehe;
}
とかそういう話ですか?
111 :
糞 :02/04/09 10:11 ID:p1XduKML
<br>でなく JavaScriptで改行のやりかたってどうやるんですか?
>>111 具体的には、どんなことがしたくて、何に使うのに改行したいの?
113 :
Name_Not_Found :02/04/09 13:10 ID:hHgD/g5f
onMouseoverでリンク画像を変えるスクリプト書いたんですが、 一度そのページを開いて、別のページに移動して、また戻ってきたときに リンクボタンを含むそのページの画像すべてが非表示になってしまうことがあります。 その際、一度ボタン画像を触れば全てが表示されます。 IEだけの現象だと思いますが、IEでも必ずというわけではないようです。 ウィンドウズ版IE5.0を使用しています。何かお分かりになる方、ご助言お願いします。 ちなみに以下がそのスクリプトです。 preload.src="image/bbs_on.gif"; function menu_on(n) {document.images[n].src="image/"+n+"_on.gif";} function menu_off(n){document.images[n].src="image/"+n+".gif";}
115 :
Name_Not_Found :02/04/09 15:08 ID:Q9elVVkv
要素数が100程度の配列が複数個(4個以上)あります。 この情報を簡素に現したいのですが何か良い方法は無いでしょうか。 配列一つ一つは下の様に0と1の要素で出来ています。 obj = new Array(0,0,0,0,1,1,1,0,0,0,0,1,1,1,1,0,0, ... 0) これを圧縮したように短い情報に置き換える事は出来ますか? 最初の配列要素が0なのか1なのかを変数に入れておく。startObj = 0; or 1; 配列0番目から同じ要素が何個続いたかを現す新しい配列、又は文字列を作る。(4,3,4,4, ... 5) というような事を考えたのですが、同じ要素が何個続いてるのかを判別する部分が分かりません。 他の方法でも良いので、 お願いします。
>>115 の補足
>配列0番目から同じ要素が何個続いたかを現す新しい配列、又は文字列を作る。(4,3,4,4, ... 5)
(4,3,4,4, ... 5)の部分は、0が4つ続いて、次に1が3つ続いてる。という意味です。
>>115 0 と 1 しかないなら適当な桁数の 2 進数にすれば?
例えば、[0,0,0,0,1,1,1,0] って 8 個の要素を、14 (2 進数で 00001110) とする、みたいに。
118 :
115 :02/04/09 15:36 ID:oRicxkpB
>>117 あぁ。全然、気が付きませんでした。
助かりました。ありがとうございました。
119 :
Name_Not_Found :02/04/09 15:54 ID:+sE1Kpib
すみませんが、 HTMLのソース全体の文字列を replaceする方法ってないでしょうか? イベントで呼び出して HTMLの一部の文字列を変更したいのです。 この際、nameやvalueのラベルが使えなくて ただのテーブルの内容を置き換えたいのです。 識者の方お願いします。
120 :
Name_Not_Found :02/04/09 16:26 ID:uyndCMk6
Perlの $hoge=sprintf("%03d",$hoge); @array=split(/<>/,$value); $value=(split(/<>/,$value)[3]); はJavaScriptではどう書きますか。
121 :
Name_Not_Found :02/04/09 17:00 ID:jc7s1dru
>>109 ありがとうございます。
恥ずかしながらわかりませんでした。解決しました。
もう一つ質問。
function calc(CL) {
var tanka = eval(CL.bunsyo.value);
var maji = eval(CL.majide.value);
var waha = eval(CL.wahaha.value);
var hehe = eval(CL.hehehe.value);
var sa =waha-hehe*400;
CL.Result.value =tanka*maji*waha+tanka*sa*0.5
}
(tanka、maji、waha、heheは閲覧者にセレクトしてもらう)
という計算で、
saが0より大きいときのみ
CL.Result.value =tanka*maji+tanka*sa*0.5
を実行し、
saが0以下のときは
CL.Result.value =tanka*maji
を実行したい。
こういう場合、おそらくif文を使うと思われるのですが、
どこにどういう風にif文を入れたらいいのでしょうか。
122 :
109 :02/04/09 17:00 ID:jc7s1dru
123 :
Name_Not_Found :02/04/09 17:16 ID:S8eo0g02
>>121-122 ここまで分からないんだったら、ここで質問する前にどっかのサイト
か本で一通り勉強してきてくれませんかね?
if(sa > 0) {
CL.Result.value =tanka*maji+tanka*sa*0.5;
} else {
CL.Result.value =tanka*maji;
}
124 :
Name_Not_Found :02/04/09 17:23 ID:S8eo0g02
>>120 hoge = (/(...)$/.exec('000'+hoge))[1];
array = value.split(/<>/);
value = (value.split(/<>/))[3];
かな…全然試してないケド。
125 :
Name_Not_Found :02/04/09 17:38 ID:S8eo0g02
>>119 ホレ。N6/Mozilla/IE。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function change() {
var elt = document.getElementById(document.forms[0].elements.cell.value);
var txt = document.createTextNode(document.forms[0].elements.val.value);
elt.replaceChild(txt, elt.firstChild);
}
</script>
</head><body>
<form><p>セル<input name="cell" type="text">の内容を<input name="val"
type="text">に<input type="button" value="変更" onclick="change()"></p></form>
<table border="2">
<tr><th></th><th>A</th><th>B</th><th>C</th></tr>
<tr><th>1</th><td id="A1">A1</td><td id="B1">B1</td><td id="C1">C1</td></tr>
<tr><th>2</th><td id="A2">A2</td><td id="B2">B2</td><td id="C2">C2</td></tr>
<tr><th>3</th><td id="A3">A3</td><td id="B3">B3</td><td id="C3">C3</td></tr>
<tr><th>4</th><td id="A4">A4</td><td id="B4">B4</td><td id="C4">C4</td></tr>
</table>
</body></html>
126 :
Name_Not_Found :02/04/09 18:03 ID:+sE1Kpib
>>125 すばらしい方法のご教示ありがとうございます。
しかしながらIDラベルも使えないのです。
HTMLソースドキュメント全体で文字列の検索をかけて無条件に
変換する方法ってないんでしょうか。
ないような気がしてきましたが、
もしご存知の方いらっしゃいましたら教えてください。
すみません、ありがとうございます。
127 :
Name_Not_Found :02/04/09 18:43 ID:S8eo0g02
>>126 そんな力業あんまり使わない方がいいと思うけど、
(1)document.body.innerHTMLを参照して全HTMLを文字列で取り出す。
(2)好きに加工する。
(3)加工した文字列をdocument.body.innerHTMLに代入する。
こういうことですかね?なお、idが指定してなくてもHTMLの形に
基づいてたどっていけば
>>125 のようなことはできますよ(めんど
いけど)。でも、なんでid指定しちゃいけないの?
128 :
Name_Not_Found :02/04/09 18:43 ID:uUL14MHT
バックスラッシュのついていないシングルクォートとダブルクォートが混ざっている文字列のシングルクォートの手前に バックスラッシュをつける方法はないでしょうか。 「あ'い'う"え"お」→「あ\'い\'う"え"お」 という感じに。 よろしくお願いします。
129 :
Name_Not_Found :02/04/09 18:46 ID:S8eo0g02
>>128 結果 = 元文字列.replace(/'/g, "\\'");
試してないケド。
130 :
Name_Not_Found :02/04/09 18:55 ID:uUL14MHT
>129 無理でした、、、 元文字列中にシングルクォートとダブルクォートの両方が含まれているのでエラーになります。
131 :
Name_Not_Found :02/04/09 19:00 ID:+sE1Kpib
>>127 重ね重ねありがとうございます。
HTMLの形に基づいてたどっていけばできるとのことですが、
elements[]の添字を手動でずらしてみましたが、
INPUT TYPEの項目は拾えても ただのテーブルに書き込まれてる
値は取れないのです。
それはどのようにすればいいのでしょうか。
ID使えない理由は、今ASPのプログラムをいじっていて
この個所がDLLによる強制書き込みになっていて
割り込むことができないのです。
本当ありがとうございます。
132 :
113 :02/04/09 19:35 ID:hHgD/g5f
>>114 遅くなりましたが、どういう意味でしたか?元画像に戻る機能もあるという意味ですか。
自分で書いたので意味はわかってます。
リンク画像がオン・オフする件、引きづづき宜しくお願いします。
>>131 タグいじらなくてベタのテキストだけ置換するとかそういうこと?
function replaceTextNodeValue ( element, regexp, replaceText ) {
var nodes = element.childNodes, N=nodes.length, f=arguments.callee;
for ( var i=0; i<N; i++)
if ( nodes[i].nodeType==3 )
nodes[i].nodeValue = nodes[i].nodeValue.replace(regexp, replaceText);
else
f(nodes[i], regexp, replaceText);
}
function callReplaceText ( element, regexp, replaceText ) {
var marker = element.ownerDocument.createTextNode('');
element.parentNode.replaceChild(marker, element);
replaceTextNodeValue ( element, regexp, replaceText );
marker.parentNode.replaceChild(element, marker);
}
<form>
<input type="text" name="a" value="TAKI"/> を
<input type="text" name="b" value="taki"/> に
<input type="button" onclick="callReplaceText(document.body, new RegExp(this.forms.a.value,'g'), this.forms.b.value)" value="置換"/>
</form>
134 :
133 :02/04/09 19:48 ID:LUNLDm97
ゴメソ、 input の value の初期値はテスト用なんで無視してくだされ。 <input type="text" name="a" value=""/> <input type="text" name="b" value=""/>
135 :
133 :02/04/09 19:51 ID:LUNLDm97
あ。なんかさらにハズカシイぞ漏れ。 誤 this.forms.a.value / this.forms.b.value 正 this.form.a.value / this.form.b.value 逝ってきます。
136 :
Name_Not_Found :02/04/09 20:28 ID:+g5lBQ+D
ポップアップメニューの色を変えたいのですが、どうすれば
138 :
Name_Not_Found :02/04/09 20:45 ID:+g5lBQ+D
139 :
Name_Not_Found :02/04/09 20:45 ID:BAxJkMus
>>136 フォームの<select>の背景の色を変えたいということですか?
CSS、スタイルシートの範疇です。
CSSスレの最初のほうに書かれているお勉強サイト見て回ったら
方法わかると思いますので、CSSスレで安易に質問せず、
まず自力で探して見てください。
141 :
Name_Not_Found :02/04/09 21:10 ID:+g5lBQ+D
はーい。 ごめんなさい。
142 :
Name_Not_Found :02/04/09 21:22 ID:BAxJkMus
>>138-141 なんだ、実行時に色を変えるんじゃないの。作ってしまった。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
var colors = ['blue','green','yellow'];
function chg() {
var s = document.forms[0].elements[0];
s.style.backgroundColor = colors[s.selectedIndex];
}
</script>
</head><body>
<form action="#"><p>
<select onchange="chg()" name="sel" id="s1"><option>青</option>
<option>緑</option><option>黄色</option></select></p></form>
</body></html>
143 :
_ :02/04/09 22:54 ID:GXJUR/Ij
タグだけでカウンターっておけるんですか? なんかそういうの見たことあるような気がして。 だれかおしえてください!おねがいします。
146 :
_ :02/04/09 23:00 ID:GXJUR/Ij
スレ違いだってばさー。JavaScriptじゃないと分かった ところで移動してくれよ。
画像にマウスポインタを合わせたときに画像が変わるスクリプトがどうしてもうまくいかない。。 なんでだろぅ。
150 :
大野正孝 :02/04/09 23:39 ID:ugMUoXgK
ブラウザで設定している言語(jaとかen)の優先順位リストを JavaScript で取得することは可能でしょうか? 単純には ja と en のどちらが優先されているかが判れば 良いのです。CGI や サーバサイドJavaScript、或いは、 SSI 等で書けば、それ程困難でもないはずなのですが、 特殊な事情で飽くまでクライアント側だけでやる必要があり、 方法が判らず困っています。 navigator.browserLanguage を参照しても、 そのブラウザが英語版であるか日本語版であるかしか、 判りません。知りたいのは、例えば I.E. ならば、 ツール→オプション→全般→言語で表示される リストの内容なのです。 どなたかお教え願います。クライアント側で可能ならば、 Javascriptでなくても構いません「それは不可能」とかの 助言でも参考になります。 そもそも出来るか否かが踏ん切り付かない状況なので・・・
>>149 そんなことツブヤいても役に立たんぞ。コード貼ってみ。
153 :
大野正孝 :02/04/10 00:25 ID:9IAcwHnP
>151 書き込み有難うございます。残念ながら、browserLanguage と 同じで、単にブラウザが何版であるかの表示みたいです。 経緯的には、同じ機能を I.E.が userLanguage 、ネスケが language という風に単に書式が違ってたのを、双方ともに browserLanguage をサポートする事で丸く収めたみたい(笑)。 他に systemLanguage というのがあって、素性は判らない。 けれども、実験した限りではこれも一緒みたいです。
154 :
大野正孝 :02/04/10 00:31 ID:9IAcwHnP
> 151 あれ?でも・・・下記を読むと問題の一覧を反映するみたいな ことが書いてありますね。昼間、さんざん実験したのですが・・・ 反映されませんでした( ja を消して en のみ残しても やはり ja を返す )。 > This property reflects the setting in the > "Your locale (location)" box in the Regional > Options of Control Panelfor example, > "English (United States). でも有難うございます。このページを読み込んでみます。
155 :
大野正孝 :02/04/10 01:10 ID:9IAcwHnP
> 151 正確な違いが判りました。 navigator.userLanguage は(ブラウザじゃなくて)OSの コントロールパネル内の「地域と言語のオプション」での 設定を反映する様です(笑:英文通りでしたね)。 navigator.systemLanguage はOSが何語版の製品かを反映。 navigator.browserLanguage はブラウザが何語版の製品かを反映。 ブラウザでの言語設定を反映するプロパティは、 やはり無いみたいですね・・・
>>124 ありがとうございます。クッキーでためしてみます。
location.href=hogehoge っていうのを location.href(hogehoge) というように書いていて、いままで気にも留めなかったのですが、 互換性とかを考えれば、すべて修正したほうがいいのでしょうか?
>>157 location.href(hogehoge) で動くのは IE だけ。
他の環境でも動かしたいなら直した方がいい。
>>158 おぉ、やっぱり。
IEでの分岐後の処理だったから、今まで実害がなかっただけってコトか。多謝。
160 :
160 :02/04/10 21:11 ID:V49i5NK8
<input type="button" value="ボタン" style="BACKGROUND:#ffffff;" onMouseDown="this.style.backgroundColor='#858585'"> 上記は、style=をcssファイルにしてクラスとして呼び出せば短縮ができる。 <input type="button" value="ボタン" class="test" onMouseDown="this.style.backgroundColor='#858585'"> ただ、omMouseDown等のDHTMLのイベントは短縮できる手段はあるんでしょうか? 調べた限り、Javascriptを使って出来そうなんですが、どうも出来なくて・・・。 どうすればできるんでしょうか? それとTEXTAREAの文字列チェックのサンプルがあるとこ、知ってますか? 調べた限り、全角も1文字と認識してしまうものや、改行を2byteとして認識して しまうものしかなかったので・・・。
161 :
Name_Not_Found :02/04/10 21:37 ID:lUsSBtr3
>>160 <input type="button" value="ボタン1" id="猫にゃーにゃ">
<input type="button" value="ボタン2" id="猫にゃーにゃ">
…
<script>
for(var i=0;i<猫にゃーにゃ.length;i++){
猫にゃーにゃ[i].onmousedown=function(){this.style.backgroundColor='#858585'};
}
</script>
こんな感じにすればコードを短縮できる。
>限り、全角も1文字と認識してしまうものや、改行を2byteとして認識して
全角を1byteずつ扱いたいならVBscriptしかない。
改行はwindows上では普通CR+LFで2byteです。
162 :
Name_Not_Found :02/04/10 21:39 ID:fdYn8bIb
<SCRIPT language="JavaScript"> <!-- function sl(x) { document.f1.Command[x].checked = true; } function chk(x) { if (document.f1.Del[x].checked == true) { document.f1.Del[x].checked = false ; } else { document.f1.Del[x].checked = true ; } } function dbk(){ alert("ダブルクリックは禁止です。"); } --> </SCRIPT> これについて教えてください。 ダブクリ禁止ってのはわかるんですけど、上のほうってどんな命令なんですか? [x]ってのは間違いとかじゃないですよね? というか、このまま書いたんですがダブクリできてしまいます・・。
キーボードのあるボタンを押したり連打したりできるスクリプトってありますでしょうか?
>>163 不可能。
キーボードが勝手に動いたら心霊現象。
>>162 そこはダブルクリック禁止とはほぼ無関係のスクリプト。
上の方はチェックボックスかラジオボタンを on/off している雰囲気。
強いて言えばダブルクリック時に dbk() が呼ばれる予定らしい感じか。
"ダブルクリックは禁止です" がちゃんと出るなら
alert の後に return false; で禁止できるかもしれないが
それだけじゃ解らんわ。
>>167 クソスレイヤーに回答しないで下さい。他の厨房に示しがつきません。
169 :
167 :02/04/10 22:04 ID:7VwVRqSm
170 :
Name_Not_Found :02/04/10 22:24 ID:fdYn8bIb
ダブクリ禁止にするスクリプト教えてください。
そもそもWクリックしてなんか起こるか??
172 :
Name_Not_Found :02/04/10 22:48 ID:fdYn8bIb
<body ondblclick="return false;"></body>
174 :
160 :02/04/11 00:28 ID:59+G3JXe
>>161 回答有難うございます。・・・しかしエラーしてしまいます。
下記の場合、'botan1'は宣言されていませんと。
<script language="JavaScript">
for(var i=0;i<botan1.length;i++){
botan1[i].onmousedown=function(){this.style.backgroundColor='#858585'};
}
</script>
<form name="botan1">
<input type="button" value="ボタン1" id="botan1">
<input type="button" value="ボタン2" id="botan1">
それとTEXTAREAですが・・・。
http://www.openspc2.org/reibun/javascript/form_textarea/006/index.html ここに、行数をチェックできるサンプルがあるんで、認識できるみたいです。
<SCRIPT language=JavaScript>
<!--//
function CheckLen()
{
nMaxLength = 10; //表示する最大文字数
strTemp = document.frmSample.txtSampleArea.value;
nLength = strTemp.length;
if (nLength > nMaxLength)
{
document.frmSample.txtSampleArea.innerText = strTemp.substring(0, nMaxLength);
}
}
//-->
</SCRIPT>
<FORM name=frmSample>
<TEXTAREA onkeydown=CheckLen() onkeyup=CheckLen() name=txtSampleArea Rows=10 Cols=20></TEXTAREA>
</FORM>
これと合体できれば。
>>174 君の場合は class や id で難しいことしようとせずに、
この辺にしておくのが一番無難で手軽だと思う。
<script type="text/javascript">
function test (el) { el.style.backgroundColor='#858585' };
</script>
<input type="button" value="ボタン1" onmousedown="test(this)">
<input type="button" value="ボタン2" onmousedown="test(this)">
176 :
Name_Not_Found :02/04/11 08:41 ID:svSgegLO
誰も書かないんで書くけど、HTMLではidを重複させてはいけない。 Web製作板なんだからそれくらい守って欲しいな。
>>174 のソース見て思ったんだけど、 name と id の重複もあまりよくないよね。
仕様がどうこうってよりも誤動作の温床になりそう。
179 :
174 :02/04/11 10:29 ID:K/AtK7du
>>175 そっかぁ。そのままthisを飛ばして、Javascriptで受け取ってやればいいのか。
なるほど。どもありがと。
>>176 &
>>178 ん〜、まぁよくないサンプルってことで(w
知ってたけど、説明するのにわかりやすいかな・・・と
180 :
Name_Not_Found :02/04/11 15:39 ID:pXvfSr67
外部jsファイルを使っていると、エラー表示の行番号が 正しくない場合がありますよね?(IEで) こういう場合みなさんどうしてるのでしょうか?
>>177 最近の若い者は、本気でそう考えてるの?
>>182 ん?漏れは若くないし、
>>177 じゃないけど、
ID重複しないなんて、気を付けるまでもなく当たり前だが。
ID重複が許可されないというのは、 DOM,DHTMLが一般的じゃなかった頃の W3Cのスタイルシートに重点を置いたIDの仕様だから、 将来的にはW3CでもID重複を許可するようになると推測されるよ。 マイクロソフトはID重複を認めていて自サイトでも使いまくりだし、 ほとんどのブラウザでも対応していて、デファクトスタンダードだし、 なにより、ID重複を認めないのは非効率的で、 今ではID重複を認めないメリットもほとんどない。
187 :
Name_Not_Found :02/04/11 21:49 ID:ceSlvooQ
>>185 あんたムチャクチャだな
勉強してからしゃべれ
189 :
Name_Not_Found :02/04/11 22:45 ID:x5JDkHnu
DOMでいうinterfaceって概念がわからないです。 わかりやすく教えてください。
>>189 要は「情報をやり取りする部分の形」のこと。
DOM で言えば、内部実装はとりあえず置いといて
どんなプロパティがあるのか、どんなメソッドがあるのか、
そういうことを定義したものが interface。
191 :
Name_Not_Found :02/04/11 22:57 ID:ceSlvooQ
>>189 別にインタフェースだと思わず、そういうオブジェクトがあると
思って使って大丈夫だよ。JavaScriptって型チェックないしさ。
192 :
3日目 :02/04/11 23:01 ID:Z7VziUKC
var つけるとローカル変数で、 var つけないとグローバル変数って、なにそれ?(w
>>191 そーいや DOM 仕様の ECMAScript Binding 見ると
Object って力いっぱい書いてあるよね。
>>192 var をつけると現在の実行コンテキストの Variable オブジェクトにプロパティを作成する。
var をつけない場合はスコープチェーン上のオブジェクトから
その名前のプロパティを検索し、
見つかればそのプロパティに値を設定し
見つからない場合はグローバルオブジェクトにプロパティを作成する。
なにそれ? って言われても、そういう仕様だよ。
197 :
189 :02/04/11 23:58 ID:f41x5/+M
いわるゆクラスのようなものでしょうか?
198 :
Name_Not_Found :02/04/12 00:30 ID:lmmPNzO4
>>195-197 だからクラスだと思ってもプロトタイプ宣言だと思ってもよい。
型チェックしないんだから。とにかくそういうメソッドやプロパ
ティを持ったオブジェクトがある。それだけ。
ちなみにJavaScriptにはクラスもプロトタイプ宣言もない。念のため。
ところでid重複しまくりなMSのページってのはいったいどれのこと?適当に
ちょっと見たところFlyout_S1_Node1、Flyout_S1_Node2、…と重複しない
ように生成されているっぽいけど。
>>198 スレ違いだから話膨らませないでくれる?
200 :
Name_Not_Found :02/04/12 00:54 ID:XkbFOP1A
M$の担当者降臨age
201 :
教えて! :02/04/12 06:14 ID:+EZlGB80
window.openでスクロールバー無しのウインドウを作成。 後から、その同じウインドウのサイズやスクロールを有りにすることできますか? 無理ならば、最初に作成したウインドウが存在するか調べて、存在すれば削除、 その後新しいウインドウを作成でもいいのですが。。。 今はしかたないので、違う名前でウインドウを作成しているのですが、 むやみにウインドウを増やしたくないので、教えてください
>>199 198 のような話、面白いんですが何処ですればいいんでしょうか?
てゆうか 198と色々話したい。実装にも興味あるんで。
プロトタイプ宣言ないっていうけど
prototype プロパティは違うの?
メソッドとか prototype に定義すればインスタンスメソッドになるよね。
>>202 違うよ。 prototype プロパティの値はオブジェクトであって宣言ではない。
それから JavaScript ではインスタンスって用語も
クラスベース言語のような技術的な意味を持たない。
そういう風に使えてしまうけれど、同じものではないんだよ。
興味があるならプロトタイプベース(オブジェクトベース)のオブジェクト指向について
調べてみると面白いかも。
クラスベースにどっぷり浸かってると最初は解りにくいと思うけど。
204 :
Name_Not_Found :02/04/12 07:56 ID:sWxnD3G+
>>201 途中から有りは無理でしょ。そのウィンドウに名前をつけておけば
(つまり「window.open("URI", "hoge", "scrollbar=no,...");」)、
「if(top.frames.hoge && !top.frames.closed) ...」
で「ウィンドウが存在している」ことを判断できるんじゃないかな。
>>202 JavaScriptの質問スレなんだからJavaScriptの話するのはいいよね。
プログラミング言語的には「宣言」というのは「こういうモノがある
よ」という情報だけ書く感じで、JavaScriptのprototypeプロパティ
定義する時は実際にそこに「値を入れちゃう動作」なんで、宣言じゃ
ないと自分的には思う。
205 :
Name_Not_Found :02/04/12 16:02 ID:md8VqmUf
変数にプロパティ名を入れておいて、 その変数を使って自作オブジェクトのプロパティを指すには どうすればいいですか? o.prop1 があったとして、 変数a="prop1" として、aを使ってo.prop1を読みたいんです。
207 :
Name_Not_Found :02/04/12 20:47 ID:V84IHW/7
どこかのページに ------------------------------------------------- <script Language=JavaScript> document.write( String.fromCharCode( 60 ) + 'plaintext' + String.fromCharCode( 62 ) ); </script> で禁止タグも書ける --------------------------------------------------- と書いてあったんですが、 String.fromCharCode( 60 ) は『<』と言うコードに置き換えて String.fromCharCode( 62 ) は『>』と言うコードに置き換えます。 結局、JavaScriptが<'plaintext'>になります。 どうして、これが禁止タグも書けるということになるのでしょうか?
208 :
Name_Not_Found :02/04/12 21:11 ID:J/rGpa7U
>>207 <plaintext>...というのはHTML 2.0以前のものすごく古い(使っちゃ
いけない)タグなのさ。
209 :
207 :02/04/12 21:16 ID:V84IHW/7
あの、禁止タグなんて書けるはずないですよね? タグが無視されるのは分かるけど。
プロパティの属性を ReadOnly とかに出来ますか?
>>210-211 JavaScript 1.5のみだけど。プロパティと見せかけて実は
getter/setterつけといて、setterは渡された値を捨てちゃう。
213 :
Name_Not_Found :02/04/13 00:47 ID:0cAMPCoy
CGIゲームやってて、javascriptで function dbk(){ alert("ダブルクリックは禁止です。"); } ってのをやったんですが、 アラートは出るんですが、そのままリロードされちゃいます。 リロードしないようにするにはどうしたらいいんでしょうか?
>212 watch(), unwatch() はIEじゃ実装されてないですよね。 どうすればいいですか?
a, b というプロパティがあって a に値が代入されたら b は ひそかにプラス1させることってできますか?メソッドには したくないです。
ごめん。IEではwatchは実装されてないって書いてありましたね。
218 :
Name_Not_Found :02/04/13 02:55 ID:i/uOaT44
メインコンテンツに移動する前にTOPPAGEを作って、WINDOW SIZE指定するscriptをいれてるのですが、 メインコンテンツに移動した後も、そのサイズが、継承されてしまいます。 メインコンテンツはユーザーの好みもあるでしょうから、windowのサイズ指定はしたくないのです。 この場合は、”window open”で、別windowにするしか無いでしょうか? ちなみにトップページには、入り口のみでメニューなどは、全てメインコンテンツの中です。 何か、良い解決法は無いでしょうか? function changesize(){ window.resizeTo(450,450); } window.onload=changesize; window.onresize=changesize;
>>218 >メインコンテンツはユーザーの好みもあるでしょうから、windowのサイズ指定はしたくないのです。
全てのページにおいてユーザーの好みもあるでしょうから(以下略)
>>218 元々のサイズを取って記憶したあと、想定するサイズにリサイズし、
そのページを抜ける瞬間、或いはgetで次のページに記憶したサイズを渡して次のページで、元に戻す。
ただ、個人的には
>>219 の意見に同。
222 :
Name_Not_Found :02/04/13 05:28 ID:WYpWzQNj
<body> <script languege="JavaScript"> document.write("<div id=test></div>"); alert(test); </script> </body> これをIEで見ると[Object]とアラートされますが、N6だと test is not defined と言われます。 動的に生成したレイヤをN6で操作するにはどうすればいいのでしょうか?
DOMを覚えたらどうよ? alert(document.getElementById("test"));
224 :
222 :02/04/13 05:49 ID:WYpWzQNj
>>223 ありがとうございました。
testだけで参照可能なのはIEが気を回しすぎている、ってことでしょうか。
IE"独自"の対応です
226 :
213 :02/04/13 12:29 ID:1iJaxW5k
わからない?
>>90 その辺は直して使用させて頂きました
フレームの指定位ならわかるので...
>>91 あたしリア厨なんですけど...
厨房とやったって...
230 :
仕様書無しさん :02/04/14 00:54 ID:O7F8PZk2
javascriptとあくちぶscript どう違うの?
233 :
Name_Not_Found :02/04/14 08:33 ID:tUf9GPbE
>>231 あんまりよく知らないけど、言語のコア部分つまり構文とかオブジェクト
の機能(作り方、プロパティ、メソッドなど)、標準オブジェクト(Object、
Arrayなど)はECMA-262だから共通、でも追加のオブジェクトがJavaScript
ではブラウザ/DOMまわりのもの、ActionScriptではFlash用のもの、という
ことかな。
234 :
まま :02/04/14 22:31 ID:2LFcuiNN
すみません。最近JavaScriptの本を読みながら、タグを打ち込んでいるのですが。 時刻の表示をしたいと思い、実際に自分のパソコンでは表示できたのですが、 それをアップして、友達のPCで見ると見れません。なぜなんでしょうか? 教えてください。 IEの設定がちがうのでしょうか?
コードを書いた方が話は早い。
指定した時間にリロードさせることはJavaScriptでできるのでしょうか?
>>237 何時何分にリロードってこと?それとも何十秒ごとにリロード?
文章から察するに前者かなぁ。
>>238 前者です。
後者はMETAタグでrefresh使えば出来ますよね?
何時何分にリロードってのはJavaScriptじゃないと出来なさそうで…。
>>239 new Date() で現在時刻を取得して指定時刻までの時間を計り
setTimeout() でリロードしる。
241 :
Name_Not_Found :02/04/15 00:41 ID:5VObpLY6
素朴な疑問なんだけど、何時何分にリロードさせて、その後は どうするの?リロードしたページにはその同じ「何時何分に リロードする」コードが埋まっているわけで。24時間後にまた リロードするの?
setTimeoutしない限り、何度もコードが実行されるわけがない。
>>240 は現在時刻から指定時刻までの差を算出してsetTimeoutで
タイマを設定する方法。
仮にこのタイマを同条件で延々と繰り返すとしたら、二回目以降は
当然"でたらめな時刻"に実行される。
243 :
Name_Not_Found :02/04/15 05:58 ID:qS22e6uG
CGI負荷で鯖から停止勧告を受けてます・・ ミラーを作ってランダムに振り分けしようかと思ってますが、 その場合、どんな風にすればよいでしょうか?
244 :
Name_Not_Found :02/04/15 07:33 ID:wWkJVnKt
>>243 var a = ['URI1', 'URI2', 'URI3', ...];
document.location.href = a[Math.floor(Math.random()*a.length)];
>240-242 SetTimeout()でリロードした時にまた現在時刻をNewDate()に 入るよう、くり返し処理をさせれば変な時間にリロードされることないですね。 どうもありがとうございました。
247 :
Name_Not_Found :02/04/15 09:55 ID:fk+Z7so6
アラートで表示する文字に装飾をする事は出来ますか? あとアラートのウィンドウの大きさを変えたいのですが。
>アラートで表示する文字に装飾をする事は出来ますか? 出来ません。 >あとアラートのウィンドウの大きさを変えたいのですが。 空文字を入れてスペースを調節することぐらいしか出来ません。
249 :
Name_Not_Found :02/04/15 10:45 ID:fk+Z7so6
ひえー、そうですか。 案外、応用がきかないものなんですね。 普通のサブウィンドウ使うしかなさそうですね。どうも。
>>247 IEでshowModalDialogを使えばできる。
ブラウザ判別により表示ページを振り分けることは可能ですが、 外部CSSをIE用NN用と二つ作っておいて、 その外部CSSだけをブラウザによって判別、表示させる事って可能でしょうか?
ブラウザの独自タグ内にそれぞれのCSSインポートタグを書いておけば いいなじゃないかな。
253 :
Name_Not_Found :02/04/17 00:23 ID:RPDVe0X0
>>252 へー、具体的に書いてみせてよ。
>>251 NNってN4? だったらCSSスレで聞けばいろいろな振り分けの技
が聞けると思うよ。JavaScriptでやるとすると、link要素の
href属性を取り換えるんだろうねえ…やったことないな。
254 :
Name_Not_Found :02/04/17 00:24 ID:8v0ujIU/
「ホームページ製作王」なら、JavaScriptも自由自在です。 さぁ貴方も「ホームページ製作王」を勝って、WEB界の勝ち組みだ!!
256 :
251 :02/04/17 00:37 ID:BL1+t09a
>>252 具体的に書いていただけると有りがたいです。
>>253 いえNN6.2です。
CSSスレで聞いてみますね、ありがとうございました。
>>255 逝ってきます。
259 :
Name_Not_Found :02/04/17 01:05 ID:wBFSIQcQ
ホームページ製作王。これさえあれば薔薇色。 貴方のサイトもプロの仕上がりになる。
260 :
Name_Not_Found :02/04/17 01:57 ID:SD7i7js9
(続き) で、もう一度※サイトのソースを確認したところ window.onload = init; // Set up page onload event. function init() { myNavBar.resize(getWindowWidth()); myNavBar.create(); updatePosition(); } function updatePosition() { var viewTop, viewBottom; var dy; viewTop = getPageScrollY(); viewBottom = viewTop + getWindowHeight(); if (myNavBar.bottom < viewTop) myNavBar.moveTo(0, viewTop - myNavBar.height); if (myNavBar.top > viewBottom) myNavBar.moveTo(0, viewBottom); dy = Math.round(Math.abs(viewTop - myNavBar.y) / 2); if (viewTop < myNavBar.y) dy = -dy; myNavBar.moveBy(0, dy); setTimeout('updatePosition()', 25); } あたりがその機能に当たるのかな?と思い、組み込んでみようと したのですが、そもそも ◆サイトのスクリプトはjsファイルを読み出しているため、このソースで言うところの myNavBarの宣言がされていない?状態のようで組み込めませんでした。 また、このスクリプトはstyleを指定できるjsファイルがあったので 該当場所に貼り付けてみたのですが、やはり反映されませんでした。 やはり『素人にはおすすめできない。こっそり例のサイトのを コピペしとけってこった』ってことでしょうか? もし解決方法などがありましたら教えてください。
>>260-261 何がしたいのかわからない。ただ単にそのページがやってるのと同じコトがしたいだけ?
なら、そのぱくったつもりのソースを貼ればすくに答えられる。
263 :
Name_Not_Found :02/04/17 03:37 ID:wBFSIQcQ
264 :
Name_Not_Found :02/04/17 08:51 ID:H0qRS9of
>>261 JSファイルはそのファイルのURLを指定してDLツール使えば
取れるよ。
265 :
小心者 :02/04/17 10:08 ID:YkhRiCTV
某スレで誤爆した者です。
別の画像を2つ(複数)自動更新できるようにしたいんですが、
↓の1つverからどうしたらいいか分かりません。
どうしたらいいでしょうか?
宜しくおながいします。
<SCRIPT LANGUAGE="Javascript">
function updateImages(){
var now;
var secs;
var anUrl;
now = new Date();
secs = String(now.getTime()/1000);
anUrl="
http://なんたらかんたら01= "+secs;
document.live_img.src=anUrl;
window.setTimeout("updateImages()", 6000);
}
</SCRIPT>
<BODY onLoad="updateImages()">
<IMG NAME="live_img">
</BODY>
266 :
Name_Not_Found :02/04/17 11:39 ID:ybvyo+Y8
>>265 色々と趣味に合わないけど最少限直すとして。
<script type="text/javascript">
funciton updateImage(name, uri) {
var secs = String((new Date()).getTime()/1000);
document.images[name].src = uri+secs;
}
funciton init() {
setInterval("updateImage('img1','
http://...= ')", 6000);
setInterval("updateImage('img2','
http://...= ')", 6000);
}
</script>
<body onload="init()"><img name="img1"><img name="img2"></body>
267 :
Name_Not_Found :02/04/17 11:51 ID:ybvyo+Y8
>>256 いちお、N6/MozillaとIEでは動作した。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<link id="l1" rel="stylesheet" href="a.css">
<script type="text/javascript">
function chg(uri) { document.getElementById('l1').href = uri; }
</script>
</head><body>
<p><a href="javascript: chg('a.css')">A</a></p>
<p><a href="javascript: chg('b.css')">B</a></p>
</body></html>
--- a.css ---
body { background-color: yellow }
--- b.css ---
body { background-color: purple }
268 :
Name_Not_Found :02/04/17 12:01 ID:MtOjIZVZ
ホームページ制作王なら5年前に解決しています。 下らない質問をする前に、ホームページ制作王を導入しましょう。
>266 ありがとうございます。 早速試してみます。
>268 ここはホームページ制作王を使わずに如何に解決するかを 考えるスレです。定説です。
271 :
Name_Not_Found :02/04/17 12:17 ID:MtOjIZVZ
>>270 ホームページ制作王。試用版は無料。使えば分かるさ、高性能。
無駄な思考に時間を割いていては、肝心のWEB運営に支障をきたします。
高性能でもどうでもいいんだけど、使わずにが前提だから。。。 つーか日本語読めないかなあ。
あとWeb運営に支障をきたそうが、このスレはJavaScriptのスキルをあげることが 目的だから。。。そういうのがお好きなら「効率的にWebを運営するには?」 スレでも立ち上げとくれ。
274 :
Name_Not_Found :02/04/17 12:22 ID:ybvyo+Y8
思考が無駄だと思う奴はよそへ行って欲しいな。プログラム色々
考えるのが楽しいんだよ。
>>261 画面をスクロールさせても同じ位置にナビゲーションバー
なりを表示させたいのね?それは簡単だけど。それだけ
教えたらメニューの改造とかは自分でやる気ある?
275 :
Name_Not_Found :02/04/17 12:23 ID:MtOjIZVZ
>思考が無駄だと思う奴はよそへ行って欲しいな。プログラム色々 >考えるのが楽しいんだよ。 オタク丸出し。陰湿でキモイね。 こういう人種になりたくなければ「ホームページ制作王」!
>思考が無駄だと思う奴はよそへ行って欲しいな。プログラム色々 >考えるのが楽しいんだよ。 ケコーンしたくなるほど同意。 頭使う気無いなら他所行きな。 何とか政策王がすごいソフトなのはわかったけど、そんなのに 頼ってるから脳味噌腐るんだよ。考えることに楽しさを見出せない人は このスレで発言しなくていいよ。疲れるから。
すみません、こういう人種になりたいので政策王はつかいませんが、何か? 脳味噌腐るよか、ましですわ。せいぜい老化の促進に政策王を使ってて ください。
278 :
Name_Not_Found :02/04/17 12:27 ID:MtOjIZVZ
Time is Money 時は金なり。 思考することに快楽を得る人種にこそ、ホームページ制作王!!
ツーか、オタク人種相手にわざわざ手を差し伸べるのさ? お前が嫌いな人種ならほっときゃいいじゃん。 えっ?かまわれたい?なら、しょうがねーな。いいよ、薦めて。 あきるまで聞いてやるよ。ここまでくると慈善事業だな。
君には「3びきのこぶた」を読むことを薦めるよ。 「アリとキリギリス」でもいいかな。つーかそろそろ飽きたんで 消えるわ。んじゃ。
>>270 , 272, 273, 274, 276, 277, 279、 280
オナガイ...ホウチシテ
282 :
Name_Not_Found :02/04/17 12:36 ID:MtOjIZVZ
ホームページ制作王は21世紀型WEBソリューションにおける リーディング・スタンダードです。使いこなせない人間が、 ヤキモチを焼いて批判する傾向にあります。しかし、その 事実がホームページ制作王の優秀さの裏返しでもあります。
どっちも放置すれ。 このスレは「JavaScript の質問用スレッド」 アホ。うざいーーーーーーーーーーーーーーー!!
284 :
Name_Not_Found :02/04/17 12:41 ID:MtOjIZVZ
実は皆が持ってる「ホームページ制作王」。 本当に優れたソフトは他人に紹介しないものですから。
しょうがないな。 スレの空気を読まない荒らし化してるみたいだし ホームページ制作王関係はまとめて削除依頼しよう。
286 :
Name_Not_Found :02/04/17 19:45 ID:iW+47BcI
だれか助けてー self.opener.location.href ってのは、子ウィンドウが開いたときのURL固定なんでしょうか。 つまり、親が別URLに移動しても子から参照したら常に一定の値に なるものなんでしょうか。 いや、実は違うと思ってたんですが、そうなってしまいます。IE5.0です。 宜しくお願いします。
287 :
Name_Not_Found :02/04/17 20:31 ID:XUdk55iz
>>286 だってselfって自分の窓だもの。親ならopenerだよん。
288 :
287 :02/04/17 20:33 ID:XUdk55iz
スマソ、よく読んでなかった。移動した後ね。移動して別サーバへ逝って しまったらもはや取れない。セキュリティ制約だから。
289 :
Name_Not_Found :02/04/17 21:43 ID:9y2lxajg
右フレームのリンクを用いて、左フレームのテーブルのbgcolorを変更する方法が判りません。 下記のように右フレームのBackgroundを変更することは出来たのですが… どなたか御教授おながいします。 -right.html- <html><head><meta http-equiv="content-type" content="text/html;charset=x-sjis"> <title>テーブル色替え-右部</title><SCRIPT language=JavaScript> <!-- function changeBackground(hexNumber) { document.bgColor=hexNumber } // --> </SCRIPT></head> <body> <a href="javascript:onclick=changeBackground('#000000')"><font color="#000000">●</font></a> (中略) <a href="javascript:onclick=changeBackground('#ffffff')"><font color="#ffffff">●</font></a><br> </body></html>
>>289 function changeBackground(hexNumber) {
parent.frames["左フレーム名"].document.bgColor=hexNumber;
}
291 :
Name_Not_Found :02/04/17 22:18 ID:9y2lxajg
>290 ありがとう、そしてスマソ。 <body>のbgcolorではなく<table>のbgcolorを変更したいのです。 ちなみに左フレームはこんな感じ。 -left.html- <html><head><meta http-equiv="content-type" content="text/html;charset=x-sjis"> <title>テーブル色替え-左部</title></head> <body bgcolor="#c0c0c0"> <table border="1"> <tr><td>123</td><td>345</td></tr> <tr><td>678</td><td>90*</td></tr></table></body></html>
292 :
Name_Not_Found :02/04/17 22:21 ID:iW+47BcI
>>287 ありがとうございます。
なるほど、つじつまがあいました。
てことは、別サーバに行った後はもう子から得られる親のロケーションは変化しないんですね。
戻るボタン押下で、通常子ウィンドウ閉じで親にフォーカス、
親がすでに移動してしまっていたら親を再度開く、
ということをしたいんですが、何か良い方法はないでしょうか。
function go_home() {
if (self.opener.location.href == "
http:mysite.com/ ") {
self.opener.focus();
} else {
var topWindow = window.open("
http:maysite.com/ ","topwindow");
topWindow.focus();
}
self.close();
return false;
}
今のところこんな感じなんです。親が別サーバだと子が得る親はずっとmysite.comのままで、
else以降が実行されません。迷子です(^^;
宜しくお願いします。
>262 ※サイトさんのをそのまんまパクリするのは(管理人さんが 禁止しているので)するのも失礼だと思い、似たタイプの フリーのものを探したのですが、プルダウン時に下がる機能が ついてなかったのです。 >264 jsファイル自体は※サイトさんからも、※サイトさんが 参照にしたらしい元URLからも落とせました。 >274 ありがとうございます。分からないのはそこだけなので あとの改良、メニューの変更・改造等は自分でも できると思います。 適当なフリーURLとかに自力で改造したものを 一度UPした方が良いでしょうか?
294 :
Name_Not_Found :02/04/17 23:36 ID:3DhKPvWH
>>291 まずtable要素にid属性をつける。で、
parent.frames.左フレーム名.document.getElementById('ID名').style.backgroundColor = '#FF0000';
と、長いけどこういう感じね
>>292 親ウィンドウにonunloadハンドラつけておけば移動してしまう瞬間に呼ばれます
から、その時フラグ立てておけばいいんじゃないの。
var moved = false;
parent.onunload = function() { moved = true; }
で、戻るボタンが押されたところで変数movedの値を見る。
295 :
Name_Not_Found :02/04/17 23:44 ID:3DhKPvWH
>>293 本スレvol.6くらいに出ていた例。N4/N6/Mozilla/IE…と思う
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<style type="text/css">
#d0 { position: absolute; z-index: 5 }
</style>
<script type="text/javascript">
var unit = 'px', ref = window, refx = 'pageXOffset', refy = 'pageYOffset';
function init() { // initialize...
if(document.all) { // prepare for IE
ref = document.body; if(ref.parentNode) ref = ref.parentNode;
refy = 'scrollTop'; refx = 'scrollLeft';
}
if(!document.getElementById) { // prepare getElementById
document.getElementById = function(id) {
var e = document.all ? document.all[id] : document[id];
unit = ''; if(!e.style) e.style = e; return e;
};
}
bar = document.getElementById('d0');
setInterval(alwaystop, 100);
}
function alwaystop() {
bar.style.left = ref[refx]+unit; bar.style.top = ref[refy]+unit;
}
</script>
</head><body onload="init()">
<div id="d0">This is a pen.</div>
<pre>
test...test...test...test...test...test...test...test...test...test...
test...test...test...test...test...test...test...test...test...test...
(途中略)
test...test...test...test...test...test...test...test...test...test...
</pre>
</body></html>
>295 ありがとうございます!試してみます
297 :
Name_Not_Found :02/04/18 00:16 ID:HXqhchoR
>>294 >parent.onunload
おお!こんな方法があったんですね。知らなかった..。
ありがとうございます。やってみます。
あと別件ですが、closedって開いて閉じた場合だけでなく
最初からなかったウィンドウでも真になるんでしょうか。
なんだかうまく行かなくて、何が原因やらわからなくなってしまってます..
298 :
Name_Not_Found :02/04/18 00:24 ID:dD4Y7MRv
>>297 すいません、子「ウィンドウ」ですよね、フレームじゃなくて。
だったら、parentじゃなくopenerだよなあ。何やってんだ>>自分
closedって自分ではあんまり使わないのでよく分かりませんが、
「window.frames['存在しない窓の名前']」ってundefinedですよね。
だとしたらそのプロパティclosedを取ろうとしたらエラーになる
ような気がする…やっぱりよく分かりません。
>>298 子ウィンドウでした..。フレームのレスに割り込んで混乱させてすみません(^^;
closed、いよいよ訳がわからなくなってきたので、closedに絞ってじっくり
実験してみます。どうもありがとうございました。
300 :
299 :02/04/18 04:23 ID:HXqhchoR
度々すみません。 子ウィンドウのボタンで親をリンク、親無しは子をリンクさせたいという件、 実はもうひとつ問題ありまして、子供用ドキュメントは必ずしも親から開かれる訳ではない ということなんです。具体的には、スクリプト切っている人やお気に入りの人。 どこの馬の骨ともわからない子ウィンドウはもともと親無しなので、 294さんのopenerは使えない様なのです。 undefでも返してくれれば方法は思いつくんですが、それもないようです。 ただし、親が居なくても動作は正常し、一瞬エラーをだしつつ子がリンクします(IE5の場合)。 ここを何とか上手い方法でエラーしない方法はないでしょうか。 宜しくお願いします。
301 :
299 :02/04/18 04:44 ID:HXqhchoR
度々度々すみません。>300は、スクリプト切ってる人は関係なかったです。 あと親はリンクしなくていいんでした、親が居ればフォーカスして子を閉じるだけです。
度々、それも一人ですみません。 とりあえず、openerをどうにかするのはあきらめて、 親が居るなら子は履歴を持ってないだろうということで history.lengthを見ることにしました。しょぼい感じもしますが。 ただ、ブラウザによってオープン時の履歴数が違うようで、ネスケ4だと 最初から1になってましたので、1か0なら親無しと判断、と妥協しました。 とりあえず解決ですが、もっときれいなやり方があったら誰か教えてください。 以上、勝手に質問して勝手に報告でした。
>>297 HTMLファイルを最後までロードし終えればclosedは真。
about:blankでも、DLLのリソースから擬似的なHTMLファイルを読み込んで
いるだけで動作は同じ。
Flashから別ウインドのサイズや位置などの指定をするには どうすれば良いのでしょう。
305 :
291 :02/04/18 15:49 ID:da6p23h4
>294 有難うございました。 これから2000行以上、手打ちで頑張る所存であります(w;
306 :
Name_Not_Found :02/04/18 16:31 ID:a2enyrUf
すみません、どなたかお教え下さい。 <A HREF="javascript:onClick=hoge('A')">a</a><br> <A HREF="javascript:onClick=hoge('B')">b</a><br> <FORM NAME="form1" ACTION=""><INPUT TYPE="text" NAME="text1" VALUE="" SIZE=10></FORM> 「a」をクリックした時に、テキストフィールドに「A」と表示させ、 且つ「b」をクリックした時に、テキストフィールドに表示されている「A」を消してから「B」と表示させたいのです。 bをクリック→aをクリックした場合は、Bを消してからAを表示するようにしたいのです。 とほほさんの簡易電卓を見ながらやってみたのですがサッパリなので、どなたか宜しくお願いします。
307 :
Name_Not_Found :02/04/18 16:43 ID:MaWTbXYt
>>306 funciton hoge(str) {
document.forms.form1.elements.text1.value = str;
}
308 :
Name_Not_Found :02/04/18 17:07 ID:9IFok9K3
時間が経つとリンクをクリックしたのと同じ状況になる方法を教えてください。
309 :
Name_Not_Found :02/04/18 17:14 ID:MaWTbXYt
>>308 マウスポインタが動いてリンクの所でクリックするなんてのなら
無理〜。単に別のページにジャンプするだけなら簡単。
setTimeout(function() { location.href = "行き先"; }, ミリ秒);
310 :
Name_Not_Found :02/04/18 17:17 ID:a2enyrUf
>>307 有難うございます。
ですが、リンクをクリックしても何も表示されません。
引き続きお教え願えると有り難いです。
311 :
Name_Not_Found :02/04/18 17:46 ID:MaWTbXYt
>>310 それはリンクの書き方が違うの。
<a href="javascript: hoge('a')">...</a>
<a href="#" onclick="hoge('a')">...</a>
のどっちかにしてくれ。まぜるな危険。
ぐはぁ(;´Д`) 回線切って首吊って逝きます。 307氏・313氏、有難うございました。
315 :
307 :02/04/18 20:35 ID:MaWTbXYt
わー! すべて私のこの指が! この指が! この指が! 悪いんです…
http://muvc.net/smooth/で使ってるJava (多分)がソースを見てもわかりませんでした。
矢印をクリックすると画面がスクロールするやつなのですがソースわかりますか?
ちなみにソースのどこにもスクロールする画像のURLが見当たらないのでどのように画像を表示させているか全然わかりません。
iframe srcを使っているので読み込み先のHTMLのソースにも肝心のスクロールする画像のURLがありません。
このようなJavaを詳しく説明しているサイトとかありませんか?
>>316 あーソースじゃなくて画像見てたよ(/o\)
318 :
Name_Not_Found :02/04/19 08:24 ID:5Xs2R07a
>>316 JavaScriptのことJavaと呼ぶのやめてくんない?
>>1 に書いてあるだろ。
画像を差し込むタグは「new_Wr(...)」という関数の中でdocument.write()
で書き出しているものと思われ。矢印を押している間スクロールするなんて
のは画像と何の関係もないと思うよ。
319 :
299 :02/04/19 11:28 ID:3qtnqjP+
こんにちは。度々度々度々ですが。子ウィンドウから親ウィンドウをどうこうする件。
大抵のスクリプトに関係あると思うんですが、親ウィンドウが閉じられているときに
エラーを出さない方法を誰かご存知じゃないでしょうか。
function go_home() {
if ((self.history.length <= 1) //親ありなら履歴無しと思われる
&& (self.opener.closed == false)
&& (self.opener.location.href.indexOf("
http://hoge.com/ ") != -1)) {
self.opener.focus();
self.close();
return false;
}
return true;
}
今はこんなことをしています。openerを使うと親が居なければエラーになってしまいますので、
慎重に親がいるかどうかを確認してますが、よくリンクを辿るとき常に右クリックする人が
居ますが、そういう場合は最初のifを通過してしまいますので、エラーです。
誰か天才的な解決法を宜しくお願いします。
320 :
299 :02/04/19 11:36 ID:3qtnqjP+
>>最初のif文は 間違えました。最初の条件はクリアするので2つ目の条件でエラーです。
321 :
Name_Not_Found :02/04/19 11:44 ID:W6QoZhar
322 :
299 :02/04/19 11:51 ID:3qtnqjP+
!!!!なるほど!!!! プロパティではなくオブジェクト自体を参照するってことが 出来るということを始めて知りました(^^; nullが返るんですかね。まあ、調べてみます。 数日間悩んでたのに..解決しました。最初の条件は要らなくなりました。 心底ありがとう!!
324 :
Name_Not_Found :02/04/19 13:14 ID:kScno1jt
>>308 >>309 ありがとうございます。
でもlocation.hrefではページが更新されていなくても新規に読み込むようです。
リンクのように更新されていなければ読み込みをしないように動いてほしいのですが。
325 :
Name_Not_Found :02/04/19 14:04 ID:W6QoZhar
>>324 IE限定でlinkオブジェクトのclick()を呼ぶようにしたけど、どお?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function click() {
var elt = document.getElementById('a1');
if(elt.click) elt.click();
}
</script>
</head><body onload="setInterval(click, 10000)">
<p><a id="a1" target="a" href="
http://www.yahoo.com/ ">yahoo</a></p>
</body></html>
326 :
299 :02/04/19 14:12 ID:3qtnqjP+
あのー
マック版IE4.5だけでスクリプトエラーが出てしまいます。
'}'が必要です、って言われます。ちゃんと全部閉じてるんです。
>>319 のような内容で複数ページに設置してまして、
エラー出るところとそうでないところがあります。
その違いが今のところわからないんですが、どなたか原因を推測できないでしょうか。
327 :
ビッダーズ向上委員長 :02/04/19 14:15 ID:Rhz+kO4A
328 :
Name_Not_Found :02/04/19 14:33 ID:W6QoZhar
>>326 なにしろ皆Mac IE4.5なんて使っていないだろうからなあ…
とにかく<script>...</script>の範囲全部貼ってみて。あと
何行目でエラー出るか言われるから、その行がどこかも示して。
329 :
怪盗 ◆.jXrXgT6 :02/04/19 14:34 ID:1TJ00tq8
JavaScriptって何ですか?
331 :
299 :02/04/19 15:11 ID:3qtnqjP+
>>330 おお!これはすごい。もっと早く教えてよー(^^;
てかその前に、mac版IE4.01でページ読み込むまでもなくブラウザ死亡が発覚しました..。
スクリプトは関係ないと思いますが。
は〜もういやだ。
332 :
Name_Not_Found :02/04/20 01:49 ID:jxjIVq9v
動的に表示する文字列のピクセルサイズを取得するために、 まず透明にしたレイヤの中に表示→サイズ取得、というやり方をしていますが、 Mac版IE5ではレイヤのwidthが、中のコンテンツに規定されるのではなく ウインドウ幅になってしまうようで、うまく動作しません。 いい方法はないでしょうか?
333 :
332 :02/04/20 02:33 ID:jxjIVq9v
自己レスですが、 レイヤに入れる要素をtableで囲うとサイズが正しくなりました。 文字だけだとレイヤの横幅がウインドウ幅になるようです。
334 :
332 :02/04/20 03:47 ID:jxjIVq9v
と思ったらそうでもなく…。 更にMacN6だとサイズが0に…。 Mac用ブラウザでは、トリッキーなことはできないと判断して まったく別の処理をすることにしました。
335 :
Name_Not_Found :02/04/20 06:12 ID:jxjIVq9v
一度画面を表示してから、引き続き裏でレイヤに描画させたいと考えています。 onloadでレイヤに描画する関数を呼べばいいのかと思ったのですが、 それだと、画面の表示は、全ての処理が終わってからになってしまいます。 いったん画面を表示させてから処理を続けるには、 どうすればいいのでしょうか?
336 :
Name_Not_Found :02/04/20 06:31 ID:CI6v8+cx
無用な議論は止めて、ホームページ制作王を使いましょう。
>>335 どの時点でのイベントを取得しようとしてるのか分かりません。
>いったん画面を表示させてから
と言うのとonload後に処理するのでは何が違うの?
bodyの適当な所から呼び出しとか?setTimeout()とか?
338 :
Name_Not_Found :02/04/20 08:00 ID:EDIcP/up
ホームページ製作王では
>>335 の機能は実現できません。
もしできるというのなら、ホームページ製作王で製作した
>>335 の機能を実現しているページを貼ってみせてください。
>>338 ID:CI6v8+cx 用の隔離スレあるんだから、マジレスするな(w
340 :
338 :02/04/20 08:35 ID:EDIcP/up
スマソ、でも本当に貼ってくれたら役に立つかと思って。
341 :
キュ〜ウェル :02/04/20 10:07 ID:DxuVWkCC
質問があります。 ボタンを作り、そのボタンを押すと コンボボックスが表示されるという 物を作りたいのですがわかりません。 ヒントを下さい。
342 :
Name_Not_Found :02/04/20 12:38 ID:+s1/JQaQ
>>341 ホレ。N6/Mozilla/IE。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function add1() {
var elt = document.createElement('select');
elt.options[elt.options.length] = new Option('aaa');
elt.options[elt.options.length] = new Option('bbb');
elt.options[elt.options.length] = new Option('ccc');
document.getElementById('p0').appendChild(elt);
}
</script>
</head><body>
<form action="#"><p id="p0"><input type="button" name="add" onclick="add1()"
value="追加"></p></form>
</body></html>
343 :
335 :02/04/20 16:51 ID:jxjIVq9v
>>337 htmlを開いた直後にスプラッシュウインドウ(というかレイヤ)を表示して、
画像データ読み込み・レイヤ描画後に、メイン画面を表示する、という
アプリケーションソフトっぽい演出をしようと考えていました。
onload内でレイヤに書き込み処理すると、その処理が完全に終わるまで
画面に何も表示されなかったんです。
onloadは、画面が表示された後に呼ばれるのではなく、
表示の準備がOKになった時点で呼ばれるようですね。
onloadの中でsetTimeout(func,0)にしたら、
望みどおりの結果になりました。
ありがとうございました。
344 :
Name_Not_Found :02/04/20 17:19 ID:C36H5ko5
外部テキストファイルを表示させたいです。 具体的にはnews.txtを用意して、 それをindexページのある部分に表示させる、ということです。 お願いします。
345 :
Name_Not_Found :02/04/20 17:23 ID:wrLBDhNn
POSTで表示したページに history.back() で戻ると、IEだと「ページの有効期限切れ」 となってしまい、リロードしないと表示できないのですが、これをどうにかする方法はない でしょうか?? PHP4を使っています。
>>344 <object data="./news.txt" type="text/plain" width="30em" height="30em">
</object>
347 :
346 :02/04/20 17:43 ID:2MRKJFxR
ごめん。間違えました。 width属性とheight属性を消してください。 <object data="./news.txt" type="text/plain"> </object>
348 :
345 :02/04/20 18:02 ID:wrLBDhNn
349 :
344 :02/04/20 20:57 ID:XEJLT8Mk
>>346 ありがとうございます。普通にHTMLでしたね。
350 :
Name_Not_Found :02/04/20 22:25 ID:f16hQ07c
<a href="uri" class="class">moji</a> というタグがページ内に複数あるとき、 JavaScriptでmojiを消したり、mojiの前や後に文字を追加したりできるのでしょうか。 IE NC共。
351 :
Name_Not_Found :02/04/20 22:30 ID:f16hQ07c
>>350 すみません、インラインでなく、onloadなどを使用してのことです。
352 :
Name_Not_Found :02/04/20 22:34 ID:zkZuYmVG
>>350-351 N4では絶対にできない。N6/Mozilla/IEでは何ら問題ない。簡単。
353 :
Name_Not_Found :02/04/20 22:45 ID:f16hQ07c
>>352 ありがとうございます。
できるだけHTMLにスクリプトを埋め込まないページを考えています。
上から指定数個目のmojiだけを取得して解析し結果をmojiと置き換えるということも大丈夫でしょうか。
354 :
Name_Not_Found :02/04/20 23:05 ID:zkZuYmVG
>>353 ホレ。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function chg() {
var tnode = document.getElementById('a0').firstChild;
var off = Math.floor(Math.random()*(tnode.length-3));
var str = tnode.substringData(off, 3);
tnode.replaceData(off, 3, str+str);
}
</script>
</head><body onload="setInterval(chg, 1000)">
<p><a id="a0" href="
http://www.yahoo.com ">これはテストです。</a></p>
</body></html>
355 :
Name_Not_Found :02/04/20 23:31 ID:f16hQ07c
>>354 すごい、リンクがどんどん長くなりました。
これだとidを使っているようですが、classしか指定されていないタグでもできますか。
多数のページがあり、テーブルに期限切れ日付(2003/04/20 20:00など)リストが書いてあって、
アクセスすると計算して、もうすぐ期限切れなどという文字に変更したりしたいのですが、
id でなく classしか書いていません。
全ページのHEADタグ内から読み込んでいるJavaScriptファイルを修正して、対応したいと思っているのですが。
同じclassが複数あり一部計算が不要なので、指定個数目以降だけ計算して書き出したいのです。
356 :
Name_Not_Found :02/04/20 23:45 ID:zkZuYmVG
>>355 クラスで直接は指定できません。a要素(リンク)だけなのなら、
var a = document.getElementsByTagName('a');
for(var i = 0; i < a.length; ++i) {
if(a[i].class == 'class') 実行したい処理…
}
という風にするんじゃないの。ちょっと説明の意味がよく分からない
ところがあるけど。
357 :
Name_Not_Found :02/04/21 00:15 ID:QYGl/Loq
おおすごい。よさそうです。 ふと書き出す文字に<a class=class>を含めたらどうなるかなと思ったのですが、 ありがとうございました。
358 :
Name_Not_Found :02/04/21 05:48 ID:OQSORprU
JavaScriptオフにしっぱなしの人の心情を教えてください。
359 :
Name_Not_Found :02/04/21 05:57 ID:4yZJNqhS
>358 オフにしっぱなしまでいかんが、無意味なレンタル解析が多いから
360 :
Name_Not_Found :02/04/21 08:30 ID:c+cmup4U
>>357 後から書こうが何だろうが、getElementsByTagName()を呼んだ
時点で存在しているa要素がすべて取れます。でなきゃ何の
ためのDOMなんだかって感じ。
361 :
Name_Not_Found :02/04/21 08:37 ID:XjzhA06b
いま、JavaScriptで、日付表示(今日なら、4月21日、みたいに)と 下のバーに時刻日付(年月日・時分秒、秒を刻むもの)を表示させている のですが、バーのところが「e」じゃなく「!」が表示され、なにかが 間違っていて、おそらく、bodyタグがちがうのでは?とまではわかったの ですが、どうすればいいのかわからないのです。 ちなみに、現在のところ「BODY onLoad=Mess()」にしてます。 ご教授お願いします。
>>361 <script> の中身、全部貼ってみ。
363 :
Name_Not_Found :02/04/21 08:50 ID:XjzhA06b
<SCRIPT language="JavaScript"> <!-- date = new Date(); d = date.getDate(); m = date.getMonth(); dy = date.getDay(); month = new Array(" 1"," 2"," 3"," 4"," 5"," 6"," 7"," 8"," 9","10","11","12"); days = new Array("00"," 1"," 2"," 3"," 4"," 5"," 6"," 7"," 8"," 9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31"); day = new Array("日","月","火","水","木","金","土"); document.write("",month[m],"月",days[d],"日(",day[dy],")") // --> </SCRIPT> <SCRIPT language="JavaScript"> <!--HPB_SCRIPT_CODE_40 var _hcsjtmrID = null; var _hcsjtmrON = false; function _HpbDaysJpl() { this[0] = "日"; this[1] = "月"; this[2] = "火"; this[3] = "水"; this[4] = "木"; this[5] = "金"; this[6] = "土"; } function _HpbClockStatusJpl() { if (_hcsjtmrON) { window.clearTimeout(_hcsjtmrID); _hcsjtmrON = false; } var now = new Date(); var yr = now.getYear(); var mn = now.getMonth() + 1; var dt = now.getDate(); var dy = now.getDay(); var hh = now.getHours(); var mm = now.getMinutes(); var ss = now.getSeconds(); var fyr = (yr < 1900) ? 1900 + yr : yr; var dys = new _HpbDaysJpl(); var dyj = dys[dy]; var msg = fyr + "年" + mn + "月" + dt + "日" + "(" + dyj + ") "; msg += hh + "時" + mm + "分" + ss + "秒"; window.status = msg; _hcsjtmrID = window.setTimeout("_HpbClockStatusJpl()", 1000); _hcsjtmrON = true; } //--> </SCRIPT> 以上です。正直、パクって、改造しました。
364 :
Name_Not_Found :02/04/21 08:51 ID:XjzhA06b
あと、これもあります。 <SCRIPT language="JavaScript"> <!--- var y0="日 祝"; var y1="月〜金"; var y2="月〜金"; var y3="月〜金"; var y4="月〜金"; var y5="月〜金"; var y6="土 曜"; function gety(y){ if (y == 0){document.write(y0.fontcolor("red"));} if (y == 1){document.write(y1.fontcolor("blue"));} if (y == 2){document.write(y2.fontcolor("blue"));} if (y == 3){document.write(y3.fontcolor("blue"));} if (y == 4){document.write(y4.fontcolor("blue"));} if (y == 5){document.write(y5.fontcolor("blue"));} if (y == 6){document.write(y6.fontcolor("blue"));}} document.write(""); day = new Date(); gety(day.getDay()); //---> </SCRIPT>
365 :
age :02/04/21 09:02 ID:ZcwRCEk6
>>363 <body onload=_HpbClockStatusJpl()>
Mess() って何だったの?
> バーのところが「e」じゃなく「!」が表示され
再現できん。というか「e」とは何ぞや。
あと、その「!」が表示されるっていうブラウザは?
367 :
363-364 :02/04/21 09:55 ID:XjzhA06b
>>366 かなり、サンクスです!!
Mess()は、どっかで見たんで、書いておきました。
「e」は、IEのデスクトップアイコンみたいなやつです。
「!」は、標識みたいなものです。クリックすると、数式エラーです。
ってでてきました。
あと、もうひとつおねがいできますか?
ページを開いたときに、音楽が流れるようにしたいのですが、
なかなかうまくいきません。
なお、現在、
・音源・・・Real Jukeboxでマイク録音。(.rmp ファイルです)
・転送・・・FFFTP方式
・言語・・・htmlの bgsound で指定。
上記のようになってます。どうにかして聞くことができないでしょうか?
よろしくお願いします。
368 :
Name_Not_Found :02/04/21 10:12 ID:c+cmup4U
>>367 どっかで見たってあんたねえ…その数式エラーの行番号を
調べて、その行をよく見るべきなんだよ。あとbgsoundの質問は
完全にスレ違いだから初心者スレででも聞いてよ。
>>358 常時 OFF だよ
理由としては、PopUp ウザイし、
>>359 が言ってるように
無意味な解析多い。それと、ブラクラ対策ね
変だな?と思ったらソース表示してから、ON にしてる
正直、視覚効果に JS 使うのは構わないと思うが、
ナビゲートにまで使うのは勘弁して欲しい
質問します。 <html><body> <SCRIPT LANGUAGE="JavaScript"> <!-- function test(){ alert("ok"); } // --> </SCRIPT> <A HREF="test.htm" TARGET="sita" onClick="JavaScript:test(); return false;"> テスト </a> </body></html> 上記の様なスクリプトでテストをクリックするとfunction testが呼ばれ中の処理を行うという 動作を行いたいのですが、「このオブジェクトではサポートされていない動作です。」というエラーメッセージが 出てうまくいきません。とほほのWWWに似たようなものがあり同じように書いているのですが・・・ 違う点といえば上下に2つフレームを分けていて上記のものは上のフレームにおいてあります。 どなたかよろしくお願いします。
>>370 ブラウザは何使ってるの?
N6.2 と mozilla N9 じゃ、その様なエラー出ないけど…
>>370 onClick="test(); return false;"
では?
>369 ドウイ。 当方js、画像、css全部切ってマス(w <img src="...report.cgi?...>で取られるのもイヤだし。 cssは「ここまで来たらコレも」って感じで。
はげしく厨房な質問スマソ。 外部から複数のJavaScriptを呼び出す場合、同一のファイルに全て 書きこんで、それのリンクを<head>内に書けば良いんでしょうか? それとも別々に呼び出した方が正しいのでしょうか。 window openに関するJavaScript+mouseoverに関するJavaScript=script.js にして、<head>内に<script language="JavaScript" src="script.js"></script> にするか、という感じです。おながいします。
>>372 URI にはプロトコル指定子(http: とか ftp: とか mailto: とか)入れた方がいいと思うけど?
それよりも
>>370 をコピペして解ったんだが
> <html><body>
「html」を全角で記述するのはやめようぜ(w
>>374 hoge.js に関数やら色々な処理を書込んだファイルを作って
<SCRIPT LANGUAGE="JavaScript" SRC="hoge.js" TYPE="text/javascript"></SCRIPT>
↑でオッケー
376 :
Name_Not_Found :02/04/22 08:28 ID:k9G43a74
>>375 そこが勘違いなんだよ…onclick="..."に書くのはスクリプトのコード
であってURIではない。URIを書くのはhref="..."とかimgやscriptの
src="..."だろ。
377 :
うん :02/04/22 08:59 ID:vqKTzs6U
JavaScriptがプロトコルときましたか・・・
378 :
Name_Not_Found :02/04/22 12:15 ID:OOGUQWZW
>>356 if(a[i].class == 'class') 実行したい処理…を
if(a[i].class=='e'){ confirm("i");}としてテストしましたが、
エラー識別子がありませんのエラーが出ます。
379 :
Name_Not_Found :02/04/22 12:19 ID:OOGUQWZW
>>354 IE N6 で動きましたが、Operaで動きませんでした。
どこかのコマンドは対応していないのでしょうか。
>>378 a[i].className
'class' という名前は言語によって予約されていることが多いので
DOM HTML では class 属性に対して変則的に className という名前を使う。
381 :
Name_Not_Found :02/04/22 12:36 ID:ZfQ9Yq+7
>>380 そうです! すっかり忘れていたスマソ。
>>379 OperaのDOM2対応はボロボロです(というかそもそもDOM2
なんか似ても似つかない極部分集合のメソッドがあるだけ)。
N4と同じくらい無理です。
382 :
Name_Not_Found :02/04/22 13:26 ID:OOGUQWZW
>>381 >>381 ありがとうございます。
classNameで動作確認できました。Opera対応はZGOCKがでるまであきらめます。
スタイルシートの、table td a.className{ ;} のような限定指定で要素の値を取得することもできますか。
383 :
374 :02/04/22 14:06 ID:BpLiPT9P
384 :
370 :02/04/22 19:37 ID:nIAASBmQ
レスありがとうございます。 書き込みのあと色々と試してみたらうまくいくようになりました。 <A HREF="test.htm" TARGET="sita" onClick="test();return false;" )> 最終的に上のような感じになりました(他のところは変更なしです) 最初に書いたものはこちらに掲載するために若干内容が違うもので もともとfunctionは function search(){ } で宣言していたのですが searchの部分を違うfunction名に変えたら何故かできました。 原因は結局わからずじまい^^; searchって予約語じゃないですよね?? 私はよくfunction名にsearchを使用するのですが今回だけダメだったので まったく理解不能です
385 :
Name_Not_Found :02/04/22 22:26 ID:TLNH/BxI
>>384 あのね。a要素に対応するLinkオブジェクトにはMSIEの場合searchっていう
プロパティがあるわけ。で、onclickの中に書いたコードではコンテキスト
がこのLinkオブジェクトになっているんで、ここから外側に向かって探す
とこっちのsearchが別途定義したあなたのfunction searchよりも先に見付
かってしまい、それでうまく行かないわけよ。教訓: いかにもプロパティ
とかにありそうな関数名をつけるのはやめた方がよい。特にイベントハン
ドラから呼ぼうと思うのであれば。
386 :
ヤタ!公勝た!連敗ストップ :02/04/23 01:45 ID:61nzc5xW
テーブルを利用して1ヶ月単位のカレンダーを作成しました。 「今日」の日付の背景色をJavaScriptで自動的に変更したいと思っているのですが、何か良い方法は無いでしょうか? 一応、<td>23</td>と、<td>タグ内のテキストを検索して、 今日の日付と同じならば、スタイル属性を変更すると言う方法を思い付いたのですが、 タグ内の文字を検索する方法が分かりません(T^T)。 どなたかヒントをよろしくお願いしますです。
387 :
Name_Not_Found :02/04/23 03:12 ID:f/lYQgPA
フォームに書かれた文章を検索して、該当する文字列があれば、 すべてこちらの指定した文字列に変えたいのですが replace,new,regexpを使えばいいというのはこのスレを読んでわかったのですが フォームに書かれた文書を検索するにはどうしたらいいでしょうか?
match,seach
389 :
Name_Not_Found :02/04/23 04:00 ID:j0bqOMl9
ウィンドウのサイズ指定なのですが、例えば function changesize(){ window.resizeTo(450,450); } window.onload=changesize; window.onresize=changesize; みたいに指定するとそれ以上の大きさにリザイズできませんよね。 これを、特定のページのみで有効にして、その他のページでは、 普段個々のユーザーが、利用しているサイズに出来ないでしょうか? naviかなんかでディスプレイサイズ毎に振り分けてサイズ指定する しか、方法はないでしょうか?
390 :
10日目 :02/04/23 05:47 ID:CkArRDFr
new でポコポコ インスタンスが作れるのが楽しいとか思ったり。
>389 その他のページにJavaScriptを使わない。あ、そうじゃなくって? 蛇足だけど window.onmove=changesize; モナー
392 :
Name_Not_Found :02/04/23 12:23 ID:Bcalpl/b
document.image1はnull又はオブジェクトではありませんとエラーメッセージがでます どこがいけないのでしょうか? おながいします <script language="JavaScript"> <!-- //新しいイメージオブジェクトを作る var img1=new Image(); var img2=new Image(); var img3=new Image(); var img4=new Image(); var img5=new Image(); var img6=new Image(); var img7=new Image(); //オブジェクトにイメージのURIを入れる img1="img1.gif"; img2="img2.gif"; img3="img3.gif"; img4="img4.gif"; img5="img5.gif"; img6="img6.gif"; img7="img7.gif"; var N; function test(){ N=Math.ceil(Math.random()*7); if(N==0){N++}; document.image1.src=eval("img"+N); } tesr() //--> </script> <img name="image1">
img1.src="img1.gif";
394 :
392 :02/04/23 12:45 ID:Bcalpl/b
>>393 それは、どんな意味ですか?
document.img1.src=eval("img"+N);でもないし
<img src="img1.gif" name="image1">でもないですよね?
395 :
Name_Not_Found :02/04/23 12:46 ID:ydqgK2Do
>>386 ホレ。N6/Mozilla/IE。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function chg() {
var a = document.getElementsByTagName('td');
for(var i = 0; i < a.length; ++i)
if(a[i].firstChild.data == "23")
a[i].style.backgroundColor = "yellow";
}
</script>
</head><body onload="chg()">
<table summary="calendar"><tbody>
<tr><td>20</td><td>21</td><td>22</td><td>23</td><td>24</td></tr>
</tbody></table>
</body></html>
396 :
Name_Not_Found :02/04/23 12:58 ID:ydqgK2Do
>>387 ホレ。N4/N6/Mozilla/IE/O6。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function chg(elt) {
elt.value = elt.value.replace(/a/g, 'A');
}
</script>
</head><body>
<form action="#"><p><input type="text" onchange="chg(this)"></p></form>
</body></html>
397 :
Name_Not_Found :02/04/23 13:07 ID:ydqgK2Do
>>392-394 貴方のコード見るとあまりに分かってなさそうでアドバイスするのが
ためらわれますが…とりあえず、
document.images.image1.src = ...
(こう指定した方がよい)が実行される時には既にimg要素は存在して
いないといけません。存在してないからエラーなんでしょ。修正と
してはimg要素とscript要素の順番を入れ換えてimg要素を先にした
らどうですか。
398 :
392 :02/04/23 13:25 ID:Bcalpl/b
動けばいいと思っている罠 で、応用を利かそうとした時にまた解らなくなってここに聞きにくる罠(w
400 :
今日も、又、馬鹿試合のヨカソ :02/04/23 18:23 ID:61nzc5xW
>386です。 >395さん。ありがとうございます。 dataちゅうので、中身が調べられるんですね。勉強になりましたです。m(_ _)m んで、、、又、疑問点が出てしまいましたです。 <table><tr> <td><a href="xx.html">23</a></td> <td>24</td> </tr></table> という場合があります。 検索する子供を特定する為に、tdの子供が幾つあるか調べたいのですが、 var a1=document.getElementsByTagName('td')[0].childNodes.length; var a2=document.getElementsByTagName('td')[1].childNodes.length; とやっても、両方とも「1」の値しか出ませんでした。(T^T)。 片方の<td>の子供は、<a>要素+textで、「2」になる気がするのですが? <td>の子供は誰なんだ〜〜。 なんか?根本的に違っているのかも知れない。。(鬱 どなたかアホに分かりやすく説明して下さいませです。m(_ _)m
[HTMLElement] td --- [HTMLElement] a --- [TextNode] 23 tdの子にaがいて、aの子にTextNodeがいる。 こんな感じ?
402 :
401 :02/04/23 18:59 ID:epfVFXzP
だから、[HTMLElement] td にとって [TextNode] 23 は孫であって、子ではありません。 [HTMLElement] tdの直接の子は [HTMLElement] a だけです。
403 :
今日も、又、馬鹿試合のヨカソ :02/04/23 19:09 ID:61nzc5xW
>401さん。 即レスありがとうございますです。 ちゅ事は、、、>400場合は、 document.getElementsByTagName('td')[0].firstChild;が、<a>要素で、 document.getElementsByTagName('td')[0].firstChild.firstChild.data;は、23になる。 <p><strong>ハム</strong>頑張れ!</p> この場合は、<p>要素に「<strong>」と「頑張れ!」の二人の子供がいて、<strong>要素に、「ハム」の1人の子供がいる。 こうですね? フムフム、、なんかチット見えたような? 子供の子供が有るか無いかを特定する事で、検索できるかどうか試してみるです。 アホな質問に丁寧なレス。感謝です。m(_ _)m
>>396 ありがとうございます。
前にここで作ってもらったものを弄ってみました。
間違い等あればアドバイスください。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
<title>M</title>
<script type="text/javascript">
<!--
function func(elt) {
elt.value = elt.value.replace(/</g, '&lt;');
if (document.all && document.all.D1) {
document.all.D1.innerHTML = document.F1.T1.value.replace( /\r?\n/g, "<br>" );
}
}
// --> </script>
<form name="F1">
<p align="center"><textarea name="T1" rows="10" cols="85">AAA<B>BBB</B>CCC</textarea>
</p>
<p align="left">
<input type="button" value="OK" onclick="func(this)"> </p>
</form>
<DIV ID="D1">AAA<B>BBB</B>CCC</DIV>
</body></html>
405 :
392 :02/04/24 08:14 ID:+wOf6028
>>399 どう直したら良くなるのですか?
勉強したいので教えてください(ピュア
406 :
Name_Not_Found :02/04/24 08:38 ID:c/sQf8mv
>>405 改めて「何をやりたいか」書いてみなよ。
407 :
392 :02/04/24 10:23 ID:EIfb3CNo
>>406 おねがいします
・画像をプレロード
・画像のプレロードが終わるまでスタートボタンを押せない
・スタートボタンを押して画像がランダムに表示される
・ボタンを押すと画像がストップ
・選択された画像によって別のコメントを出す
上の中で画像のプレロードが終わるまでスタートボタンを押せない
が特につまづいている箇所です
プレロードが終わったらdocument.writeでボタンを表示するか、
または、プレロードが終わる前にボタンを表示しても押せないにしたいです
408 :
Name_Not_Found :02/04/24 11:52 ID:nvTyY10T
JSでブラウザがDOM対応か調べる方法を教えてください。
409 :
392 :02/04/24 12:01 ID:A9FxyTJO
>>407 の途中までやったソースです
<img src="img1.gif" name="image1">
<script language="JavaScript"><!--
var img1=new Image();
var img2=new Image();
var img3=new Image();
var img4=new Image();
var img5=new Image();
var img6=new Image();
var img7=new Image();
img1="img1.gif";
img2="img2.gif";
img3="img3.gif";
img4="img4.gif";
img5="img5.gif";
img6="img6.gif";
img7="img7.gif";
var N;
function slot(){
N=Math.ceil(Math.random()*7);
if(N==0){N++};
document.images.image1.src =eval("img"+N);
timerID=setTimeout("slot()",100)
}
function stop(){
msg=new Array();
msg[0]='メッセージ1';
msg[1]='メッセージ2';
msg[2]='メッセージ3';
msg[3]='メッセージ4';
msg[4]='メッセージ5';
msg[5]='メッセージ6';
msg[6]='メッセージ7';
var IMG='<br><img src="img"+N>';
document.write(msg[N]+IMG);
}
//-->
</script>
<form>
<input type="button" value="始める" onclick="slot();">
<input type="button" value="止める" onclick="clearTimeout(timerID);stop();">
</form>
>>407 これを改造したら、できないかな?
var image=new Image();
image.onload=complete;
image.src="";
function complete()
{
button.disabled=false;
}
411 :
Name_Not_Found :02/04/24 12:43 ID:QIjFYgAS
>>407 これでどうかな。N4/N6/Mozilla/O6。でもなんかプリロード
のチェックに失敗することがあるような気がしている…
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
var names = ['t0.png','t1.png','t2,png','t3.png','t4.png'];
var imgs = [new Image(),new Image(),new Image(),new Image(),new Image()];
var msgs = ['あ','い','う','え','お'];
var PRELOAD = 0, READY = 1, RANDOM = 2, status, num;
function init() {
for(var i = 0; i < names.length; ++i) imgs[i].src = names[i];
status = PRELOAD; setInterval(action, 100);
}
function action() {
if(status == PRELOAD) {
for(var i = 0; i < names.length; ++i)
if(!imgs[i].complete) break;
status = READY; document.forms.f0.elements.b0.disabled = false;
} else if(status == RANDOM) {
document.images.i0.src=imgs[num=Math.floor(Math.random()*imgs.length)].src;
}
}
function press() {
if(status == RANDOM) {
status = READY; document.forms.f0.elements.t0.value = msgs[num];
} else status = RANDOM;
}
</script>
</head><body onload="init()">
<p><img name="i0" src="t9.png" alt="change images"></p>
<form name="f0" action="#"><p><input name="t0" type="text">
<input name="b0" type="button" value="press" disabled onclick="press()">
</p></form>
</body></html>
>>404 なのですが動かしてみたら
『<』が『&lt;』に変わってくれないです。
何とかならないでしょうか?
413 :
411 :02/04/24 12:45 ID:QIjFYgAS
げ、breakじゃなくreturnね。
414 :
411 :02/04/24 12:51 ID:QIjFYgAS
げ、breakじゃなくreturnね。あと't2,png'じゃなく't2.png' ね。ぼろぼろでした。
415 :
Name_Not_Found :02/04/24 13:00 ID:QIjFYgAS
>>412 あのねえ、ボタンが押された時にテキストエリアを変更したいんだった
らfunc(this)じゃ済まないでしょ。funcの引数はなしにして冒頭に
var elt = document.forms.F1.elements.T1;
を入れる。もうちょっと理解して応用してよ。も、勘弁して欲しいなー。
>>408 DOMたってレベル0(なにもなし)からこれからできるレベル3まで
色々あるがな。しかもDOM2だってこれはサポート、これは非
サポートとか色々バリエーションがあるし。本当はheasFeature()
とかで調べることになってるけどあんまり役に立っていない感じ。
なので、自分では「if(document.getElementById) ...」とか
その時々で使いたいメソッドがあるかどうかで判定している。
416 :
392=407=409 :02/04/24 13:25 ID:486WTJ9E
ありがとうございます>ALL プリロード難しいです これから仕事へ行くんでまた明日にでも続けて勉強してみます
417 :
Name_Not_Found :02/04/24 19:06 ID:IvRDXTtd
Javascriptって、関数テーブルできませんか?
>>415 ありがとうございます。携帯で対応していたら便利と思ったのですが、ez-webでも対応していないようですので依存しないようにしたいと思います。
420 :
Name_Not_Found :02/04/24 19:53 ID:H9t08SfT
このスレを読んでいると、ひんぱんにDOMという語が出てくるが、これってなに? DOMを勉強するとハッピーになれるの?
>>420 DOM は Document Object Model の略。文書関連のオブジェクト群全般を指す。
勉強してハッピーになるかどうかは知らんけど、使うと願い事がかなったりはするよ。
>>417 JavaScriptの関数の実体はFunctionオブジェクトなので、
Arrayに格納していくだけでいいと思います。
var array=new Array();
array[0]=getXXX;
function getXXX() {}
>>420 >>3 あたりにリンクがありますよ。一度、見てみては?
423 :
422 :02/04/24 20:29 ID:6bjmQOOs
ごめん。間違えました。こっちの方がいいでしょうか? > array[0]=getXXX; array["getXXX"]=getXXX;
>>422 array[0]() を評価すると
関数コード中の this が array を指すことになるので、若干注意が必要。
>>423 そこを直すなら new Array() も new Object() に直さないと。
426 :
422 :02/04/24 20:32 ID:6bjmQOOs
427 :
415 :02/04/24 20:40 ID:Q51keBQj
>>422 ありがとうございます。参考にします。
実はあの後いろいろ調べて、
JavaScript1.3以降なんだけどcall()でやればできそうでした。
a=edit; a.call();→edit();
ただ自分のやりたいのは、name属性の名称をとってきて
その名前の関数に持ってきたいわけです。
<td name="edit" .... onMousedown="classify(this)">
とやっておいて
function classify(a){
b=a.name;
b.call();
}
で、edit()を呼び出したいのです。
しかし、bの内容がどうも文字として認識されてしまうらしく
うまくいきません。
もう一息だと思うのですが、どなたかお知恵を拝借できませんか?
>>427 JavaScript では、オブジェクトと連想配列が同じ物。
で、いわゆるグローバル変数や関数はグローバルオブジェクト window のプロパティだったりする。
てわけで edit と window.edit と window['edit'] は等価。
429 :
415 :02/04/24 21:07 ID:OALPXO29
function classify(a){ var array = Object(); array["edit"]=edit; array[a.name](); } でうまくいきました。ありがとうございました。 ところで(~~;ついでと言えば恐縮ですが、 もうひとつ爆弾を抱えていまして・・・ 実は、DOM・CSSがらみなのですが、ボタンをクリックしたときに ボタンの色を変えたいと思っていまして 直接<input type="button" .... style="background-color:yellow"> (tableのtdの要素) とすれば、問題なく変わるのですが、 table2.rows(0).cells(0).children(0).style.background-color="yellow"; では構文エラーになります。 table2.rows(0).cells(0).children(0).style.color="yellow"; は、ちゃんと文字の色が変わります。(WIN98・IE6) IE6のバグなのでしょうか?それとも私の勘違い?
430 :
Name_Not_Found :02/04/24 21:10 ID:sEVn/e2U
おいおい、なんたらbackgroundからcolorを引き算して どうする?それを書くならbackgroundColorだって。
431 :
415 :02/04/24 21:13 ID:yfkYO/l5
>>428 すみません。言われてることがいまいち飲み込めなかったです。
もうすこしわかりやすくお願いできますか?
432 :
415 :02/04/24 21:17 ID:zCvlyK/M
>>430 backgroundColorでできました。お騒がせしました。
でもCSS設定がbackground-color:yellow;なのに,
JavaScriptのstyleのプロパティがbackgroundColorなのですかね?
433 :
Name_Not_Found :02/04/24 21:23 ID:sEVn/e2U
>>431 (1) グローバル変数はwindowオブジェクトのプロパティ。
ゆえにdocumentとwindow.documentは同じもの。また自分で
「var xyz = ...」とかした場合、このxyzとwindow.xyzは
同じもの。
(2) オブジェクトは連想配列。つまりo['abc']とかいう
配列要素も自由に使える。
(3) プロパティはその名前をキーとする連想配列の要素
として扱える。つまりo['abc']とo.abcは常に同じもの。
以上から、変数bに広域変数の名前が入っているならば、
その変数はwindow[b]でアクセスできる。
434 :
Name_Not_Found :02/04/24 21:24 ID:sEVn/e2U
>>432 だから「-」はJavaScriptでは引き算に使ってしまって
いるから。
JavaScript On にした人だけが入れるページを作りたいんです。 Onの人には通常の表示、Offの人を「Onにしなきゃ見えないよ」っていう警告ページに誘導するには どういう風にすればいいでしょう?
<noscript> Onにしなきゃ見えないよ </noscript>
437 :
Name_Not_Found :02/04/24 22:01 ID:kFBSo51z
ものすごい勢いでこれでもかというくらい、 見ている人がウザがるほど大雪を降らせたいのですが どのようにすればいいのでしょうか?
438 :
Name_Not_Found :02/04/24 22:41 ID:IHatQSgR
>>437 背景透明画像の大きめのに沢山雪が振っているのを
用意して、その画像を沢山振らせる。
>435 metaのrefresh + >436のリンク無しページ
440 :
Name_Not_Found :02/04/24 23:38 ID:UeDewt38
コメントタグ内のContentを読み込む方法があるのでしょうか。 なさそうな感じ。
>>440 <!-- -->のこと? これはタグじゃないよ。
DOM的にはコメントノードで、nodeValueに"Content"が入っているよ。
ちなみにnodeTypeは 8。
IE なら document.getElementsByTagName('!')[n].data でいけるよ。 xml 宣言も文書型宣言も引っかかるという萎えっぷりだけど。 Mozilla や N6 ではこんなヘタレ DOM 通用しないから まじめに CommentNode を取得する必要がある。 内容は data プロパティで取れる。
443 :
Name_Not_Found :02/04/25 00:01 ID:sy3+Hpz2
げげー、「!」というタグがあることになってるの。 そりゃあすごいなあ。まてよ、<!>...</!>とか書けたりして。
>>443 IE は実際に <COMMENT> ってタグを実装してるから、その関係かもね(w
しかも IE の <!-- --> は nodeType=1 というスグレモノだ。
> nodeType=1
あ、 IE6 だと 8 に直ってるみたいだね。
>>444 は IE5.5 の話ってことで。
446 :
Name_Not_Found :02/04/25 10:41 ID:U9psV+sh
特殊文字ついて質問があります。 NetScape4.7を使い、HTMLで記述した「Z」等をJavaScriptのalertで参照すると 「?」が表示されます。 escapeを使って文字コードに変換しても「%3F」と「?」の文字コードに なってしまうのですが 「?」に変換されない様」にするには どうすればいいのか教えてください
447 :
Name_Not_Found :02/04/25 11:49 ID:7Gcqgo+U
>>446 まず、JavaScriptの中では文字コードはUNICODEで指定しなく
てはならない。ShiftJISで指定してもムダ。これ大丈夫?
(もっとも古いJS処理系ではUNICODE対応でないものもある)
次にN4ではJIS X0208に無い文字(いわゆるい機種依存文字)
はUNICODEで指定できても表示できないようで。このため、
ローマ数字やマル数字が駄目なのですよね。通常のHTMLに
書いた場合でもUnix上のN4では表示されない。「VII」の
ようにASCIIで書いた方がよくない?「XIII」なんて漢字
1文字ぶんの幅に表示されてもよく見えないし…
448 :
こばとう :02/04/25 12:20 ID:mAxj9srV
>433 横から訊いていいすか? グローバル変数がグローバルオブジェクトのプロパティであることは わかるんですがローカル変数の場合 Function オブジェクトの プロパティではないですよね。こいつらも何らかのオブジェクトの プロパティとして参照することはできるんですか? function Func1() { var i = 10; alert(Func1.i); // だめだあ }
449 :
Name_Not_Found :02/04/25 12:25 ID:7Gcqgo+U
>>448 ローカル変数はコンテキストオブジェクトのプロパティ
なんですが、ECMA-262ではコンテキストオブジェクトを
直接取り出したりして操作することを禁じています。
だからできない。だったと思う…
少なくとも関数オブジェクトのプロパティってことはない
です。もし関数オブジェクトのプロパティなんかにしたら
再帰呼び出しとか非同期実行(setTimeout等)でぐっちゃ
ぐっちゃに…
450 :
Name_Not_Found :02/04/25 12:56 ID:s7jnXF43
>>447 N4では出来ないってことですね。ありがとうございました。
451 :
Name_Not_Found :02/04/25 16:08 ID:Bk9zTX6H
>>448 オブジェクトのプロパティーとして使いたいなら、初めからオブジェクトの
メンバとして保持させる。
また、どうしてもローカル変数にアクセスしたいなら、その変数と同じレベルに、
外からアクセスできる関数を置いて値を取り出すとかすればいいかな。
リスクも大きいけど。
453 :
448 :02/04/25 23:32 ID:znSxkmku
>449,452 レスサンクスデス。 スコープ演算子を使って Func1::i = 5; みたいにアクセスできる方法があればなあなんて。 ちなみに以下のは構文エラーが起きないんだけど どうして?パースはされてんのかな。 function Func1() { alert("Func1"); } function Func1::Func2() { alert("Func2"); } Func1(); どのみち呼び出せませんけど。 あともうひとつ訊きたいことがあります。 多分無理と思うけど引数を参照渡ししたりデフォルト値を 持たせることを構文的に出来ますか?(代替案を期待しているわけではなく 仕組みが提供されているのかが知りたいです) 無論 function Func1(moji = "hoge", kazu = 0) { // 処理内容 } なんてのは駄目でした。変な質問ばかりでごめんなさい。
454 :
Name_Not_Found :02/04/26 00:39 ID:bgi+Xtxc
pc.software等の文字列から.以降の板名だけを取得してそれを文中にdocument.writeで書いて <input type=hidden name=bbs value=software>になるように出力して利用したいんですが うまくいかないのですがどう直せばいいのでしょうか? 使ってるブラウザはIE6です。 <script language='JavaScript'> ichi="pc.software".indexof('.'); bbs="pc.software".substring(ichi); document.write("<input type=hidden name=bbs value=",bbs,">"); </script>
455 :
Name_Not_Found :02/04/26 01:06 ID:lYcUplGo
>>454 ホームページ制作王を使えば、そんな悩みも解決。
あなたの思い通りのスクリプトが5秒で組めます。
>>453 ちょっと違うかな?
function Func1() {this.i = 5;}
var a = new Func1();
alert(a.i);
スコープ解決演算子を使った文を書くと構文エラー起きます。
どんなブラウザーで確認していますか?
--------------------
オブジェクトの代入は参照を渡します。
var doc = document.documentElement; //コーピーではなく、参照
doc.style.backgroundColor = "blue";
デフォルトの引数という仕組みは言語でサポートされていません。
けど、代替案はあることはある。
458 :
Name_Not_Found :02/04/26 06:41 ID:1HkaiOYQ
ヤマカンで文法や機能をでっちあげて質問するのはやめて 欲しい。言語にはちゃんと文法や規則があるんだから。そ れをドキュメント等でチェックしたくないってのは手抜き。
460 :
Name_Not_Found :02/04/26 08:27 ID:uV0FFcq2
461 :
Name_Not_Found :02/04/26 08:42 ID:sAxX4aio
サブミットボタンの変わりに、イメージボタンを使っています。 テキストボックスにカーソルが入った時に、 イメージボタンがフォーカス(周りの点々?IEで)になるようにするには どうすればよいですか? <form name="form1" method="post" action=""> ID<input type="text" name="id" size="8"> パスワード<input type="password" name="pass" size="8"></td> <input type="image" border="0" name="login" src="login.gif"> <input type="hidden" name="test" value="ログイン"> </form>
462 :
461 :02/04/26 08:58 ID:sAxX4aio
付けたしです。 フォーカスというか、 ブラウザで用意されているボタンのように、 カーソルが入った時に 見た目で回りに装飾があればいいのに・・、 という事なのです。
>>461 フォーカスについては、CSS2の仕様にあるのですが、
まだ、どのブラウザでも実装はされてないと思います。
代わりとして、ボーダーを使うのはどうでしょうか?
>>460 ビヘイビアですね。IEの独自仕様です。
www.microsoft.com/library/flyoutmenu/default.css で
www.microsoft.com/library/flyoutmenu/default.htc を
参照してます。
465 :
Name_Not_Found :02/04/26 11:07 ID:hW2wK8vn
>>464 レスありがとうございます。独自使用ということは
同じような処理は個人では再現できないということでしょうか?
オーバー処理で背景色を指定すると近いようにはなりますが
リンク先のように「枠全体」というイメージを考えています。
466 :
463 :02/04/26 11:08 ID:hAEWJIcI
間違えました。 ごめんなさい。 > フォーカスについては、CSS2の仕様にあるのですが、 アウトラインについては、CSS2の仕様にあるのですが、
>>465 上記のサイトでは、テーブルレイアウトをしているので、
同じようにテーブルセルにonmouseoverをつければいいと思います。
(試してないので、確信が持てませんが)
468 :
467 :02/04/26 11:26 ID:hAEWJIcI
>>465 適当ですが
<script type="text/javascript">
function on(obj)
{
obj.parentNode.style.backgroundColor="gray";
}
function out(obj)
{
obj.parentNode.style.backgroundColor="transparent";
}
</script>
<table width="100%">
<tr><td><a href="" onmouseover="on(this);" onmouseout="out(this);">a</a></td><td>a</td></tr>
</table>
469 :
Name_Not_Found :02/04/26 15:17 ID:hW2wK8vn
470 :
Name_Not_Found :02/04/26 18:17 ID:kTb0UKfu
javascriptに sleep とかはないんですかねぇ。 あと、setTimeout()とsetInterval()って違いあるんですか? 分かる方返答お願いします。
> sleep ないですね。残念ながら setTimeout() 一回だけ setInterval() 繰り返し
472 :
470 :02/04/26 18:50 ID:1xk61mUz
返答どうもです。 > setInterval(),setTimeout() そういうことだったんですか ところで、 setTimeout("repeat("+elt+");",100); とかするときにeltがobjectだとエラーがでますよね。 (経験的にウソだったらスマソ) そうときは setTimeout(function(){repeat(elt);},100); という風にするしかないんですか?
473 :
Name_Not_Found :02/04/26 18:52 ID:mouaR445
厳密には、javascriptにはsetTimeout()はありません。 javascriptにsetTimeout()があるというのなら、 javascriptには、Sleepもあります。
474 :
Name_Not_Found :02/04/26 18:58 ID:1xk61mUz
setTimeout()はjavasriptに属さないんですか、 しりませんでした。 ということは、Sleepもつかえるって事ですか?
475 :
Name_Not_Found :02/04/26 19:27 ID:rfvTLTJZ
IEのCSS、
A:over{ background-color: #00900; }
みたいなことをNN4.5 でも実現させたいと思ったのですが、
テーブルの背景色を変えるにはどのようにすればいいのでしょうか。
>>294 を見ると
<table><tr><td id="hoe">
<a href="#" onmouseover="document.getElementById('hoe').style.backgroundColor='#009900'">
ほえ</a>
</td></tr></table>
とやればいいのかと思ったのですが、style は IEでしか使えないとわかりました。
NN4.5にも対応させるにはどのようにしたらいいでしょうか。
>>473 setTimeout()はJavascriptに無いってどういう意味ですか?
>>476 私は、473ではありませんが、
おそらく、setTimeout()はECMAScriptには無い、という意味だと思います。
478 :
Name_Not_Found :02/04/26 20:48 ID:W9BeJ9dJ
>>475 IEでしか使えないというのは嘘でしょ。N6/Mozilla/O6とも使える
と思うけど。N4はねえ…
<div id="hoe" style="position: relative">...</div>
としておいて、あと設定するところは
document.hoe.bgColor = ...;
とするんでしょうかね。
>>477 でもJavaScriptにないって言っているよね。JavaScriptの定義はどう
だということなんだろう。別に複数の定義の可能性でいいんで、語って
みてくれませんか
>>473
479 :
Name_Not_Found :02/04/26 21:28 ID:mouaR445
window.setTimeoutはJavaScriptネイティブの機能ではない。 window.setTimeoutはブラウザ上のJavaScriptから呼び出すことができるブラウザの機能。 WindowsScriptingHost上のJavaScriptからなら、 WScript.SleepというWindowsScriptingHostの機能を呼び出すことができる。
480 :
Name_Not_Found :02/04/26 21:30 ID:vzzZ6kW1
だから「JavaScriptネイティブ」というのはどう定義されるのさ。 ECMA-262はJavaScriptとイコールだということ?それとも…?
481 :
479 :02/04/26 21:30 ID:mouaR445
あくまで「厳密には」っていう話をしているだけだけどね。
482 :
477 :02/04/26 21:57 ID:ls/xUnb1
Netscapeのサイトをみると、 Core JavaScript, Client-Side JavaScript, Server-Side JavaScript の三つあることが分かりました。 Coreの方にはsetTimeout()がないってことでしょうか?
>>479 下らんつっ込みだが、厳密には WSH で動くのは JScript。
484 :
Name_Not_Found :02/04/26 22:12 ID:BFHlwbrQ
>>463 ご返答ありがとうございます。亀レスですが・・。
>代わりとして、ボーダーを使うのはどうでしょうか?
↑とは具体的にどういうことでしょうか?無知でゴメンナサイ!
これはjavascriptに関係ないのですかね?
フォーカスを合わせると、破線が表示されますね? これは本来、 outline-color, outline-style, outline-width, outline で、変更できるんですが、サポートしているブラウザがない(たぶん)ので、 border-color, border-style, border-width, border を代わりに使うしかありません。 テキストボックスでonfocus, onblurイベントが発生したら、 obj.style.boderStyle="solid"; obj.style.boderStyle="none"; などとしたらいいと思います。
486 :
Name_Not_Found :02/04/26 22:46 ID:SWLtZZ5o
487 :
Name_Not_Found :02/04/26 23:03 ID:E26BrNu4
>>486 mouseoverで表示されるモノをobject要素にして、そのdataプロパティに
表示させたい内容のURLを入れる、っていうのでどうかな。試してないケド。
488 :
Name_Not_Found :02/04/27 01:55 ID:KpJ9aJTa
画像のロールオーバーなんですが、このように書きました <script type="text/javascript"> var img=new Array() img[0]=new Image();img[0].src="0.gif" img[1]=new Image();img[1].src="1.gif" function test(name,num){ document.images[name].src=img[num].src } </script> <a href="#" onmouseover="test('aaa',1)" onmouseout="test('aaa',0)"> <img src="0.gif" border="0" name="aaa"></a> このままだとうまくいくんですが、 <div style="position:absolute〜">内でつかうと NN4だとスクリプトエラーがでてしまいます。 解決方法を教えてください。
489 :
Name_Not_Found :02/04/27 02:00 ID:1L6eVJg/
function hoge(){ window.open("URI","Window_name","Option"); } <body onLoad="hoge()">
491 :
484 :02/04/27 02:36 ID:no4pJVyV
>>485 なるほど〜、ありがとうございます!
ちょっと自分なりにやってみます。
"まえかた"思ってた疑問が解けました ありがとう
493 :
Name_Not_Found :02/04/27 03:03 ID:Sp6NIrA/
>>478 <div id="hoe" style="position: relative">
<table><tr><td>
<a href="#" onmouseover="document.hoe.bgColorr='#009900'">
ほえ</a>
</td></tr></table>
とやってみましたが document.hoe はオブジェクトではないと
言われてしまいました。
NN4でテーブルの背景色を変える方法をご存じの方いましたら
是非ご教授ください。
494 :
Name_Not_Found :02/04/27 03:46 ID:TPvPBad7
JavaScriptでcookieの情報を取ろうとしているのですが、上手く取れません。 どうやらドメインの設定が違うのでダメみたいです。 で、教えて欲しいのですが、 1.JavaScriptでcookieをセットするときに、好きなドメインをセットすることはできますか? 2.逆にどんなドメインをセットしてあってもクッキーの値が取れるJavaScriptってありますか?
>493 NN4ならレイヤーを使う方が楽かも。 <script type="text/javascript"> function over(lname) { document.layers[lname].bgColor = "#ff0000"; } function out(lname) { document.layers[lname].bgColor = "#ffffff"; } </script> <ilayer id="layer1"> <a href="#" onmouseover="over('layer1')" onmouseout="out('layer1')">ほえ</a> </ilayer>
496 :
486 :02/04/27 11:54 ID:FXd3xrE5
>487 レスありがとうございます。 ちょっと頑張ってみます。
突然なんですが文字のSHIFT-JISのコードを知ることはできますか? ユニコードならcharCodeAtで出来ることまではわかったんですが。
498 :
Name_Not_Found :02/04/27 12:17 ID:8VYu5dB7
>>493 単にdivの閉じ忘れじゃないの?次のコード、N4/N6/Mozilla/IE/O6で
確認。getElementByIdがなければN4と決め打ちしてるのは手抜きですが。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function chg(col) {
if(document.getElementById)
document.getElementById('d0').style.backgroundColor = col;
else // N4
document.d0.bgColor = col;
}
</script>
</head><body>
<div id="d0" style="position: relative"><table summary="test"><tbody><tr><td>
<a href="#" onmouseover="chg('blue')" onmouseout="chg('yellow')">Test</a>
</td></tr></tbody></table></div>
</body></html>
499 :
Name_Not_Found :02/04/27 12:23 ID:8VYu5dB7
>>497 うーん、聞いたことないなあ。文字コード変換表を自前で持てば
できるだろうけどさ。
500 :
Name_Not_Found :02/04/27 12:33 ID:8VYu5dB7
>>496 objectだとうまく行かないなあ。iframeで作ってみた。N6/Mozilla/IE。
ただしIEだとよのサイトをiframeに入れていると警告してくれることあり。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
var uri = '
http://pc.2ch.net/test/read.cgi/hp/1017668857/ ';
function show(n) { document.getElementById('o0').src = uri+n; }
</script>
</head><body>
<div><iframe src="
http://pc.2ch.net/test/read.cgi/hp/1017668857/1 "
id="o0" width="400" height="200">content here...</iframe>
<p onmouseover="show(497)">497</p>
<p onmouseover="show(498)">498</p>
<p onmouseover="show(499)">499</p></div>
</body></html>
501 :
Name_Not_Found :02/04/27 12:36 ID:8VYu5dB7
>>494 そんなことができたらそんなブラウザは危なすぎるから誰も
使わないだろう。
502 :
Name_Not_Found :02/04/27 15:34 ID:sLBNnL8H
submitボタン使わないで、POSTでCGIに送ろうとしています。
location.href=
http://a.cgi?a=.... とすれば、GETで送れますが、
POSTで送るにはどうしたら良いですか。ちなみにformタグ使わなしにです。
>>502 >ちなみにformタグ使わなしにです。
念力
504 :
502 :02/04/27 15:50 ID:xC1Tv3NB
禿ワラ で、まじめな話どうするの? buttonのinputタグとtextのinputタグがテーブルに仕切られて 分かれちゃってるから、難しいんだよね。 子要素のないform作って、JavaScriptで method,action,name,valueを設定して送るとかしかないのかなぁ? ちなみに円コーディングはShift-Jisにする関係上 vbsciptで変換済みです。
505 :
Name_Not_Found :02/04/27 16:20 ID:8VYu5dB7
>>504 そうね、JavaScriptで全部設定して送るんでしょうね。
っつか、このスレで聞いた以上はそのつもりなんでしょ?
506 :
Name_Not_Found :02/04/27 17:50 ID:EDidMPoi
507 :
Name_Not_Found :02/04/27 17:51 ID:EDidMPoi
508 :
Name_Not_Found :02/04/27 20:27 ID:rxyFbbAU
GETとPOSTって何が違うの? 説明キボンヌ
510 :
502 :02/04/27 21:38 ID:/khzoya8
GETは、アドレスの後に?付けて、name=value&name=value・・・で繋げたもの
要は検索サイトで出てくる長ったらしいアドレスの正体
送るものが全部見えてしまうし、あまり大きい容量遅れない。
POSTは、アドレスとは別枠でname=value&name=value・・・で繋げたものを
送ることができる。別枠なので、結構大きい容量送れる(TEXTAREAとか)
ただし、JavaScriptで送る方法がわからない、五月厨に煽られる、諸場の刃。
素人にはお勧めできない。
>>504 そういうこと
>>507 なんすかそれ?SOAPのことですか?
511 :
488 :02/04/27 22:47 ID:hi5siRVX
すいませーん。 だれかお答えください。 よろしくお願いします。
512 :
497 :02/04/27 22:58 ID:TVa3Zsce
>506 vbscriptで出来ることは知っているんですがそれをJavaScript でやりたかったんです。vbscriptだとieしかだめでしょ?
514 :
Name_Not_Found :02/04/27 23:14 ID:P+URESRN
>>511 質問を見逃していた。N4ではposition指定したdivは自動的にレイヤーに
なってしまふ。レイヤーに含まれる画像はそのレイヤーオブジェクトが
持つ配列images[]に格納されるので、document.images[0]等ではダメで
document.layers[0].images[0]とか指定する必要があるわけね。面倒
だけどさ。
>ただし、JavaScriptで送る方法がわからない、五月厨に煽られる、諸場の刃。 ●方法1 bodyの中身全体をformで囲う。 ●方法2 function fnSubmit(){ document.frm1.hdnParam1.value = 'aaa'; document.frm1.hdnParam2.value = 'bbb'; document.frmo.submit(); } <form action="xxx.asp" name="frm1" id="frm1" method="POST"> <input type="hidden" name="hdnParam1" id="hdnParam1" value=""> <input type="hidden" name="hdnParam2" id="hdnParam2" value=""> </form>
× document.frmo.submit(); 〇 document.frm1.submit();
518 :
488 :02/04/27 23:52 ID:hi5siRVX
>>514 ありがとうございました。
まだうまくいかないですが、がんばります。
519 :
412 :02/04/28 00:06 ID:pa25lEGD
>>415 ありがとうございます、コピペ改造専門なので、もう少し勉強してきます。
520 :
514 :02/04/28 00:25 ID:pqtMvWzR
>>517 じゃあflash使えって感じだな。ていうか、
>buttonのinputタグとtextのinputタグがテーブルに仕切られて
>分かれちゃってるから、難しいんだよね。
これが何で「難しい」のかわからん。tableごとformで囲えば済む話だと思うんだが。
521 :
486 :02/04/28 02:01 ID:yRccNOE0
522 :
Name_Not_Found :02/04/28 06:05 ID:qxIkEprZ
JavaScriptでユニコード文字をEUCに変換することは可能でしょうか?
523 :
:02/04/28 06:42 ID:/Yg2tlZF
この↓jsは何ですか? 房な質問で申し訳ないけどヤラレテル!って気がして気になって・・・・ 結局ナニなの? <script language="JavaScript"> <!-- function showNow(scale) { var expdate = new Date (); var surveyCookieName = "0417STARWARS"; var percentOfferedSurvey = 100; var surveyLocation = "/adm/popunder/tripod_popunder.html"; var popupNewWindow = true; expdate.setTime (expdate.getTime() + (24 * 60 * 60 * 1000)); var stored_value = GetCookie(surveyCookieName); if (stored_value == null) { SetCookie(surveyCookieName, "alreadyOffered", expdate, "/", ""); nowWin = window.open(surveyLocation,'now','height=300,width=720,toolbar=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no'); nowWin.blur() window.focus() } }
524 :
:02/04/28 06:44 ID:/Yg2tlZF
つづき function SetCookie (name,value,expires,path,domain,secure) { document.cookie = name + "=" + escape (value) + ((expires) ? "; expires=" + expires.toGMTString() : "") + ((path) ? "; path=" + path : "") + ((domain) ? "; domain=" + domain : "") + ((secure) ? "; secure" : ""); } function getCookieVal (offset) { var endstr = document.cookie.indexOf (";", offset); if (endstr == -1) endstr = document.cookie.length; return unescape(document.cookie.substring(offset, endstr)); } function GetCookie (name) { var arg = name + "="; var alen = arg.length; var clen = document.cookie.length; if( (document.cookie == null) || (document.cookie.length == null)) { return null; } var i = 0; while (i < clen) { var j = i + alen; if (document.cookie.substring(i, j) == arg) return getCookieVal (j); i = document.cookie.indexOf(" ", i) + 1; if (i == 0) break; } return null; } showNow(); //--> </script>
526 :
Name_Not_Found :02/04/28 08:38 ID:djMRNNIv
>>521 そのサンプル、自分が使っているMozillaで動作しないんで…
mouseoverしたときにポップアップしたければiframe要素
をポップアップするように改造すればいいんじゃないの?
527 :
Name_Not_Found :02/04/28 10:07 ID:B1RacN0f
528 :
Name_Not_Found :02/04/29 03:16 ID:wocnn3F8
猫がカーソルを追っかけるようにして尚且つ魚の絵をドラッグできるように したい猫をつけるとドラッグできないのはどうすればいいのですか
529 :
Name_Not_Found :02/04/29 03:24 ID:EaGMD9Fw
>>528 >猫がカーソルを追っかけるようにして
ここまでは何がやりたいかわかります。
いわゆるチューチューマウスですよね。
>尚且つ魚の絵をドラッグできるようにしたい猫をつけると
>ドラッグできないのはどうすればいいのですか
ここ理解できません。
ごめんなさい
猫は画像の参照番号でスクリプトを組んでいるから(何で知っているんだ爆) 他の画像と組み合わせて使う場合は 画像がそのdocumentの何番目に当たるか数えて書き換える 又は、名前で参照する 魚のは・・・ソース見ないとなんとも言えない 両方のソースを出して質問ないと判断できません いずれにしても名前で参照するようにすれば問題解決するのでは?
JAVAか何かを使ってCD-ROMドライブを空けることは出来ないのか?
JavaとJavaScriptは別物です。
535 :
Name_Not_Found :02/04/29 12:29 ID:2PVm+WRn
javascriptってどんなウィジェットが使えるんですか?
536 :
Name_Not_Found :02/04/29 12:51 ID:RYSLyG26
JavaScriptって、二次元配列は使えないんでしょうか? もし使えるなら、宣言の仕方と、使い方を書いてもらえないでしょーか? あと、JavaScriptってなんか略し方ないんですか? 例えばJSとか、ジャバスクとか。w
537 :
Name_Not_Found :02/04/29 12:53 ID:AXJBVcMh
js
>>535 WSHのスレで聞いた方がいいと思います。
>>536 var array=new Array(3);
array[0]=new Array(4);
array[1]=new Array(4);
array[2]=new Array(4);
540 :
Name_Not_Found :02/04/29 13:19 ID:RYSLyG26
>>539 できました!
ありがとうございマッスル
541 :
535 :02/04/29 13:22 ID:G541lqAP
>>538 WSHのスレがあるんですか。
探してきます。どうも。
542 :
閉じる :02/04/29 16:54 ID:Rk2N0a17
あたらしい小さなウィンドウを開いて、 そのウィンドウ内に「閉じる」をつけて、 ユーザーがそれを押す事によってウィンドウを閉じさせたいんですが ソースがわかりません ボタンタイプのやり方なら知っているんですが 文字を押して閉じるようには出来ませんかねぇ?
>>542 ボタンも文字も変わらんべ。ウインドウ閉じるのは window.close()
<form>
<input type="button" value="close" onclick="window.close()">
</form>
<a href="javascript:window.close()" >close</a>
544 :
閉じる :02/04/29 17:58 ID:Rk2N0a17
ありがとごじぇますた 小一時間考えていた事も 聞いてみると案外簡単なソースなんですね
545 :
閉じる改め開く :02/04/29 19:30 ID:Rk2N0a17
連続で質問して申し訳ありませんが 今度は文字をクリックして新しいウィンドウ開きたいのですが 思うようにいきません <a href="javascript:window.open('mail.html' , '' , 'width=320,height=310')" >open</a> とやっても無理でした。 縦横のサイズ指定できてスクロールバーありの新しいウィンドウを開かせるスクリプトはどうやればいいのですか?
546 :
Name_Not_Found :02/04/29 20:20 ID:f88HudMZ
>>545 第2引数を「''」ではなく「'_blank'」とかした方がいいかも。
547 :
Name_Not_Found :02/04/29 20:46 ID:/1hcXvVr
548 :
閉じる改め開く :02/04/29 21:36 ID:Rk2N0a17
549 :
閉じる改め開く :02/04/29 21:40 ID:Rk2N0a17
>>546 試してみました
たしかに新しいウィンドウは開きます
サイズも指定したとおりです
しかしindex.htmlに[object]と表示されちゃいます
550 :
閉じる改め開く :02/04/29 21:46 ID:Rk2N0a17
<html> <head> <script language="JavaScript"> <!-- function show001() { new_win = window.open("mini_top.html","mini_top","toolbar=0,location=0,directories=0,status=0,menubar=yes,scrollbars=yes,resizable=auto,width=280,height=140"); } //--> </script> </head> <body> <A href="javascript:show001();">open</a> </body> </html> で ちゃんと開きました ご迷惑おかけしました
551 :
Name_Not_Found :02/04/29 23:37 ID:0VraXFx3
>>549-550 <a href="javascript: XXX">YYY</a>を使った場合、原則としてコードXXXを実行
した結果返される値(を文字列に変換したもの)が窓に表示される。ただし返される
結果がundefined、つまり「未定義値」であれば窓の表示は変化しない。で、
window.open()は新しく開いた窓に対応するWindowオブジェクトを返すもんだから
それを文字列に変換して「[object]」と表示されちゃうのね。これを避けたければ
<a href="javascript: window.open(...),undefined">...</a>とするか、または
>>550 のように別の関数にしてその関数から何も返さないようにすればよいわけ。
552 :
名無し :02/04/30 00:59 ID:qy2BVtDM
JavaScriptから、キー入力の代行ってできますか? たとえば、あるボタンを押すとCtrl+Gを押したのと同じ動作をするとか。 セキュリティの問題があるから、できない相談かな?
553 :
Name_Not_Found :02/04/30 01:09 ID:DMioM0X4
<FORM></FORM>でデータをCGIに渡しているのですが、渡したくない オブジェクトとかある場合、タグ内にありながら除外することって 可能でしょうか? 例えば)誕生日 年+月+日と別々にオブジェクトがあるので、送信寸前にhiddenの オブジェクトに足したものをいれて送信。 年+月+日のこの3つはあくまで入力のみで、データは送りたくない。 でもレイアウト上、FORMタグの外にはだせないといった状況です。 わかりづらい説明になりましたが、アドバイスお願いいたします。
554 :
Name_Not_Found :02/04/30 05:25 ID:0l8oa6Kg
>>553 どうして、送りたくないのか理解できませーん。
555 :
Name_Not_Found :02/04/30 08:40 ID:z3pFkW34
>>553-554 まあなぜかはともかく、そのコントロール(input、textarea、select
等)のdisabledプロパティをtrueにすれば送られなくなるんじゃない。
556 :
Name_Not_Found :02/04/30 08:43 ID:z3pFkW34
>>552 他のアプリケーションに入力するということなら、絶対できて
ほしくないですね。そのJavaScriptコードが含まれているページ
に対してならなんか方法があるかも知れないけど…
557 :
Name_Not_Found :02/04/30 10:31 ID:eq7Hrt8Z
558 :
557 :02/04/30 10:39 ID:eq7Hrt8Z
追記 ネスケでは取得しているのでJSのやり方だと思うんですか… 小窓で開きたいんです。 よろしくお願いします。
559 :
Name_Not_Found :02/04/30 12:01 ID:vuTvIwGq
>>558 Netscape系とIE系ではHTTP_REFERRERの扱いが違うんでしょ。
window.openで呼び出すページはも1つ別のHTMLにして、そこから
自動移動させるようにしたらどうかな。そうすればその自動移動
から来たかどうかチェックして直リン排除できると思うけどね。
ただし個人的には直リン禁止なんて作者のワガママだと思っている。
>>557 てか、CGIでやる必要もないと思うが。
document.referrerでリファラ取得して、特定のURLを含まない場合は、
別URLに飛ばしてやればいいだけなんじゃないの?
JavaScriptOFF対策には、
<noscript>と<meta http-equiv="refresh" content="10;
http://www.hogehoge.com/ ">で。
561 :
557=558 :02/04/30 12:33 ID:eq7Hrt8Z
お返事ありがとうございます。
>>559 別にページを用意するとそこのページをリンクされてしまいますよね?
できれば、indexを通ってきて欲しいんです。
上記の理由よりわがままだと思いますが、そうしたいのです。
>>560 FTPでいちいちアップするのがめんどくさいので、CGI型のものに変えようと
思いまして。
JSで開きたいのは、ツールバーやら入力フィールドのない窓を開きたいからです。
どうしても index 通らせたいなら index で session cookie 発行して 受け付けない奴全部撥ねるくらいのことするしかないと思うね。 かなり問題のある方法だけど、ワガママは百も承知という姿勢なら。
563 :
Name_Not_Found :02/04/30 15:50 ID:mpDX/phv
567 :
552 :02/05/01 13:49 ID:Lw5Ub/UA
>556 そのJavaScriptが含まれているページについて限定です。
568 :
Name_Not_Found :02/05/01 14:28 ID:PLU2pw9K
>>567 だとするとよく分からないんだけど、ボタンを押してControl-Gを
発生させて、そのControl-Gはどの部分が受け取ってどう動作するの?
569 :
:02/05/01 14:36 ID:7UWlU4d5
えっと、ステータスバーに文字(リンク先URL)を 表示しないようにするのはjavaスクリプトですか? googleで調べたのですが、文字を流す、時計を表示する とかいうのはあるのですが、非表示のが出てこないのです。 どこで調べたら良いのでしょうか?
570 :
Name_Not_Found :02/05/01 14:43 ID:8kE7Q3wW
>>569 長さ0の文字列("")とか、スペース(" ")をステータスバーに表示すれば、
人間の目には非表示に見えるでしょ。
571 :
:02/05/01 14:55 ID:7UWlU4d5
>>570 はい。そうです。それを頑張って探します。
ご助言ありがとうございました。
572 :
552 :02/05/01 15:04 ID:Lw5Ub/UA
>568 2ch専用ブラウザ等で Ctrl+G を押すと指定レスにジャンプ という機能があって それをキー入力するのが面倒なのでスキン使ってボタンにしたいのです。
574 :
Name_Not_Found :02/05/01 15:57 ID:AyyKZ3hz
body onload〜とwindow.onloadの併用って、 できないんでしょうか?
575 :
Name_Not_Found :02/05/01 16:19 ID:PLU2pw9K
>>571 全部の<a ...>...<a>に「onmouseover="window.status=''"」を追加。
>>574 別にできると思うけど、うまく行かない?コード貼ってみたら?
576 :
Name_Not_Found :02/05/01 16:43 ID:AyyKZ3hz
>>575 あれ、大丈夫ですか?
なんかエラーが出るんです。どっちかをとると
エラーが消えるから、そのへんが原因かと思ったんですけど。
コードは非常に長いので、とりあえず貼るのはやめておきます。
もう少し、いろいろ試してみます。
577 :
576 :02/05/01 16:44 ID:AyyKZ3hz
574=576です
578 :
Name_Not_Found :02/05/01 20:05 ID:f+eGc6Co
これはHTMLの質問かもしれませんが、 一応JS作ってたときに、起こった問題なんで、、、。 <FORM> <INPUT TYPE="TEXT" NAME="T1" SIZE=60> </FORM> ↑こんな感じで、フォームタグを貼ったら、 リターンキーを押すと、ページが再読み込みになるんですが、 これを防ぐ方法ってのはないんでしょうか?
あります
580 :
Name_Not_Found :02/05/01 20:09 ID:f+eGc6Co
581 :
Name_Not_Found :02/05/01 20:20 ID:PYCTnElJ
<FORM> ↓ <FORM onSubmit="return false">
582 :
Name_Not_Found :02/05/01 20:32 ID:f+eGc6Co
583 :
552 :02/05/01 23:24 ID:Lw5Ub/UA
>573 なんとかならないっすかね?
>>583 > 指定レスにジャンプ という機能
この機能を JavaScript で実装する方が実現できる可能性が高そう。
585 :
552 :02/05/01 23:44 ID:Lw5Ub/UA
>584 指定レスにジャンプ、というのはあくまで例に挙げただけなんで これはJavaScriptでも十分可能なんですが、その他にもいろいろ ショートカットキーがあるのでそれらをうまくレス表示部分から 操作したいんです。
586 :
Name_Not_Found :02/05/02 00:15 ID:PlRO0KEJ
フォーム送信時に実行するonSubmitというものがありますよね? フォーム送信後に実行するものもありますか?あれば教えてください。
587 :
586 :02/05/02 00:20 ID:PlRO0KEJ
ちなみに別ウィンドウに送信するので送信後も元のページは残ったままです。そこで特定の関数を呼び出したいのです。
>>586 submit()でフォーム送信するようにして、
その後にさらに処理を書けばいいだけじゃないの?
589 :
Name_Not_Found :02/05/02 03:54 ID:F/jn8XI2
親切だね、みんな。
(´-`).。oO(GW行く所なくて暇なんだよ…)
591 :
Name_Not_Found :02/05/02 06:15 ID:dkOn6em7
javascriptの質問です。 function topWin(){window.open("●●●", "○○○","width=100,height=100,scrollbars=no");} があり、 <a href="javascript:topWin()"><img src="AAA.gif" width="150" height="14"></a> で画像AAA.gifをクリックすると、100X100の窓を開くようにしたいのですが、 何度試してもブラクラ状態になります。 MacのOS9.2+エクスプローラー5で試していて、 再起動後 "cache.lck"、"Download Cache"という謎のファイルが ゴミ箱の救出された項目フォルダの中に出来てしまいます。 PRGが悪いのか環境じたいに問題があるのかさっぱりわかりません。 あと、上記のスクリプトで"○○○"の部分 解説書を見ると ”識別の為のウインドウネーム”とあるのですが、名前の付け方が いまいちわかりません。画面が固まる時必ず、新しい窓のタイトルではなく、 "○○○"の部分がタイトル部分に表示されて固まります。 ここに問題があるのでしょうか? どなたかお助け下さい。
(´-`).。oO(
>>591 "○○○" は "" じゃ動かない?…)
因みに window.open( URI, windowname, features ); ね
593 :
Name_Not_Found :02/05/02 08:11 ID:2Kyh+WRQ
alert("123".slice(-1)); で、他のブラウザは当然「3」を表示するのですが、 Mac/IEだけ「123」を表示します。 バグだと思うのですが、Mac/IEでもちゃんと動く 右詰めの文字抜き出し はどうすればいいのでしょう?
594 :
Name_Not_Found :02/05/02 08:26 ID:viLFvYWo
>>593 ホームページ制作王を使いましょう。
体験版は無料です。使ってこそ分かる高品質。
貴方も制作王の虜になるでしょう。
595 :
Name_Not_Found :02/05/02 09:04 ID:c4coVpnn
>>593 そのバグよけるだけなら、別に長さ調べてsubstringでも
Regexp使うのでもどーにでもなると思うのだが。1文字なら
charAtも使えるな。
function rightChar(s) { return s.charAt(s.length()-1); }
596 :
Name_Not_Found :02/05/02 09:06 ID:c4coVpnn
>>591-592 日本語の名前をつけてるね?それは危ういからやめて
英字のみの名前にしてみれ。
597 :
Name_Not_Found :02/05/02 16:05 ID:oUXX7mDj
<p class=kore>mojimoji</p>というのがいくつかあります。 mojimoji内のURLを<a>タグでリンクする記述を教えてください。 英語の説明は読んでもわかりませんでした。
598 :
Name_Not_Found :02/05/02 16:27 ID:Iss1zHUN
>>597 はあ?あなたの日本語の説明は読んでもわかりません…
もしかして、その「mojimoji」の中に実はURIの形をしたものが
含まれていて、それをJavaScriptを使ってリンクに加工したい、
ということですか?ふつーはCGIとかでサーバから送出する時に
<a>...</a>で囲むように変形するもんだと思うけど、それを
ブラウザ上でやりたい、ということ?
600 :
Name_Not_Found :02/05/02 16:39 ID:oUXX7mDj
601 :
Name_Not_Found :02/05/02 16:41 ID:oUXX7mDj
既にリンクされているものはそのままを希望。
それはJavaScriptって言うか、、、
>>597-601 それは掲示板などのCGIスクリプトが吐き出す文字列ですか?
それとも自分でHTMLファイルに記述した文字列ですか?
自分でHTMLファイルに記述した文字列なら、めんどくさがらずに
ちゃんと<a href="">〜</a>書きましょう。JavaScriptの機能をOFFに
してる人もいることだし。
掲示板などのCGIスクリプトで、コメントとして入力してもらった
URLを自動でリンクしてる形式にしたければ、CGI側の話になるので
WebProg板にどうぞ
604 :
Name_Not_Found :02/05/02 17:24 ID:Iss1zHUN
>>597-603 まあ意見はその通りなんだけど面白そうだからホレ。
もちろんN6/Mozilla/IEくらいでしか動かないけど。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function init() {
var set = document.getElementsByTagName('p');
for(var i = 0; i < set.length; ++i)
if(set[i].className == 'kore')
for(var j = 0; j < set[i].childNodes.length; ++j)
if(set[i].childNodes[j].nodeType == 3) chg(set[i].childNodes[j]);
}
function chg(t) {
var a = t.data.match(/
http:[\/\.a-zA-Z0-9%+&]+/ );
if(a == null) return;
if(a.index > 0)
t.parentNode.insertBefore(document.createTextNode(
t.data.substring(0, a.index)), t);
var l = document.createElement('a'); l.href = a[0];
l.appendChild(document.createTextNode(a[0])); t.parentNode.insertBefore(l, t);
if(a.index + a[0].length < t.data.length)
t.parentNode.insertBefore(document.createTextNode(
t.data.substring(a.index + a[0].length)), t);
t.parentNode.removeChild(t);
}
</script>
</head><body onload="init()">
<p class="kore">これは
http://www.yahoo.com/とか http://www.google.co.jp/とかのリンクが入っています 。
最初から<a href="
http://www.goo.ne.jp ">リンク</a>のは無視。</p>
</body></html>
>>604 まってましたホレ様。何日も探していました。
いつも燃えるゴミを捨てるように素敵なソース放り投げてくれてありがとうございます。わけわからないので時間かけて勉強します。
既にリンクされているものはリンクしないという部分はなしのものがあると私でも理解しやすくなりそうです。
607 :
Name_Not_Found :02/05/02 18:10 ID:Iss1zHUN
ホレです(なんつー名前だ…)。あのねー、DOM2で問題のp要素の下を
スキャンしてるわけなんだけど、スキャンされるのはp要素直下の
テキストノードなわけ(nodeType == 3)。既にリンクされているもの
はリンクノードになってるから、自動的に無視なのだよね。だから
この部分のために増えているコードというのはないんであしからず。
ついでに解説しちゃうと、そのテキストノードの文字列に対して
http:うんたらというパターンをマッチさせて 、マッチしたらそれより
前のテキストノード、マッチした部分のリンクノード、それより後の
テキストノードの順で挿入し、元のテキストノードは削除。複数http:
があった場合は外側ループの次の周回でさっき挿入した「後の」
テキストノードがスキャンされる際に処理されるわけです。お楽しみ
頂けると幸いです…
質問です。 window.open()で開いた子ウインドウに他のサーバのURLを指定してる場合、 親ウインドウから子ウインドウへの(window.)moveTo(#,#)って拒否されます? つーか、IE5.5SP2@Winなんですけど、拒否されまくり。
>>604 a,a[0],l.href=a[0];のあたりがリンクの文字と思うのですが、
l.href=a[0];を消してl="mojimoji"+l; a="mojimoji"+a; a[0]="mojimoji"+a[0];
とすると、リンクの前のテキスト文字が重複したり、リンクの文字の一部だけが置き換わったりします。
a[0]="こちらに<a href="a[0]" title="abcの説明">説明</a>があります。"
のようなリンクを作りたいのですがどうすればいいのでしょうか。
>>610 >604ではありませんが、一言。
l はStringオブジェクトではなく、HTMLElementオブジェクトですので、
l.title="abcの説明";
を追加すればいいだけかと
612 :
Name_Not_Found :02/05/02 21:31 ID:BOivr/LA
質問ですが、 CSSファイルをJavaScriptにてOS、ブラウザによって読み分けるの、 <SCRIPT language="JavaScript"> <!-- var wiIEAc53='<LINK rel=stylesheet href="WinIE.css" type="text/css">'; var wiNNAc53='<LINK rel=stylesheet href="WinNN.css" type="text/css">'; var maIEAc53='<LINK rel=stylesheet href="MacIE.css" type="text/css">'; var maNNAc53='<LINK rel=stylesheet href="MacNN.css type="text/css">'; var etcAc53=''; var csAc53; var wNaAc53=navigator.appName; var wAgAc53=navigator.userAgent; if (wAgAc53.indexOf("Win")!=-1) { if (wNaAc53=="Microsoft Internet Explorer") csAc53=wiIEAc53; else if (wNaAc53=="Netscape") csAc53=wiNNAc53; } else if (wAgAc53.indexOf("Mac")!=-1) { if (wNaAc53=="Microsoft Internet Explorer") csAc53=maIEAc53; else if (wNaAc53=="Netscape") csAc53=maNNAc53; } else csAc53=etcAc53; document.write(csAc53); //--> </SCRIPT> これが一番簡略化されたものですか? 他に、短く出来ればよろしくおながいします。
>>610 同じく 604 ではないが、コードを読むときの参考として。
リンクの前のテキスト:
document.createTextNode(t.data.substring(0, a.index))
リンクのテキスト:
document.createTextNode(a[0])
リンクの後のテキスト:
document.createTextNode(t.data.substring(a.index + a[0].length))
604 のコードでは適宜改行が入っているので若干見つけづらいかも。
>>611-613 ありがとうございます。しかしうまくリンクされません。
/* l.href=a[0]; */
l.appendChild("こちらの<a href=\""+document.createTextNode(a[0])+"\" title=\"title\">説明<\/a>");
とするとリンクの前の文字が二回表示され、リンク部以降はそのまま表示されてしまいます。
615 :
Name_Not_Found :02/05/02 23:00 ID:TaELA8XN
>>614 アナタはDOMが分っていません。見よう見まねでいじくってもうまく
行かないと思うよ。DOMはdocument.writeln()やinnerHTMLとは違うの。
DOMで操作する場合は「<」や「>」は一切使わないということを理解する
まであれをいじくるのは休んで勉強することを勧めます。
>>614 大きな間違いを犯してますよ。
var l = document.createElement('a');
l.href = a[0];
l.appendChild(document.createTextNode(a[0]));
l.title="abcの説明";
t.parentNode.insertBefore(l, t);
DOMを勉強しましょう。
>>614 そうきたか。
文字列(String値) とテキストノードって違うんだよ。
テキストノードは文字列の入れ物であって、文字列ではないから
+ 演算子で単純に連結したりとかできない。
document.createTextNode() はテキストノードを作るメソッド。
実際の文字列はこのメソッドの引数になる。
一例をあげるなら、
document.createTextNode( t.data.substring(0, a.index)+'こちらの' )
>>618 複数やるとはどっちの意味で?
・1クリックで複数のウインドウが開くのか
・子ウインドウが開くリンクを複数置きたいのか
1クリックで複数のウインドウなら
function new_win6(){
window.open("java_swindow1.html","","width=400,height=100");
window.open("java_swindow2.html","","width=400,height=100");
window.open("java_swindow3.html","","width=400,height=100");
}
と書いてけばよいだけ
子ウインドウが開くリンクを複数設置したいなら
<SCRIPT LANGUAGE="JavaScript">
<!--
function new_win6(openURL,openName){
window.open(openURL,openName,"width=400,height=100");
}
//-->
</SCRIPT>
<a href="#" onClick="JavaScript:new_win6('ファイル名1.html','ウインドウname半角英数で');return false">
<img border="0" src="images/icons1.gif" width="32" height="32">
</a>
<a href="#" onClick="JavaScript:new_win6('ファイル名2.html','ウインドウname半角英数で');return false">
<img border="0" src="images/icons2.gif" width="32" height="32">
</a>
こんな感じでファイル名やウインドウ名を渡してやればよい。
620 :
618 :02/05/03 02:30 ID:Qlokke6m
・子ウインドウが開くリンクを複数置きたいのです。 <SCRIPT LANGUAGE="JavaScript"> <!-- function new_win6(openURL,openName){ window.open(openURL,openName,"width=400,height=100"); } //--> </SCRIPT> をそのまま貼るんですよね? ウィンドウ名とは何を入れればいいのでしょうか?
621 :
Name_Not_Found :02/05/03 04:14 ID:PUt+CcbR
JAVA SCRIPTの本を買おうと思うんだけど 2,3年前の本だとやっぱり問題ある? オークションで買いたいんだけど…
623 :
Name_Not_Found :02/05/03 06:17 ID:crQEa2yf
>>621-622 あと何を学びたいかによる。document.write()とかフォーム部品
とかしか使わないんなら古くても大丈夫じゃない。DHTMLとかはダメ。
624 :
Name_Not_Found :02/05/03 10:15 ID:SFL7ALg6
データバインドで並べ替えなどをしているのですが、 このとき、表の左端でもいいですから、ランキングのように 上から順番に1,2,3,4と番号を振ることは出来ないのでしょうかね。 元のデータソース(csvファイル、txtファイル)のID番号は 並べ替えるとそのまま入れ替わってしまいますから役立ちませんし。
625 :
ブラクラ :02/05/03 11:00 ID:LRbqlMK5
JAVAで小さいウィンドウを複数ということは… もしかして俺の好きなブラクラ? ブラクラなら for(;;){window.open();} 又は while(1){window.open();} じゃ。
628 :
Name_Not_Found :02/05/03 13:51 ID:6mkQa/0g
質問. 次への履歴があるか確認する方法をお教え下さい。 つまり、history のような機能を用いて、 ブラウザの "次へボタン" と同じようなものを実現したいです。 ただ次へ移るだけではなく、次への履歴がなければボタンを消したいのです。 <INPUT TYPE=button VALUE="Next" onClick="history.go(1)"> ↑で次へ遷移できますが、history に次への履歴がなければ これを消したいのです。 詳しい方、宜しくお願いします。
629 :
Name_Not_Found :02/05/03 14:01 ID:psKT6cm+
>>628 こうか?
onClick=" if ( history.length >= 1 ){ history.go(1) }"
つか、ボタンそのものを消したいの? なら、同じ条件文で合致した時には ボタンをdocument.writeで書くとか。 スタイルシートで消すって手もあるけど、 こっちはブラウザ依存がありそうな。。。
631 :
リアル厨房 :02/05/03 14:12 ID:C+iQiI2D
>>627 即レスありがとうございました。
スレ違いですみませんでした。
逝ってきます。
632 :
Name_Not_Found :02/05/03 14:31 ID:6mkQa/0g
>>629-630 レスありがとうございます。
↓こんな感じでいろいろ試していますが、うまくいきません。
//if(history.next != history.current)
if(history.length >= 1)
{
document.write("<INPUT TYPE=button VALUE=\"Next\" onClick=\"history.go(1)\">");
} else {
document.write("No Page");
}
次の履歴があるか確かめる条件式を
if文の条件部に入れればうまくいくと思うのですが、
その条件式が分かりません。
>スタイルシートで消す
スタイルシートはドシロウトなので、検索用に
historyやボタン関連のキーワードなどお教え頂けるとありがたいです。
よろしくお願いします。
swfファイルの縦横サイズ、ファイルサイズは取得する事は出来ませんか?
634 :
629-630 :02/05/03 17:12 ID:OdfspWt4
>>632 スマソ、寝ぼけてた。
history.lengthで個数はとれても、
今の頁がその中の何番目なのかはわかんない気がする。
「戻る」ボタンを消したり表示したりはできるけど、
「進む」ボタンのほうは単純にhistoryいじってもダメかも。
スタイルシートでいじるの、戻るボタンの表示非表示なら
<form name="form1">
<input type="button" name="btnPrev" value="戻る" style="display:none;" onClick="winname.history.back();">
<script language="JavaScript">
<!--
if (history.length >= 1) {
document.form1.btnPrev.style.display = "block";
}
//-->
</script>
</form>
とまあこんな感じだけどさ。
「進む」ボタンの表示・非表示は、
URLのケツに引数でもつけてhistoryの中での位置を引き継ぐしかないのかもね。
役にたたずゴメソ
635 :
628, 632 :02/05/03 18:07 ID:6mkQa/0g
>>634 レスありがとうございます。
スタイルシートのくだりは参考にさせていただきます。
調べてみたところ、history.next や history.previous
では URL の取得ができないようです。
IEでは定義されておらず、NNでもさらに認証が必要なようです。
一応、助言のように URL のうしろに引数をつける方向で進めていきます。
他に解決策が見つかれば報告します。
ありがとうございました。
>>624 どうかな?
var table=document.getElementById("Test");
var tbodys=table.getElementsByTagName("tbody");
if(tbodys.length==0) return;
for(var i=0; i<tbodys[0].childNodes.length; i++)
{
var cell=tbodys[0].childNodes.item(i).firstChild;
cell.insertBefore(document.createTextNode((i+1).toString()+". "), cell.firstChild);
}
<table id="Test">
<tbody>
<tr><td>a</td><td>a</td></tr>
<tr><td>a</td><td>a</td></tr>
</tbody>
</table>
ごめんなさい勘違いでした。
639 :
Name_Not_Found :02/05/04 03:49 ID:aEJLzYt3
img画像にマウスが乗ったらマウスポインタを変えるのは どうすればよいでしょうか? 宜しくお願いします。
(´-`).。oO(
>>639 CSS じゃだめ? cursor: hand とか…)
OnMouseOver OnMouseOut とか…
641 :
Name_Not_Found :02/05/04 04:35 ID:aEJLzYt3
>>640 レスサンクス!
最初CSSでやってみたんだけど、ネスケで表示されないんですよ。
>>641 NN4 のことを言っているなら、それは無理。
643 :
Name_Not_Found :02/05/04 09:05 ID:0MFBIPUu
>>641 ホームページ制作王を使えば可能です。
体験版は無料ダウンロードできますので、是非お試しあれ。
644 :
Name_Not_Found :02/05/04 10:12 ID:Bz/lORPh
iframeに読み込んだhtmlから、親ウインドウのtextareaを書き換えようと 思うのですが、IEでは動作しますが、N6では動きません。 どうすればN6でも動くようになりますか?
(´-`).。oO(cssのcursorも良し悪しだよなぁ・・・) (´-`).。oO(わけわかんないマウスポインタの変え方するサイトあるし・・・) (´-`).。oO(リンクにカーソル合わせたら、砂時計ってなめてんのか)
646 :
Name_Not_Found :02/05/05 03:22 ID:pVFy3vq1
>>644 top.document.forms[0].elements[0].value = msg;
IE、N6では動く。
質問:
NN4で上のをlayerを使ってやろうとすると
親の方へ関数を書いて、form等にnameしておかないと動きません。
こういう物なの?
647 :
Name_Not_Found :02/05/05 15:12 ID:3db4ujCG
readonlyでいいんですが、履歴のURLの配列にアクセスできますか?
>>647 できるかどうかはしらんが、できて欲しくないな。
リードもライトもできない。 出来たらヤヴァイ
650 :
647 :02/05/06 07:16 ID:v4a3YwYY
同一サイトの中だけでいいんですが、やっぱりできませんか?
651 :
:02/05/06 07:44 ID:G1u5rkuY
652 :
Name_Not_Found :02/05/06 08:24 ID:+ZjmBvKK
>>650 同一サイトの中でそれらのページに全部手を入れられるのなら
クッキーとかで履歴を保持するのがいいんじゃないかな。History
オブジェクトには「ドメインが同じなら開示する」なんていう概念
はないから一切触れないと思うよ(N4で署名つきならできるけど
他のブラウザで動かないんじゃしょうがないよね)。
653 :
Name_Not_Found :02/05/06 08:26 ID:+ZjmBvKK
>>464 何がどううまく行かないのかよく分らなかったけど、N4のlayer
(position指定したdivも同様)ではforms配列なんかも全部別建て
でレイヤーごとに用意されちゃうんじゃないかな。だから普通は
document.forms[0]のはずのものがdocument.layer[0].forms[0]に
なったりしてるとかさ。
654 :
Name_Not_Found :02/05/06 08:40 ID:5wKmQzNo
質問です。 macとwinの文字の大きさの違いに困ってます。 スタイルシートにチャレンジしてptやpx指定も考えたのですが ブラウザで文字の大きさを変更できないのは訪問者に優しくない、と言われ では変更可能なx-smallとかで指定を…と思ったら 記述したのに何か文字サイズが変わってなくて挫折。 javasprictでOSがwinの時だけ文字サイズを-1にさせる事はできるでしょうか? 良いソースを御存知の方、お教え下さい。お願いします。
>>611-617 つけ焼き刃ではだめですね。これから勉強したいと思います。みなさまありがとうございました。
>>646 >>653 N4 の layer オブジェクトは内部文書を document プロパティとして持つ。
文書中の最初のレイヤの最初のフォームなら
document.layers[0].document.forms[0] になる。
レイヤが入れ子状になっている場合は
document.layers[n].document.layers[m].... のように続く。
657 :
Name_Not_Found :02/05/06 17:25 ID:IMG1YyI3
テキストリンク(広告)をランダム表示するために以下の様なスクリプトを
使っているのですが、1つのページ内で4ヶ所以上に使うと、一部が全く
表示されなくなるのです。
<SCRIPT>
<!--
var p = new Array();
p[p.length]='<A href="
http:www.001.com/ ">テキスト1</A>';
p[p.length]='<A href="
http:www.002.com/ ">テキスト2</A>';
p[p.length]='<A href="
http:www.003.com/ ">テキスト3</A>';
document.write(p[Math.floor(Math.random() * p.length)]);
// -->
</SCRIPT>
この現象は、1ページ内で使えるスクリプト数に限りがあるということ
なのでしょうか? 一通り検索を試みたのですが、適切なキーワードが
指定できないため分からずじまい・・・。
非常に下らない質問で恐縮ですが、識者の方、宜しくご教唆を願います。
658 :
Name_Not_Found :02/05/06 18:11 ID:EfhW+90a
>>657 ブラウザで何かエラー表示出てないの?全部変数「p」にするんじゃ
なくて、「p1」「p2」のように1箇所ごとに名前変えてみたらどうかな。
659 :
657 :02/05/06 18:25 ID:eed1qMXL
フリーズしたのでID変わってますが・・・
>>658 質問の仕方が悪かったようです。
>>658 のスクリプトそのものは
エラーありません。p行が10行でも20行でも正常に動作してくれてます。
問題なのは・・・、たとえば上のスクリプトを中身だけ書き換えた
外部ファイルにして、それぞれを 00a.js 00b.js 00c.js 00d.js
00e.js …とした場合に発生するんです。広告のテキストを
スポンサー業種別に分類して5行表示させることができないんです。
つまり、上から 00a.js 00b.js 00c.js 00d.js までは表示
されるんですが、00e.jsは読み込まれても表示されないんです・・・。
4つ目までは問題なく表示されるので、あるいはブラウザの仕様に
よるかもしれません。
ニュアンスを言葉で表現するのが難しいのですが、
お分かりいただけますと幸いです。
660 :
Name_Not_Found :02/05/06 18:38 ID:J70fd47g
>>659 だから00a.jsでは変数をp1、00b.jsでは変数をp2、というふうに
全部変えてみてはどうですかと言っているのだが…あと、ブラウザ
のエラー表示は出ないの?
661 :
657 :02/05/06 18:42 ID:eed1qMXL
>>660 そういうことでしたか。申し訳ありませんでした。
一度、P変数を変えてトライしてみます。
あと、IE5.5、NN4.7ともにエラー表示は出ません。
662 :
顔も名前も出さずに毎月100万円 :02/05/06 18:48 ID:RUCy5L6z
Future-Web(フューチャーウェブ)登場
なんと10,000円単位の収入
●10,000円単位の高収入
1件につき最大10、000円の高額収入。月収100万円以上も可能。
●画期的なビジネス!
インターネットを利用したこれまでにない斬新で画期的なビジネスです。
●誰でも出来ます!
インターネットが出来る環境の方なら誰でも参加可能です。
●専門的な知識は一切不要!
ビジネスに必要なツールはすべて当社で用意いたします。また、サポ
ートも万全です。
●詳細は今すぐHPをご覧ください。
http://www.future-web.tv/7823/
663 :
464 :02/05/06 18:52 ID:ylELHgvT
>>653 >>654 以下の様な構成があるとします。
out.html --------->>
<html>
<p>out.html
<p><form><textarea></textarea></form>
<layer src="in.html"><iframe src="in.html"></iframe></layer>
</html>
in.html -------->>
<html>
<script type="text/javascript">
function setMsg1(msg){top.document.forms[0].elements[0].value=msg;}
function setMsg2(msg){self.document.forms[0].elements[0].value=msg;}
</script><body bgcolor="#dddddd">
<p>in.html<p>out{<a href="javascript:setMsg1('aaaaa')">aaaaa</a>}
{<a href="javascript:setMsg1('')"> </a>}<br>
in{<a href="javascript:setMsg2('aaaaa')">aaaaa</a>}
{<a href="javascript:setMsg2('')"> </a>}<br>
<form><textarea></textarea></form>
</body></html>
664 :
646 :02/05/06 18:53 ID:ylELHgvT
う。上の名前間違えました。
>>663 の続きです。
IE、N6ではin.htmlからout、in.htmlのtextareaにアクセスできますが
NN4ではout.htmlの方にも関数を書いておかないと動きません。
(layerがout.htmlのdocumentプロパティとして認識してる所為?)
ここで、setMsg1()の方は普通に動くのですが、setMsg2()の方が良く分かりません。
document.layers[0].forms[0]〜としてもlayers0自体を参照できません。
そこで、layer、form、textarea全てにname指定して
document.レイヤ名.document.フォーム名.エレメント名.value = msg;
としてやる事で参照できるようになりました。
こんなやり方でいいのかなぁと思ったので質問してみました。
いまいち、納得できません。
665 :
657 :02/05/06 18:55 ID:eed1qMXL
>>660 P変数を、それぞれのファイルごとにP1〜P5…に置換したら。
無事に表示できました!! 全くお礼の言葉もございません。
本当に助かりました。ありがとうございます。
666 :
Name_Not_Found :02/05/06 20:01 ID:O+e/LMLI
>>665 script要素で読み込まれるJavaScriptコードは全部つながった
1つのプログラムとして扱われる。なので、名前が同じだと変数
の2重定義になると思われ。
667 :
Name_Not_Found :02/05/06 21:17 ID:R9U0xPcl
>>666 そうでもないよ。
並列処理させることもできる。
>667 並列処理できるけど1つのプログラムでしょ。 どこか勘違いしてると思います。
ああ、666しか四度欄。
670 :
◆laaaGOTE :02/05/07 09:37 ID:1+DFC0w5
基本でガイシュツかもしれませんが… ---------- <form name="pwd"> <input type="checkbox" name="abc" checked> </form> ---------- なんてHTMLがあって、スクリプト内で if (document.pwd.abc.value) { 適当な文 }; なんてことをIEでやると、チェックボックスのチェックの有無に関わらずif文が 真になってしまうのですが、こういう評価方法はIEではダメなんでしょうか? ちなみにOperaだと期待通りに動いてくれました。 IEがタコ、でよかですか?
DOMによる特定要素へのアクセスに関する質問です。 かちゅーしゃなどの一部ツールで2ちゃんねるを見ると、>>n にポインタが乗ったとき 当該レスの内容がポップアップしますが、これをDHTMLで実現したいのです。 そのために各レスに番号でidを振り、子要素から発言内容を getElementById.childNodes[n].data で抜き出して innerHTML で書き出すところまではできました。 # innerHTML はIEのみ対応しているということは承知しています。 しかし、投稿者名を抜き出すのがうまくいかずに困っています。 投稿者名は <a href="sage"><b>Name_Not_Found</b></a> <font color="green"><b>Name_Not_Found</b></font> 上記のいずれかが基本になっていますが、投稿者名は dt 要素の子要素である a または font の、 さらに子要素にあたる b に含まれています。 つまり dt の孫要素にあたるわけですが、この場合はどうやってアクセスしたらよいのでしょうか。 getElementById.childNodes[n].childNodes[m].data 上記ではうまくいかないようなのですが。
672 :
茶文字 ◆xELvisFU :02/05/07 09:40 ID:5aQDAiD+
sageちまいましたスマソ
>>670 タコは、お前。
if (document.pwd.abc.checked) { 適当な文 };
674 :
◆laaaGOTE :02/05/07 12:19 ID:DyHPrBb0
>>671 [HTMLElement] b の子に [TextNode] の存在がありますので、次のようにしてはどうでしょうか?
getElementById().childNodes[n].childNodes[m].childNodes[l].data
676 :
Name_Not_Found :02/05/07 12:25 ID:c+8/AEHF
>>671 innerHTMLはN6/Mozillaでも対応していますんで。まず確認ですけど、
getElementById(id名).childNodes[n].childNodes[m].data
ですよね。次に、dtの子要素はaまたはfont、孫要素はbですから、
上の式だとそのbまでしかたどっていません。テキストそのものは
bの中に入っているテキストノードのdataなんでもう1段たどるんじゃ
ないでしょうか。こういうたどりがうまく行かない場合は各ノード
のnodeType(1ならHTML要素、3ならテキストノード)、nodeNameなど
をデバッグ出力してチェックしないとどこ辿ってるかなんて分からなく
なって当然ですよ。
>>673 今気づいた(汗)鬱すぎ…。
ありがとうございます。
678 :
Name_Not_Found :02/05/07 12:27 ID:c+8/AEHF
かぶった!
679 :
486 :02/05/07 12:33 ID:3jqeoOQH
>671 完成したらソースうpしていただけませんか? 自分も同じ事をやりたかったのですが、自分の力では出来なかったので 参考にさせてください。
680 :
624 :02/05/07 20:37 ID:zmfYGQsk
>>636 さん。
数日、スレを閲覧してなく、お礼が送れて申訳ありません。
レス有難うございました。
よく分かりませんが、研究、勉強してみます!
681 :
茶文字 ◆xELvisFU :02/05/07 21:06 ID:WkjGx4mW
>>675-676 遅レスで申し訳ない。
理解したんでこれからやってみます。
N6/Mozilla対応はあとからやるつもりだったんで、
innerHTML対応済みなの知りませんでした。
>>679 承知しました。
>671 もういっそのこと、適当に<div id=なんとか>で囲ったあとに その中身を自分で構文解析しちゃったらどうかな。 名前のの切り出し程度ならそんな深いことしなくてすむし。 一元で管理できるような気がするよ。
うむむ。 ログの一部を切り出してやってみたらうまくいったんですが、 1000レス逝った過去ログで試してみたらダメだったです。 とりあえずここまでのソースをうpしてきますです。
684 :
Name_Not_Found :02/05/08 05:42 ID:XY/BbZxT
ページ内に貼りつけられた画像の座標を調べたいのですが、 どのようにすればいいでしょうか? 下記のように書いてみたのですが、どちらもエラーになってしまいます。 ----------------------------------- function popupShow(imgid) { if( IE ){ alert(document.all[imgid].style.pixelLeft); alert(document.all[imgid].style.pixelTop); }else if( NN ){ alert(document.getElementById(imgid).Left); alert(document.getElementById(imgid).Top); } }
685 :
Name_Not_Found :02/05/08 11:53 ID:e6RB7poK
external.menuargumentって何ですか? リファレンスにも載ってないし検索してもそれっぽいの出ないし。 どこで調べれば分かるんですかね〜
686 :
Name_Not_Found :02/05/08 12:21 ID:F6jB41LJ
687 :
685 :02/05/08 13:10 ID:TB61m0+G
>>686 英語・・・。でもサンクスです。
電子辞書片手に頑張るです。
>>684 めんどくさいから調べなくてもいいや・・・
689 :
Name_Not_Found :02/05/08 20:42 ID:SElHjaBB
javascript関連の書物は意外に少ないですね。 最近になっていくつかの出版社から手引き辞典のような良いものが出ていますが。 ソフトバンク、技術評論社、秀和、ナツメ社あたりからよく出来たのが登場している。 それ以前のものはどうもうまくまとまってなくて、読みづらく、不便 という印象だったのだけれども、みなさんどうでしょうか。
>>689 「手引き辞典」とかいうくらいなら、読みやすさより内容の質でしょ。
知りたい情報が載ってないってのが最悪。
技術評論社ってポケットリファレンスの?
あれ確かメソッドのreturn valueが載ってないんだよね。
691 :
Name_Not_Found :02/05/09 04:18 ID:auvB+R5E
>>689 そうですね。
知りたい情報が載ってなくて、いきなりプログラムサンプルを出されたかと
思うと、目立たないところに重要な基本説明があったりと、
いったいどこに編集の視点を置いているのか不親切な本もありますね。
急いで出版したような。
まあ、どんな種類の本にも言えるのでしょうが。
692 :
Name_Not_Found :02/05/09 07:14 ID:BcgbwPr9
特定の場所に 別のソースの内容をまるまるもってくることは可能でしょうか? たとえば、 <div ID="HOGE">hoge</div> のhoge部分に hoge.txt の内容を複写したいのです。
693 :
Name_Not_Found :02/05/09 07:45 ID:E82k4J3u
>>692 hoge.txtを別窓(かフレーム)に読んでよければ、なおかつそれが
HTMLファイルと同じサーバにあるのならば、できますけど。
694 :
Name_Not_Found :02/05/09 09:40 ID:wZnZCLC5
フォームにデータを入れていますがすべての項目がないときにはエラーになります。 フォームが存在しない場合には処理を飛ばす方法はどうすればよいでしょうか。 if(document.f1)document.f1.name.value="name" としてもエラーになります。
695 :
Name_Not_Found :02/05/09 11:01 ID:QtMk8HTn
>>694 「飛ばす」とは?フォームの提出を行なわせない方法?フォームが
存在しないとはどういう意味?HTMLに書かれている以上、そのフォーム
が「存在しなくなる」わけはないじゃない。項目がないという意味も不明。
だってその項目もフォームに含まれているわけなんでしょ?だったら
「なくなる」わけがないじゃない。もっと理解できる日本語をキボーン。
696 :
ひつもん :02/05/09 11:17 ID:kf8bqtkR
<INPUT TYPE="file" ID="filePath" STYLE="display:none" onChange="fileName.value = this.value;"> <INPUT TYPE="text" ID="fileName"> <INPUT TYPE="button" onClick="filePath.click();" VALUE="えへへ"> FILEをアップロードする時に参照...ってのがイヤだし、スタイルシートも使えないから 上記のようにした。でもIE5.00だとファイルのパスがテキスト部分に入らない。 6だったら問題なかったけど。探ったらonChangeが正常に働いてない・・・。 5.00でもonChangeは使えるはずなんだけど。 調べたらMicrosoftに上記と同じようにやれと書いてはあったのだが・・・。 助けてくださいまし
697 :
Name_Not_Found :02/05/09 11:25 ID:QtMk8HTn
>>696 onchangeが駄目っていうのは、つまりファイル選択ダイアログは出る
ってことね?「onchange="window.alert(this.value)"」とかしても
アラートが出ないわけね?そうだとなると面倒だね… display:none
をやめると大丈夫なのね?もしそうなら、display:noneをやめて
代わりに何か上に別のものを配置して隠すのが吉かも知れないね。
698 :
486 :02/05/09 11:32 ID:Q98XUNcr
>683 どこかのうpローダーにうpしたんでしょうか? 気になります…
699 :
ひつもん :02/05/09 11:57 ID:fRbeB/J4
>>697 アラートでませんわ・・・。
type="file"にもスタイルシートをさせてくれってのさぁ・・・。
ちょっと考えてみたけど、テーブルでテキストと参照ボタンの隙間でぶっちぎりました。
これでボタンは変えられるけど、相変わらずテキスト部分はスタイルシート適用されないし、
TAB移動でおかしなことになるし・・・。
>>694 if(document.f1.name.value!="") document.f1.name.value="name";
こうかな?
>>698 茶ぷろだにもないみたいですし、どこでしょう…
>>699 style="width: 0; line-height: 0; visibility: hidden;"
これじゃダメですか?
オランダのインターネット分析会社のOneStat.comによると,
Internet Explorer(IE)6.0の3月における世界シェアが44.7%に達した。
第2位はIE 5.5でシェアは26%。第3位はIE 5.0で25%だった。
Netscape Navigator 4.0のシェアは1.6%,Opera 6.0は0.4%だった。
IEを全部あわせると,Webブラウザ市場におけるMicrosoftのシェアは 97%となる。
http://www.zdnet.co.jp/news/0205/01/b_0430_07.html
703 :
ひつもん :02/05/09 13:02 ID:C3hkofz/
>>701 やってないけど、だめでしょう・・・。
input type="file"ってやるだけで、テキストとボタンの2つが表示されてしまいますから。
valueが飛ばないのでテキスト部分だけは標準のを使おうかな・・って
704 :
Name_Not_Found :02/05/09 14:24 ID:E4QeCA2E
だいぶ昔にここかどこかでJavaScriptでAAをアニメーションさせていた ものを見たんですがどなたか分からないでしょうか。 自分で作ってみようとしましたがIEでしか動かない様子。 あれはNN4.7xで動いてたんですが。
705 :
Name_Not_Found :02/05/09 14:28 ID:QtMk8HTn
>>704 そのIEでしか動かない奴が長すぎなければ貼ってみたら。
>>704 元の奴は知らないけど、 textarea でやれば NN4.7 でも上手くいくと思う。
任意の要素内でやりたいなら
id 振って position: relative とかでレイヤ化して
with( document.layers[id].document ) {
open(); write(AA); close();
}
みたいな処理をタイマーで回す。
707 :
Name_Not_Found :02/05/09 14:53 ID:bT3i7XFr
>>700 if(document.f1.name.value="") document.f1.name.value="name"
if(document.f1.name.value!="") document.f1.name.value="name"
どちらもdocument.f1.name は Null またはオブジェクトではありませんのエラーが出ます。IE6.0
708 :
704 :02/05/09 15:08 ID:E4QeCA2E
709 :
Name_Not_Found :02/05/09 15:24 ID:QtMk8HTn
>>707 たとえ長くて面倒でも「document.forms.f1.elements.name.value」と書くべし。
もちろん、「f1」がフォームの名前、「name」が入力部品類の名前ね。
710 :
Name_Not_Found :02/05/09 15:41 ID:QtMk8HTn
>>708 N4でやる場合問題なのは(1)document.getElementById(名前)じゃなくdocument[名前]に
する必要があること、(2)要素.style.visibilityじゃなく要素.visibilityになること。
あと今回は関係ないが位置指定のとき'px'などの単位をつけないこと。で、ダイエット
してデモ作ってみました。N4/N6/IE/O6。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<style type="text/css">
div { visibility: hidden; position: absolute; top: 10px; left: 10px }
#a0 { visibility: visible }
</style>
<script type="text/javascript">
var pos = 0, names = ['a0','a1','a2','a3'], elts = new Array(4);
function init() {
for(var i = 0; i < names.length; ++i)
if(document.getElementById) elts[i] = document.getElementById(names[i]);
else { elts[i] = document[names[i]]; elts[i].style = elts[i]; }
setInterval(step, 1000);
}
function step() {
pos = (pos+1) % names.length;
for(var i = 0; i < names.length; ++i)
elts[i].style.visibility = (i == pos) ? 'visible' : 'hidden';
}
</script>
</head><body onload="init()">
<div id="a0">ア</div><div id="a1">イ</div><div id="a2">ウ</div>
<div id="a3">エ</div></body></html>
711 :
Name_Not_Found :02/05/09 15:48 ID:MxRtskMa
if ((document.F1.elements[30].value == "")) { 処理1 } という条件式で checkboxが選択されてるかどうかを判定したいのですが 選択されててもされてなくても、値を拾っているようです。 Checkboxは一つだけです。 「一つだけだと配列として扱われない」という情報を見つけたのですが それと関係あるかどうか、私のレベルでは理解できませんでした・・ どうしたらよいのでしょうか・・・ 色々調べたのですがよくわからないので どなたかお力を貸してください。御願いします。
713 :
Name_Not_Found :02/05/09 16:15 ID:QtMk8HTn
>>711 つまりcheckboxについてはプロパティvalueを見るんじゃなくcheckedを
見なさいよっていうことだ。なおこの値はbooleanなんだから""と比べ
たりしないよーに。
714 :
704 :02/05/09 16:24 ID:E4QeCA2E
>>710 あ、わざわざ作って頂きどうも有り難うございます。
これを使わせてもらいます。
でも探してた奴は位置指定は無かったしIEとNNで別処理をさせてなかったような。
かなり綺麗なスクリプトだったのであれをもう一度見てみたい…。
715 :
692 :02/05/09 16:51 ID:hK5E5kVE
>693 インラインフレームとかで出来るかも、とか思ったのでちょっと試行してみます。
716 :
Name_Not_Found :02/05/09 16:52 ID:TdDivjHH
>>671 こんな感じ?
間違ってたら勝手に直して。IE5.5で確認。他は知らん。
innerHTMLは使ってないです。無駄なこともいろいろやってかも。
<dd id="666"> ・・・</dd>
<A target=_blank
href="
http:..... " onmouseover="on(this.firstChild.nodeValue);" onmouseout="out();">
>>666 </A>
こんな感じにして
<SCRIPT type=text/javascript><!--
basex=20;
basey=20;
function on(num){
num=num.substring(2,num.length);
el=document.getElementById(num);
if(!document.getElementById("a"))
crtDiv();
div=document.getElementById("a");
if(div.firstChild){
removeChildNodes(div.firstChild);
}else{
div.appendChild(document.createElement('dl'));
}
dl=div.firstChild;
tmp=el.cloneNode(true);
tmp.removeAttribute('id');
dl.appendChild(tmp);
pNode=getNextNode(el);
dl.appendChild(pNode.cloneNode(true));
div.style.top=window.event.clientY+document.body.scrollTop+basey;
div.style.left=window.event.clientX+document.body.scrollLeft+basex;
if(document.body.offsetHeight - window.event.clientY+basey < div.offsetHeight){
div.style.pixelTop=div.style.pixelTop - (div.offsetHeight+basey+10 - (document.body.offsetHeight - window.event.clientY));
}
div.style.visibility="visible";
}
--------------------------------------------------
717 :
Name_Not_Found :02/05/09 16:53 ID:TdDivjHH
続き -------------------------------------------------- function out(){ el=document.getElementById('a'); el.style.visibility="hidden"; } function getNextNode(Element){ pEl=Element.parentNode; for(i=0;i<pEl.childNodes.length;i++){ if(pEl.childNodes.item(i)==el){ return pEl.childNodes.item(i+1); break; } } return Element; } function crtDiv(){ d=document.createElement('div'); d.style.cssText="font-size: 85%; padding: 5px; border: 1px solid #000000; position: absolute; top: 0px; left: 0px; background-color: #efefef; visibility: hidden;"; d.id="a"; document.body.appendChild(d); } function removeChildNodes(ParentNode){ while(ParentNode.hasChildNodes()){ ParentNode.removeChild(ParentNode.firstChild); } } //--></SCRIPT>
718 :
モナー :02/05/09 17:48 ID:Nn+6ilT4
o モナーからのお知らせ o
/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄/
/ 先月は約16万円稼げました! /
/ iモードサイトオーナー必見! /
/ 出会いサイトオーナーシステム /
/ /
/
http://tanoshiiyo.net/i/ /
/ /
/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄/
∧_∧ / /∧_∧
( ^∀^) / /(^∀^ )
( )つ ⊂( )
| | | | | |
(__)_) (_(__)
719 :
Name_Not_Found :02/05/09 18:43 ID:A/DWXQry
>>694 >>709 ないフォームの処理を飛ばす方法を教えてください。つづき。
これでもエラーになります。
<script type="text/javascript"><!--
function func(){
if (document.forms.form1.elements.name1.value!="") document.forms.form1.elements.name1.value="value";
}
//--></script>
<body onLoad="func()">
<form name="form1" method="get" action="cgi.cgi">
<input type="text" name="ERROR"> <input type="submit" value="submit">
</form>
720 :
:02/05/09 19:01 ID:CWUg1M9t
ジャバスクで、MSのサイトの右上にあるみたいなプルダウンポップアップを作ったら、 レイヤーの動作がおかしくて、普通のプルダウンの下には行っちゃったんですけど、これってブラウザのバグですか。
721 :
:02/05/09 19:02 ID:CWUg1M9t
「は行っちゃった」→「入っちゃった」
722 :
名無しさん :02/05/09 20:15 ID:RTYJIX9x
カーソルの後ろに、画像が付いてくるヤツ、 あれってどうやるんです?
723 :
Name_Not_Found :02/05/09 20:43 ID:QtMk8HTn
>>719 「name="name1"」なinputがないようだけど。「name="ERROR"」のがそれ
なんだったら、document.forms.form1.elements.ERROR.valueだよね。
>>720 まあバグなんだろうなあ。ブラウザ作る側からしたらそうなっちゃうのも
分かる気がする。
724 :
Name_Not_Found :02/05/09 20:56 ID:QtMk8HTn
>>722 こうやる。N4/N6/Mozilla/IE。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
var unit = 'px', elt;
function init() {
if(document.getElementById) { elt = document.getElementById('i0'); }
else { elt = document['i0']; elt.style = elt; unit = ''; }
if(window.captureEvents) {
window.captureEvents(Event.MOUSEMOVE);
window.onmousemove = function(e) { move(e.pageX, e.pageY); }
} else {
document.onmousemove = function() {
move(window.event.clientX, window.event.clientY); }
}
}
function move(x, y) { elt.style.left = x+unit; elt.style.top = y+unit; }
</script>
</head><body onload="init()">
<div id="i0" style="position:absolute"><img src="t0.png" alt=""></div>
</body></html>
726 :
Name_Not_Found :02/05/09 21:27 ID:QtMk8HTn
>>725 だとすると、この重なり順については何に規定されていますか?
そうか、z-indexを大きくすればレイヤーが上に出るようになるのね?
CSS2を見てもform controlとの描画時の上下関係については書かれて
いないようだけど(見つからない)、どっかに書かれている?
727 :
Name_Not_Found :02/05/09 21:37 ID:RTYJIX9x
フレーム内のウインドウをスクロールさせて、 それをサイトの装飾として利用したいのですが、 スクロールバーが自動的に出てしまい困ってます。 HTMLで、スクローリングを"NO"にしても無駄なようです。 不可能なんでしょうか?
728 :
Name_Not_Found :02/05/09 21:44 ID:QtMk8HTn
>>727 ウィンドウじゃないもの(レイヤーとか)をスクロールさせるんじゃ
駄目なの?それならスクロールバーなしにできるよ。どんな感じに
してるわけ?
729 :
Name_Not_Found :02/05/09 21:51 ID:RTYJIX9x
>>728 レス感謝。
とにかく、ある画像(タイル的なもの)を、
反復させて永久的、もしくは長時間スクロールさせていたいのですが、
別ウインドウで背景をスクロールさせるしか、
方法が思いつかなかったもので。
そのレイヤーなるものを使えば、
それが可能になるというのですか?
よろしければソースきぼんぬ。
730 :
Name_Not_Found :02/05/09 22:10 ID:QtMk8HTn
>>729 こうかな。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<style type="text/css">
#d0 { width: 100%; height: 100px; background-image: url(t0.png); }
</style>
<script type="text/javascript">
var xpos = 0, ypos = 0, elt;
function init() {elt = document.getElementById('d0'); setInterval(step, 100);}
function step() {elt.style.backgroundPosition = (xpos+=2)+'px '+(ypos+=3)+'px';}
</script>
</head><body onload="init()">
<div id="d0"></div>
</body></html>
>>726 725 のは M$ お得意の「バグではありません。これは仕様です」ってやつだよ。
CSS 仕様とは無関係の、 IE の仕様。
732 :
Name_Not_Found :02/05/09 22:30 ID:QtMk8HTn
>>731 納得〜。コントロールだってコンテンツの一部なんだから勝手に
前に飛び出したりして欲しくはないな…
>>723 >>694 これは、ないフォームに値を入れようとしてエラーになるというソースです。
ないフォームの処理をしないようにスキップする方法を尋ねています。
734 :
Name_Not_Found :02/05/09 22:44 ID:QtMk8HTn
>>733 フォームの存在の有無を調べたい?しかしそれだったら、HTMLを生成
してるところでフォームを生成しているかどうかで分かるんじゃないの?
if(document.forms.f1) { ... }
で調べられると思うけどね。
735 :
Name_Not_Found :02/05/09 22:54 ID:RTYJIX9x
>>730 ソース感謝!!
なんだが、正直わけわかめ。
現時点では、プログラムを「学ぶ」より、
ただ「使えれば良い」という人間なので、
もし簡単にできる事ならば、ある箇所を変更させるだけで、
即利用可能なプログラムを教えて欲しいです。
100ピクセル四方の画像(2ch.gif)を、縦に幾つか並べて、
それを上から下にスクロール。
下辺が見えてしまう前に、再び上に戻るなりして、
延々とスクロールさせる……。
折り紙を縦に10枚繋げて、最下の部分を最上部に張り合わせ、
輪のように延々と繰り返すイメージ。
そういうものきぼんなんですが……無理すか?
736 :
692 :02/05/09 23:36 ID:hK5E5kVE
インラインフレームを利用して、別ソースの内容をインラインフレーム内に 表示させることが出来るようになりました。 ここから、このフレーム内にでてきたテキスト(cvsデータのようなもの)を とりだして処理を続行したいのですが、インラインフレーム内のソースから どうやってHTMLや文字列を取り出すべきなのでしょうか? インラインフレーム内に表示されたソースのオブジェクトを指定する方法は あるのでしょうか?
737 :
Name_Not_Found :02/05/10 00:09 ID:UAfFfNb4
>>735 だから
>>730 のソースでファイル名替えれば画像が変更になるし、xposとypos
に足す値を変更すればどっち向きにでもスクロールできるしょ?これ以上即利用
可能なサンプルってないと思うのだけど…
>>736 だからiframeのname属性がたとえば「f1」だったらwindow.frames.f1.document
でそのフレーム内容のドキュメントオブジェクトが取れるんで、それをDOMで参照
すればいいんじゃないの?よく分らないようなら、
window.frames.f1.document.body.innerHTML (またはinnerText)をどっかに表示
させてみれ。
738 :
Name_Not_Found :02/05/10 02:40 ID:2KTjmyhj
JavaScriptでアクセス拒否を設定する事ってできるんですかね?
739 :
:02/05/10 03:40 ID:vi3yl5xb
>>738 拒否は無理で別ページ見せてごまかすぐらいか
>>739 JavaScript OFF にされるとなんにもならんけどね
むしろ、meta タグで対処するとか
ま、一番良いのは .htaccess だけど…
741 :
Name_Not_Found :02/05/10 10:17 ID:IYBYyq/r
cssのa:hoverをjavascriptで可能ですか?可能でしたらどのように書けば良いでしょうか。
<a onmouseover="this.style.color=#xxxxxx" onmouseout="this.style.color=#yyyyyy"> とか。(IE5以降)
あ、スマソ。 <a onmouseover="this.style.color='#xxxxxx'" onmouseout="this.style.color='#yyyyyy'">
745 :
Name_Not_Found :02/05/10 12:14 ID:dF+C1wrH
>>737 どこを書き換えればいいのかもわかっていないと思われ。
>716-717 出来た。 でも <dd id="123"><dd>本文</dd></dd>ってなってると本文が表示されない… これ、何とかなりませんか?
>>747 > お世話になっているお礼にあぷろだにこのスレ専用ディレクトリを作りました。
> 質問・回答の際ソースが長くなる場合にお使い下さい。
ありがたく利用させてもらいます。
>>734 <script type="text/javascript"><!--
function func(){
if(document.forms.f1){ document.forms.f1.elements.name1.value="value";}
}
//--></script>
<body onLoad="func()">
<form name="f1" method="get" action="cgi.cgi">
<input type="text" name="ERROR"> <input type="submit" value="submit">
</form>
なぜかこれでもスキップせずオブジェクトでないというエラーになります。
750 :
Name_Not_Found :02/05/10 19:22 ID:dF+C1wrH
もう正直に言います。 すいません、教えて下さい。どこに、画像のファイル名置けばいいのか分かりません。 助けて下さい。おねがいします。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html><head><title>???</title> <style type="text/css"> #d0 { width: 100%; height: 100px; background-image: url(t0.png); } </style> <script type="text/javascript"> var xpos = 0, ypos = 0, elt; function init() {elt = document.getElementById('d0'); setInterval(step, 100);} function step() {elt.style.backgroundPosition = (xpos+=2)+'px '+(ypos+=3)+'px';} </script> </head><body onload="init()"> <div id="d0"></div> </body></html>
4行目の()の中だ。気付け。
752 :
692 :02/05/11 00:22 ID:ckyLrmxc
<iframe src="tmp.html" name="f1"></iframe> <button onclick ="write(f1.document.body.innerHTML);"> というtest.htmlを作りました。 tmp.htmlが同じサーバにある場合は正常に動作するのですが これが違うサーバにあるときは アクセスが拒否されました。 という エラーになってしまいます。 これは、仕様だと思うのですが、この仕様は いったいどこに書いてあるのでしょうか? また、回避する手段は存在するのでしょうか?
753 :
Name_Not_Found :02/05/11 01:16 ID:Da3xofHV
>>752 サーバが違う場合はアクセスできません。どこに書いてある
かというと、NetscapeのドキュメントにもMSのドキュメント
にもありましたが、ちょっと今探してる暇が…
回避はできないものと思った方がいいでしょうね。2つのサーバ
が同じドメイン(プロバイダ等)に属しているなら多少方法がある
ことになっていますが。
754 :
Name_Not_Found :02/05/11 01:25 ID:nW1+YJs/
>>749 <script type="text/javascript"><!--
function func(){
if(document.forms.f1.elements['name1']){ document.forms.f1.elements.name1.value="value";}
}
//--></script>
じゃないの?
これでスキップすると思うけど。
>>752 サーバ違うとiframeとかwindowとか、悉くうまくいかんよーだ。
で回避策になるかどーかわからんけど、
tmp.htmlが、domainの違うサーバにあるなら、
tmp.htmlをiframeで表示するtmp2.htmlをtest.htmlと同じサーバにおき……
じゃダメ?
756 :
692 :02/05/11 01:45 ID:ckyLrmxc
>755 さっそく実験してみます。 でも、これでうまくいったら セキュリティホールっぽい?
757 :
692 :02/05/11 02:20 ID:ckyLrmxc
>>755 実験の報告です。
tmp2.htmlを
<iframe src="tmp.html" id="f2"></iframe>
とし、
test.html内で
<iframe src="tmp2.html" name="f1"></iframe>
として表示させたあと、
alert(f1.frames.f2.document.body.innerHTML);
で表示できるか試してみました。
すみません。
tmp.htmlが他サーバにあるときは やはり駄目でした。
試しにf1.document.body.innerHTMLを見ましたが、当然tmp2.htmlの
ソースがそのまま表示されただけでした。
758 :
Name_Not_Found :02/05/11 08:51 ID:2wRH2OJv
>>749 あのさあ、本当に、フォームの存在有無を調べているので
いいの?HTMLに<form name="f1">...</form>が書かれていれば
必ずそのフォームは(データが入っていようがいなかろうが)
存在するよ?フォームの中の特定の入力欄にデータが入って
いるかどうかチェックするんでなくて、本当にいいの?
あと、入力欄のname属性は「"name1"」なのか、「"ERROR"」なのか
どっちよ?後者だったら当然name1じゃなくERRORを指定しなくちゃ。
759 :
Name_Not_Found :02/05/11 19:43 ID:Sl1F9onF
>>758 >>749 はわざとERRORを使用しています。
希望する動作とは、入力フォームが存在したら値を入れ、存在しなければエラーを出すのではなく無視することです。
この例では入力フォームが存在しないので、無視してほしいのですが、エラーを出してきます。
>>759 あなたが言っているのは「入力用フォーム」ではなく「入力用フィールド」
ではないの?
>>759 if(document.forms.f1){ ... } は <form name="f1"> の有無をみる条件分岐。
<form name="f1"> が存在することが解ってて、
その中での <input name="name1"> の有無を判定したいなら
if(document.forms.f1.elements.name1){ ... } だ。
フォームとその中のコントロール(部品)との区別がつかない もの言いをする人がいるとは気付かなかった。どうもおかしい とは思っていたが。
>>761 あれ、できました。長いことかかったのですが助かりました。
765 :
762 :02/05/11 20:54 ID:WYdKOZZp
ひとりごとさ。やれやれ。
766 :
Name_Not_Found :02/05/11 21:07 ID:Sl1F9onF
$ip=~s/.*\s(\d+)\.(\d+)\.(\d+)\.(\d+)/$1.$2.$3.$4/; データーからIP型を抜き出したいのですが、これはJavaScriptでどう書いたらいいの?
1つだとこうだと思いますが。var ip=data.match(/\d+/);
ip=ip.replace(/.*\s(\d+)\.(\d+)\.(\d+)\.(\d+)/,'$1.$2.$3.$4');
>>768 似ているんですね。カンマとシングルクォートがなかったら覚えやすそうですね。ありがとうございます。
同じ正規表現だろ。。。
771 :
Name_Not_Found :02/05/12 00:18 ID:66v/xbNN
すみません。他スレでも書いたのですが、こちらのほうがわかるかなと思って。 スワップイメージでマウスをイメージに重ねるとサウンドが鳴るようにしました 私的にはマウスを外せばサウンドも止まるようにしたいのですが 今の所マウスをはずしてもサウンドが鳴りっぱなしで困っています。 どのようにすれば良いかお知恵をお貸し下さい。
>>771 具体的にどういう風に書いたのか教えてくれい。
マウスアウトのときのイベントの記述はどんな感じ?
773 :
Name_Not_Found :02/05/12 00:35 ID:aneCC+z0
アクションスクリプト板からの移転誘導をうけての移転です。 swf.fileのポジションについての質問です。 if(browserWidth>500){ ***.swf.align=center} else{***.swf.aling=left}; *訳 もしブラウザーの横幅が500より大きければ***.swfの位置はセンター、 それ以外の時はleftに。 HTML+ASのかなりごり押しな文ですが、雰囲気を感じ取ってもらえればと思い書いてみました。 前置きながくなりましたが、上記のようなことは可能なのでしょうか? またこれを使えばできるといった情報お持ちの方、教えていただければ幸いです。
774 :
692 :02/05/12 00:56 ID:BR9huDmZ
<HEAD> <SCRIPT TYPE="text/jscript"> <!-- function hoge() { var objIE = WScript.CreateObject("InternetExplorer.Application"); objIE.Navigate("test.html"); sleep(30); HOGE.innerHTML = objIE.document.body.innerHTML; } //--> </SCRIPT> </HEAD> <BODY> <DIV ID="HOGE">hoge</DIV> <script TYPE="text/jscript">lets();</script> </BODY> こんな感じのHTMLを書いてみたのですが、「WScriptが定義されていません」 という エラーが出てしまいます。 確かにそんなオブジェクトはないのですが、.jsファイルで実行を前提としたサンプルを 見る限りではどこにも定義しているものがありません。 WScriptというのはそもそもなんのオブジェクトで、どこでどうやって定義すべきなのでしょうか?
>>774 落ち着け。
深呼吸しろ。
そして、削除依頼出して来い。
その後改めてWSHスレに質問を書け。
776 :
692 :02/05/12 01:41 ID:BR9huDmZ
>>775 落ち着きました。WSHのことだったのですね。ありがとうございます。
777 :
777 :02/05/12 03:17 ID:Ab4FiYak
777ゲトズサー---
var objIE = WScript.CreateObject("InternetExplorer.Application"); (w
任意の小数点以下の桁数に変換するにはどうしますか?
>>779 意味が解らんのだか、例えば 1.5 を 1.500 にするとかそういうことか?
1.679543を1.67にするとかです。 任意の桁で切り上げ、切り捨て、死者後入とかをしたいんです。
あと780さんのやり方も知りたいです。 うしろにゼロをつける奴です。
四捨五入だったら (1.679543).toFixed(2) で文字列 '1.68' を得られるから これを Number() に通せば Number 型に変換できる。 ただ toFixed は IE5.5/N6 以上なので それ以下の環境も対象にするなら自力で関数を書く必要がある。 function Number_prototype_toFixed ( fractionDigits ) { var x = this.valueOf(); var f = fractionDigits ? parseInt(fractionDigits) : 0; if ( f < 0 || f > 20 ) return 'RangeError'; //throw(RangeError); if ( x == NaN ) return 'NaN'; var s='', m, n, k, z=''; if ( x < 0 ) s = "-", x = - x; if ( x >= Math.pow( 10, 21 ) ) { m = x.toString(); } else { n = Math.round( x * Math.pow( 10, f ) ); // Math.ceil なら切り上げ、 Math.floor なら切り捨ての関数になる m = ( n == 0 ) ? '0' : n.toString(10); if ( f != 0 ) { k = m.length; if ( k <= f ) { while ( z.length!=f+1-k ) z += '0'; m = z + m; k = f + 1; } m = m.substring( 0, k-f ) + '.' + m.substring( k-f, k ); } } return s + m; } if (!Number.prototype.toFixed) Number.prototype.toFixed = Number_prototype_toFixed; 引数 fractionDegits は小数点以下の桁数。戻り値は文字列。
丁寧なレス有難うございます。大変参考になりました。 MSのリファレンスを見ていたんですが Number オブジェクトの解説に toFixed メソッドが出ていなかったので全然わかりませんでした。 メソッドの解説にはちゃんと出ていましたけど。ちょっと不親切な リファレンスだと思いました。
画像ファイルなどの[ファイルのダウンロード]ダイアログを表示さす事は出来ますか?
すみませんが、解説が分かりやすい、初心者に最適なJavaScriptの本って ありませんでしょうか?当方、何とかHTMLでエラーを出しつつも ホームページを作れる程度です。 先に謝っておきますが、過去ログに有ったなら申し訳ありません・・
787 :
Name_Not_Found :02/05/13 20:02 ID:1UgsZJvE
>>786 某所でPC教室の講師アシスタントなどしていた(過去)漏れが、
テキストとしていちばん使いやすかったのは
丸の内とら『初体験JavaScript』。誤植が多いのを除けば(それが一番問題という噂もあるが)良書。
790 :
Name_Not_Found :02/05/13 22:52 ID:vAwyov0p
素材星人のJavaScriptはどーなってんだYO!
791 :
(T~T)..公,,連敗.... :02/05/13 22:55 ID:MfeP38Mp
質問です。 new Date()から、年、月、日を取り出して繋げ、url= "02/5/02y5m13.html"として、ジャンプさせるソースを書いたです。 んで、、、ヽ(T皿T)ノ var year_num = year.substring(2,year.length);の行で、 「プロパティ・メソッドは対応してません」とブーたれます。 何処が違っているんでしょうか? よろしくおながいします....m(x x)m <script type="text/javascript"> <!-- function todaysDiary(){ var date = new Date(); var year = date.getYear(); if(year < 1000){year = year+1900;} var year_num = year.substring(2,year.length); var month = date.getMonth()+1; var day = date.getDate(); var base_url = "../../"+year_num+"/"+month+"/"; var day_file = year_num+"y"+month+"m"+day+".html"; window.location.href = base_url+day_file; } // --> </script>
>>791 year は Number 型だから、 substring() は使えない。
使うなら、エラーの出る行の前で型変換しよう。
year=String(year);
793 :
Name_Not_Found :02/05/13 23:08 ID:zOBEtyXO
>>791 変数yearが数値なのに文字列として扱おうとしてるから。
問題の行を
var year_str = String(year);
var year_num = year_str.substring(2,year_str.length);
でどうかな。
794 :
Name_Not_Found :02/05/13 23:09 ID:zOBEtyXO
今日もかぶった!
795 :
(T~T)..公,,連敗....でも応援しる! :02/05/13 23:12 ID:MfeP38Mp
>792さん、>793さん ありがとございます。 ブーたれなくなりました〜〜ヽ(´ー`) ノ 文字型と数値型。。。心しておきますです。m(_ _)m...。
あああ・・・リンク先同じになっちゃってる・・正しくは 「WebがグンとよくなるJavaScript」と 「初体験JavaScript―はつたいけんでもやさしい」です。
全くの素人です。ごめんなさい。 (うっかりプログラム板のJavaスレに書き込んで大汗かきました。) ただのサイト利用者としての質問なのですが、 昨日から急にasahi.comのトップページへアクセスすると ランタイムエラーの警告ダイアログが出るようになりました。 function launchFloat(){ if((document.all) && (document.body.clientHeight > 570)){ if(lTop==null && lLeft==null){ eval(layerName).style.left = cLeft; lTop = cTop; eval(layerName).style.top = lTop; } onscroll = floatLayer; } } 警告ダイアログでは上記部分4行目でLayer定義がされていないと出るので、 (詳しくはasahi.comのソースをご覧ください)スクリプトのミスかと思ったのですが、 こちらの環境(MacOS9、IE5.1)、キャッシュ、もしくはUAの設定のせいなのでしょうか? 何が問題でエラーがでるのかを教えていただけませんでしょうか?
799 :
Name_Not_Found :02/05/14 08:35 ID:bCiocDUv
>>798 いちばんありそうなのはasahi.comがソースを「改良」したつもりが
Mac IE5で動かない改良になってしまった、ということじゃないの。
asahi.comに連絡してみたらどうです?
800 :
Name_Not_Found :02/05/14 08:55 ID:SdErmUBL
DOMで埋め込んだ文字はGoogleの検索対象になるのでしょうか。
801 :
Name_Not_Found :02/05/14 08:58 ID:bCiocDUv
>>800 <script>...</script>の中にその文字列が埋まっていれば
なりそうなもんだけど(でも、もしかしたらscript要素の
中はよけているという可能性も)。JSが別ファイルだったら
無理そうだなあ。
803 :
798 :02/05/14 10:22 ID:C0kYiukU
>>799 素人の質問にお答えいただきありがとうございます。
asahi.comのご担当者様にお尋ねした答えが、
>キャッシュ、もしくはUAの設定のせい
でして、
「asahi.com側でMac環境で検証してもエラーは出ないので、
パソコンに詳しい人に対処法(UAの設定法)を聞いてください」とのことでしたので、
ここでお聞きすることにしました。
嫌な言い方ですが、どうもうまく丸め込まれている気がしましたので…。
>>801 すると外部scriptで干支を計算して表示したとしても、検索対象にならないようですね。
805 :
Name_Not_Found :02/05/14 11:37 ID:skHOBQbU
>>803 確かに丸め込まれているっぽいですね。誰かMacIEの人、
虫取りして修正内容を確定してあげられない?
>>804 当然。まさかgoogle側で人間が1ページずつ表示させて
検索語を収集してるとか考えてないですよね?
>>805 Googleもscript実行して表示結果を記録していたらいいなと思ったので。
そうでないとDOMを多く使用したページでは検索機能自体が役に立たなくなりそうですし。
807 :
Name_Not_Found :02/05/14 11:58 ID:skHOBQbU
>>806 JavaScriptを切っている人のことも考えるべきではないの?
主要なコンテンツはHTMLなりで書いて、それにプラスαする
もの(ナビゲーションの向上や効果的な表示等)をDOMなりで
追加するのがよいのでは?ま、JavaScriptで提供している
機能を検索させたければHTML側にそういう説明文があれば
いい(見せたくなければSGMLコメントに入れればいい)とも思
うが。
808 :
Name_Not_Found :02/05/14 14:05 ID:b6baIt0c
window.openで、閉じる時に開かせるにはどうすればいいですか?
809 :
Name_Not_Found :02/05/14 14:46 ID:skHOBQbU
>>808 何が閉じる時に何を開かせるって?わけわかんない日本語だなあ。
「ある窓が閉じようとする時にwindow.openを使って別の窓を開か
せる」のであれば、閉じようとする方の窓の<body>タグを次のように。
<body onunload="window.open('
http://www.yahoo.com ', '_blank')">
あっそれです! 助かりました。
811 :
Name_Not_Found :02/05/14 19:44 ID:rDdgWPFc
同一ファイル内で複数のレイヤーのうち、 一つだけをスクロールするにはどうすればいいですか?
>>811 レイヤって id 振った div とかのこと?
レイヤの中身をスクロールさせたいの?
放っといても勝手にスクロールさせるの? マウスでドラッグとかさせるの?
どんな風にスクロールさせたいのかイマイチよく解らないので
もうちょっと詳しくお願い。
>>811 が言っているレイヤーがネスケの<LAYER>タグのことだったら面白いのになあ、と妄想してみるテスト。
814 :
Name_Not_Found :02/05/14 20:34 ID:GvzskwIE
質問です。 ページ内に画像があったとして、それを 一定秒後に違った画像に変えて、 また一定秒後に違った画像に変えたいのですが、 いいスクリプトはありますでしょうか、、
815 :
Name_Not_Found :02/05/14 20:57 ID:ZqWDWOxR
教えてくだチャイ あげ
816 :
:02/05/14 20:58 ID:53EcWSvH
817 :
Name_Not_Found :02/05/14 21:11 ID:FY+uAD1a
ありがとうございます
818 :
811 :02/05/14 22:46 ID:rDdgWPFc
819 :
811 :02/05/14 22:48 ID:rDdgWPFc
onclickでやりたいんですけど。
7行プログラム@ム板で紹介されていたJavaScript関連のをうぷさせてもらいます。
ーーーーーーーーーーーーーーーーーーーーーーーーーー
792 名前: IE限定ですが sage投稿日:02/03/26 (火) 11:46
<body onKeyDown="K=event.keyCode-37"><tt id=FEX><script>var K=-1,M=1,L=0,Z=[],D=
document.all,T="",C="□",F;function R(H){while(D["F"+(F=Math.ceil(Math.random()*
399))].innerHTML!=C);I(F,H)}function Y(){if(K+1){P+=[-1,-20,1,20][K];X=D["F"+P].
innerHTML;if(X!=C)if(X!="▲"){clearTimeout(T);alert("Over");return}else{M++;R(X)
}I(Z[++L]=P,"●");I(Z[L-M],C)}T=setTimeout("Y()",99)}function I(P,H){D["F"+P].
innerHTML=H}for(i=0;i<400;i++)T+=(i%20?"":"<br>")+"<span id=F"+i+">"+((i+1)%20>1
&&i>19&&i<379?C:"■")+"</span>";I("EX",T);R("●");P=Z[0]=F;R("▲");Y();</script>
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
<body onKeyDown="K=event.keyCode-37"><tt id=F><script>function R(H){while(D["F"
+(S=Math.ceil(Math.random()*399))].innerHTML!=C);I(S,H)}function I(T,H){D["F"+T
].innerHTML=H}function Y(){if(K+1){P+=[-1,-20,1,20][K];X=D["F"+P].innerHTML;if(
X!=C)if(X!="▲"){alert("Over");return}else{M++;R(X)}I(Z[++L]=P,Q);I(Z[L-M],C)}
setTimeout(Y,99)}Q="<font color=green>●</font>",D=document.all,K=-1,M=1,L=0,Z=
[],C="□",S="";for(i=0;i<400;i++)S+=(i%20?"":"<br>")+"<span id=F"+i+">"+((i+1)%
20>1&&i>19&&i<379?C:"■")+"</span>";I("",S);R(Q);P=Z[0]=S;R("▲");Y();</script>
カラー蛇。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
S ◆Q14CxNhI
> ついに7行になったのですが、もうわけわかめ、あまりにもトリッキーになってしまいました。
<body onKeyDown=K=1><pre><script>R=7;D=document;function Y(){D.all(7).innerHTML
=P;if(K){R>>=1;if(!R){o=A[0]&56;if(o-(A[1]&56)||o-(A[2]&56)){alert("残念");if(P
<5)return alert("END")}else alert(g=T[o/=8]),P+=g;P-=5;R=7}}for(K=i=0;i<9;C[i++
%3]/=8)j=A[i],C[i]=A[i]=R&4>>i?j=j%(1<<27)*8|j
>>27 :j,D.all[9+i].innerHTML=S[C[i
%3]&7];setTimeout(Y,99)}S="7□=○∴|¥$".split("");T=[100,5,10,15,20,30,P=
45,60];A=[0x16E29519,0x1DCC2E65,0x384CD988];C=[];a="<b></b><b></b><b></b>\n";D.
write(a,a,a,a);for(i=8;i--;K=0)D.write("\n\t",S[i]," ",T[i]);Y()</script>
スロット。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
S ◆Q14CxNhI 投稿日:02/04/27 (土) 01:20
> ついにやりました! テトリス7行達成です!!
> 叱咤激励いろいろいただきました、みなさんのレスに感謝いたします。
>
> 遊び方:カーソル左右で移動、リターンキーで回転
> プレイ環境:おそらく IE 5.01 以上?
>
<body onKeyDown=K=event.keyCode><script>X=[Z=[B=A=12]];h=e=K=t=P=0;function Y()
{C=[d=K-38];c=0;for(i=4;i--*K;K-13?c+=!Z[h+p+d]:c-=!Z[h+(C[i]=p*A-Math.round(p/
A)*145)])p=B[i];!t|c+4?c-4?0:h+=d:B=C;for(f=K=i=0;i<4;f+=Z[A+p])X[p=h+B[i++]]=1
if(e=!e){if(f|B){for(l=228;i--;)Z[h+B[i]]=k=1;for(B=[[-7,-20,6,17,-9,3,6][t=++t
%7]-4,0,1,t-6?-A:-1];l--;h=5)if(l%A)l-=l%A*!Z[l];else for(P+=k++,j=l+=A;--j>A;)
Z[j]=Z[j-A]}h+=A}for(i=S="";i<240;X[i]=Z[i]|=++i%A<2|i>228)i%A?0:S+="<br>",S+=X
[i]?"■":"_";document.body.innerHTML=S+P;Z[5]||setTimeout(Y,99-P)}Y()</script>
ちなみに
>>820 は一行79文字以下ね。
長くてスマソ。でもさんこうになるかなぁって。
823 :
Name_Not_Found :02/05/14 23:22 ID:xt6B54rY
>>811 こんな感じかな。まあ適当に直してね。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<style type="text/css">
div { position: absolute; height: 100px; width: 200px; border: ridge blue 4px }
#d0 { top: 100px; left: 10px }
#d1 { top: 110px; left: 20px }
#d2 { top: 120px; left: 30px }
</style>
<script type="text/javascript">
var count, dx, elt, xpos = 20
function scrl(x) {
elt = document.getElementById('d1'); count = 20; dx = (x-xpos)/20; step();
}
function step() {
elt.style.left = (xpos += dx)+'px'; if(--count > 0) setTimeout(step, 50);
}
</script>
</head><body>
<p><a href="javascript: scrl(220)">right</a>|
<a href="javascript: scrl(20)">left</a></p>
<div id="d0">A</div><div id="d1">B</div><div id="d2">C</div>
</body></html>
825 :
Name_Not_Found :02/05/14 23:58 ID:iZChDNUZ
>>824 遠慮なくすばらしいソースを貼ってくれたまへ。
asahi.com様どうやらバグ取りをされた模様です。 スレ違いな質問でお騒がせしました。 レスくださった方、ありがとうございました。
すいません。Script初心者です。 radioボタンを複数配置し、その下にsubmit?ボタンを複数配置します。 上の選択したradioボタン毎に押すことができるsubmitボタンをリアルタイムに変化させたいのですが・・・ たとえばradioAを押すとsubmit A,B,Cが押せてDは押せない。 radioBを押すとsubmit A,Bが押せてC,Dは押せない。 radioCを押すとsubmit Cが押せてA,B,C,Dは押せない。 radioDを押すとsubmit A,Dが押せてB,Cは押せない。 こんな感じです。 下のボタンはsubmitである必要はないかもしれません。
828 :
Name_Not_Found :02/05/15 13:17 ID:a0bnEut2
aをbに変換したいのですが、できません教えてください str = document.forms[0].elements[0].value.replace(a,b); document.forms[0].elements[1].value = str;
829 :
Name_Not_Found :02/05/15 13:54 ID:cGhfRF/w
>>828 aの部分は、文字列ではダメだよ。
仕様書をよく読んだ方がいい。
830 :
811 :02/05/15 14:10 ID:uxvVtLIq
皆さんどうもありがとうございました。 なんとか出来そうです。 マジ感謝。
831 :
Name_Not_Found :02/05/15 14:20 ID:mrRQ50yo
>>827 ホレ。N6/Mozilla/IE。N4とOperaはdisabledに対応してない。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
var stat=[[false,false,false,true],[false,false,true,true],
[true,true,false,true],[false,true,true,false]];
function chg(n) {
for(var i = 0; i < 4; ++i)
document.forms[0].elements['s'+i].disabled = stat[n][i];
}
</script>
</head><body>
<form action="#"><p>
A<input type="radio" name="r" onclick="chg(0)" checked>
B<input type="radio" name="r" onclick="chg(1)">
C<input type="radio" name="r" onclick="chg(2)">
D<input type="radio" name="r" onclick="chg(3)"><br>
<input type="submit" name="s0" value="A">
<input type="submit" name="s1" value="B">
<input type="submit" name="s2" value="C">
<input type="submit" name="s3" value="D" disabled></p></form>
</body></html>
833 :
827 :02/05/15 14:30 ID:3OuUDgBf
>831 す、すばらしいです。 本当にありがとうございました! これを参考に仕様書読破してきますね。
834 :
Name_Not_Found :02/05/15 14:31 ID:mrRQ50yo
>>829 厳しくやるのはいいがウソはまずいだろ。仕様書を読むと
aの部分は文字列だった場合はnew Regexp(a)のようにして
正規表現に変換されることになっている。見た仕様書は
ECMA-262 ed.3なんで、他のものを指してるならスマソ。
>>828 あなたがやりたいのは文字列'a'を文字列'b'に置き換えること?
もしそうなら「...replace('a','b')」としなくてはね。そうで
ないなら、どうするのが正しいかどうかは変数aと変数bに入って
いるものまで見ないと分からないというか。
835 :
Name_Not_Found :02/05/15 14:33 ID:mrRQ50yo
今日もまたかぶった!
836 :
Name_Not_Found :02/05/15 16:49 ID:c+pq0cd4
少し前に作っていただいたプログラムなのですが MAC用も欲しいといわれて困っています。 『replace( /\r?\n/g, "<BR>" ); 』がMACには使えないようで 何とかならないでしょうか? 作ってもらったもの <script type="text/javascript"> <!-- function func() { var elt = document.forms.F1.elements.T1; elt.value = elt.value.replace(/</g, '<'); if (document.all && document.all.D1) { document.all.D1.innerHTML = document.F1.T1.value.replace( /\r?\n/g, "<BR>" ); } } // --> </script> <form name="F1"> <p align="center"><textarea name="T1" rows="10" cols="85">AAA<B>BBB</B>CCC</textarea> </p> <p align="left"> <input type="button" value="OK" onclick="func()"> </p> </form> <DIV ID="D1">AAA<B>BBB</B>CCC</DIV>
837 :
Name_Not_Found :02/05/15 17:45 ID:cGhfRF/w
replace('a','b');
では初めに現れた'a'しか置換されないので注意されたし。
>>836 何の目的において使えないのか明言しないと答えようがない。
当たり前だが、/\r?\n/gを"<BR>"に置換する目的のためなら、
「replace( /\r?\n/g, "<BR>" );」という手段は正しく機能する。
>>836 /\r?\n/g だから CRLF と LF にしかマッチしない、ということだと思う。
Mac の改行コードは CR。やるなら /\r|\r?\n/g とかじゃないだろうか。
839 :
828 :02/05/15 21:36 ID:ZanMj4e5
文字列の中に文字aが不規則に散りばめられている場合に その文字a全部をbに変換したいのです。 説明不足スマソ
840 :
Name_Not_Found :02/05/15 21:44 ID:mrRQ50yo
>>839 「...replace(/a/g, 'b');」
841 :
811 :02/05/15 22:02 ID:uxvVtLIq
何度もすいません。 823の方法でやった場合に2回目以降スクロールしないんですけど どうすれば良いですか?
843 :
Name_Not_Found :02/05/15 22:36 ID:mrRQ50yo
>>841 押す度にどんどん右へ行きたいわけね?そんなら関数scrl
の中の「dx=(x-xpos)/20」を「dx=x/20」に変更するとかかな。
その場合左に戻るリンクは「scrl(-220)」とか。まあ適当に直
してよ。
844 :
811 :02/05/15 23:06 ID:uxvVtLIq
>>843 さん本当にありがとうございました。感謝です。
845 :
828 :02/05/16 02:57 ID:9gZNw5Li
>>840 ありがとう御座いました。
このご恩は一生忘れません出世した暁にはきっと・・(以下略
846 :
Name_Not_Found :02/05/16 03:58 ID:N8N2bXlT
フレームを使ったページで、フレームが指定してあるトップページにアクセス解析のためのJavaScriptを埋め込みたいのですが どこに埋め込んでも作動しません。どこに埋め込んだらいいのでしょうか? フレームページのソースは以下の通りです。 <HTML> <HEAD> <TITLE></TITLE> </HEAD> <FRAMESET cols="100,*"> <FRAME src="left.htm" name="left"> <FRAME src="right.htm" name="right"> <NOFRAMES> <BODY> フレーム対応ブラウザで見てね<BR> </BODY> </NOFRAMES> </FRAMESET> </HTML>
847 :
846 :02/05/16 04:01 ID:N8N2bXlT
追加 ScriptをLeft.htmかRight.htmに埋め込むとちゃんと動作するんですが ReferがLeft.htmとかになるんですよね。
848 :
Name_Not_Found :02/05/16 08:55 ID:S8Tnzrpg
>>846 今までどこに埋め込んで見たのか書いてみれ。
>>846 top.document.referにすれば良いのでは?
parent.document.referrerにしてみれ。
852 :
:02/05/16 18:47 ID:FJcyvCOT
>>851 できるが、同じものを複数か?どこか変えて表示させるのか?
853 :
ななし :02/05/16 18:48 ID:0UAIexPs
>>852 カウントダウンの内容を変えたいです。
例えば、○までは4日。
×までは9日。
みたいに。。。
コピー&ペーストではエラーになってしまいます
855 :
:02/05/16 19:05 ID:FJcyvCOT
>>853 自分ではこう書かないが、このほうが理解しやすいだろう。
<BODY BGCOLOR="#ffffff" LINK="#ff0000" VLINK="#0000ff" onLoad="display()" onUnload=clearTimeout(tid)>
<SCRIPT language="JavaScript">
<!--
millenium = new Date(2112,8,3)
millenium1 = new Date(2122,8,3)
function display() {
today = new Date()
days = Math.floor((millenium-today)/(24*60*60*1000))
time1 = Math.floor(((millenium-today)%(24*60*60*1000))/(60*60*1000))
time2 = Math.floor(((millenium-today)%(24*60*60*1000))/(60*1000))%60
time3 = Math.floor(((millenium-today)%(24*60*60*1000))/1000)%60%60
days1 = Math.floor((millenium1-today)/(24*60*60*1000))
time11 = Math.floor(((millenium1-today)%(24*60*60*1000))/(60*60*1000))
time12 = Math.floor(((millenium1-today)%(24*60*60*1000))/(60*1000))%60
time13 = Math.floor(((millenium1-today)%(24*60*60*1000))/1000)%60%60
if((millenium - today) > 0){
document.f.days.value = "ドラえもん誕生まで、あと"+days+"日"+time1+"時間"+time2+"分"+time3+"秒"
document.f1.days1.value = "ドラミちゃん誕生まで、あと"+days1+"日"+time11+"時間"+time12+"分"+time13+"秒"
}else{
document.f.days.value = "ドラえもん完成!!"
document.f1.days1.value = "ドラミちゃん完成!!"
}
tid = setTimeout('display()', 1000)
}
// -->
</SCRIPT>
<FORM name=f><INPUT TYPE=TEXT NAME="days" SIZE=53></FORM>
<FORM name=f1><INPUT TYPE=TEXT NAME="days1" SIZE=53></FORM>
</body>
ヽ((≡゚♀゚≡))ノTタケコプター.....。 申し訳無い...。一度ハシャイで見たかった...。m(_ _)m
857 :
846 :02/05/16 21:26 ID:wajYj9+I
858 :
2ちゃんねるで長〜有名サイトだよ :02/05/16 21:27 ID:w1xVONHi
860 :
Name_Not_Found :02/05/16 23:08 ID:dhJuGcuP
文字列からハッシュ値を得たいのですが、何かよい方法はありますか?
861 :
._. . _ :02/05/16 23:23 ID:XjhniPin
IE の ScrollTop に関して質問です.やりたいのは擬似 position:fixed; で,
そのために縦のスクロール量を調べるテストスクリプトを書きました.
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"
http://www.w3.org/TR/html4/loose.dtd ">
<html lang="ja">
<head>
<title>test</title>
<script type="text/javascript"><!--
function showScrollY() {
alert(document.body.scrollTop)
}
//--></script>
</head>
<body onload="setInterval('showScrollY()',1000)">
<p><img src="dummy.jpg" width="1" height="800">ほげー</p>
</body>
</html>
というソースでスクロール量を得たいのですが,alertの表示は
(縦方向にスクロールさせても)いつも「0」になってしまいます.
試行錯誤の結果,先頭のDTD宣言を
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
だけにするとちゃんとスクロール量(0でない値)が返るようになったのですが,
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">や
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"
http://www.w3.org/TR/html4/strict.dtd ">
だとやはり0しか返ってきません.
この件に関して解説してあるサイトはないでしょうか?
(「scrollTop 標準」「scrollTop モード」では探し方が悪いのか見つけられず.)
また,(DTDを調整する以外で)解決策はあるでしょうか?
よろしくお願いします.
長文ごめん.それに一つ大切なことを書き忘れていた. 動作確認したのはWinIE6です.
863 :
860 :02/05/17 00:53 ID:evdUi1aV
864 :
Name_Not_Found :02/05/17 06:17 ID:6aWJ6nHi
>>861-862 document.bodyを参照する代わりにbody要素にidをつけて
「document.getElementById(名前).scrollTop」にしてみたらどう?
>864-865 ありがとうございます.両方試してみました. >864さんの方法では残念ながらうまくいかず「0」しか返してくれませんでした. >865さんの方法でうまくいき,ちゃんとスクロール量を返してくれました. ところで,documentElement を見る方法は IE5.5 以前でもうまく動くでしょうか? 試せる環境がないので不明ですが,よくわからないのでcompatModeを見て 分岐するように書いてみます.(必要ないなら教えていただけると幸いです.) と思って>865のリンク先を下まで読んでみたら… 「標準準拠モードでは、Internet Explorer の他のバージョンとの互換性は保証されません。 (中略)このモードは、CD-ROM に保存されているコンテンツなど、事実上固定されている コンテンツには使用しないでください。」 まさにそういうコンテンツを作ってるんだが…互換モードで書くほうがいいのか,無念.
867 :
下請けはつらいよ :02/05/17 14:01 ID:ktMij8nn
……クライアントがバカなことを言い出した。 「Webアプリケーションでファンクションキー(によるボタンの選択とクリック)を使いたい」と言い出したそーな(^^; とりあえず 「できねーよ!JavaScriptのkeyDown/keyUpはファンクションキートラップできないし、IEのファンクションキーは 既に殆ど全部割り当てられてるよ!」 と返事をしたが、一応今後のためにも(^^;、本当に抜け道がないか、皆様のご意見を賜りたい。 勿論IE限定で構わないので「こーすりゃなんとかなるっぺや」というのがあれば、アドバイスを頂ければ幸いです。 なにとぞよろしゅうに(拝)
>>866 IE5.5 以前に標準モードはない。分岐処理が必要。
だが、IE5.5 以前は document.compatMode がそもそも undefined なので注意。
> 互換モードで書くほうがいいのか,無念.
対象 UA をどう考えるかだよね、その辺は。
869 :
Name_Not_Found :02/05/17 17:34 ID:pCBlBP4k
>>867 onkeypressと違ってonkeydown,onkeyupでは
PrintScreenキー以外は検出できるし・・・
return falseとすれば何の問題もな使える。
どこで間違った知識を植え付けられたんだか・・・
厨房がんばれ。
function document.onkeydown(){
alert(event.keyCode);
return false;
}
ちなみに、return falseとすれば、 既に割り当てられている機能は発動しないってことだからね。
871 :
Name_Not_Found :02/05/17 17:47 ID:pCBlBP4k
>>867 >……クライアントがバカなことを言い出した。
バカなことを言ってるのは、あんたの方でしょうが。
ハズレくじを引いてしまったクライアントが哀れでしょうがない。
最近の職人のレベルは、こんなにも低いのか?
IEにおいて、Arrayオブジェクトを派生させて作ったクラスの、 pushメソッドは先頭の要素を上書きし続けるため、正しく動かない ようなのですが、これはバグですか?
>>872 SubClass.prototype = new Array(); てやってるでしょ。
どうも length プロパティが 0 で ReadOnly になってて
このプロパティを参照するメソッドが全滅っぽい感じだ。
SubClass.prototype.push = Array.prototype.push;
みたいにしてやってみ。 Win2K+IE6 では上手くいった。
Array オブジェクトの特殊な動作(要素を追加すると自動で length が増える等)は
派生させること出来ないから気をつけること。
<INPUT type=radio name=bgcolor onclick="document.bgColor='#色'"> で背景色を変えられるようにしのですが、その色数が140色あるので、 フレームで分割しました。 そこで、 <INPUT type=radio name=bgcolor onclick="parent.フレーム名.document.bgColor='#色'"> と書き換えたのですが、動作しません。 色々なサイトを見たのですが、INPUT TYPE=BUTTONしかなく、途方に暮れてしまいました。 INPUT type=radioで別フレームの色を変えるにはどうしたらいいのでしょうか? あと、上記のタグの name=bgcolorってのは必要なのでしょうか?
875 :
873 :02/05/17 21:08 ID:HoJ5nI0a
> どうも length プロパティが 0 で ReadOnly になってて undefined で ReadOnly っぽい。 で、常にプロトタイプの length を参照する、と。
876 :
Name_Not_Found :02/05/17 21:39 ID:Bp2lZ7yT
誰かカレンダー書かせるjs作ったことある? どんな風に作ればいいかわからないっス。
878 :
Name_Not_Found :02/05/17 22:04 ID:evdUi1aV
(゚∀゚)JavaScriptでnewしたオブジェクトというのはいつ消滅するのでしょうか? JavaScriptもJavaのように全てのオブジェクトは参照が消滅したら そのうちガベージコレクトされるのでしょうか?
879 :
Name_Not_Found :02/05/17 23:30 ID:0SSe+MdJ
880 :
Name_Not_Found :02/05/18 11:48 ID:UbHK1y3u
どなたかonmouseoverを使ってリンクを触ったとき、音をならせるjavaを知りませんか? 知っている方がいらしたら、是非お教え願いたいです。
881 :
Name_Not_Found :02/05/18 12:20 ID:e/qbi2mp
JavaScriptの標準機能でロケールを取得することはできますか?
882 :
Name_Not_Found :02/05/18 12:21 ID:Vz1OASX/
>>880 JavaScriptのことをjavaと呼ぶ人には教える気がうせる。
音を出すのは迷惑だからあんまり教える気が起きない。
ま、過去ログを探せばどっかに音を出す話題もあったかと。
883 :
Name_Not_Found :02/05/18 12:23 ID:4wg0TC5N
>>881 ブラウザによって変わってくるよ。
「標準」の意味が分からないけど。
884 :
880 :02/05/18 14:41 ID:UbHK1y3u
どなたかonmouseoverを使ってリンクを触ったとき、音をならせるJavaScriptを知りませんか? 知っている方がいらしたら、是非お教え願いたいです。
>>884 > 音を出すのは迷惑だからあんまり教える気が起きない。
> ま、過去ログを探せばどっかに音を出す話題もあったかと。
はい、過去ログを読めば出てくると思われます。
「音 ならす JavaScript」で検索すりゃわんさか出てくるだろ。
はい、次。
>>884 そんなウザいサイト、俺なら2度と行きたくなくなるが。
リピーター防止の嫌がらせスクリプトか?
動的に生成されるHTMLドキュメントの中からuserDataビヘイビアで saveやloadができないのはなぜですか?
>>888 URLが about:blank で始まるようなドキュメント内からでは
(たとえばかちゅ〜しゃやAboneのスレ表示欄などのドキュメント)
saveがエラーになるのですが、書き方がまずいのでしょうか?
890 :
880 :02/05/18 19:53 ID:UbHK1y3u
>>885 >>886 うるせぇ、お前ら。
俺は教えてくれって言ってんだよ。
答えねぇなら喋るな、ヴォケが。
891 :
Name_Not_Found :02/05/19 00:27 ID:dnl/WQMy
すいません。質問です。 いろいろなHPを見ているとJAVASCRIPTのソースがHTML内に書かれているものと Classファイルの読み込みしか書いていないHTMLがあるのですが どうちがうのですか? 私的には後者のほうがソースがすっきりして管理などもしやすいと思うのですが。 それぞれの利点などを教えていただけたら幸いです。
892 :
:02/05/19 00:40 ID:e2VkEHUS
>>891 JavaScriptの場合はjsファイルとして外部ファイルにすることができる。
外部ファイルにすると複数のHTMLで共用することができたり、
好みによってはソースが長い場合に見やすかったり。
なお、classファイルはコンパイル済みのJavaアプレットなどのファイルで
ソース内には記述できない。
893 :
Name_Not_Found :02/05/19 01:18 ID:dnl/WQMy
>>892 つまり、Classファイルがあれば複数のHTMLで共用できて見やすくなるということで
直接書き込むことの利点はないということですね?
894 :
Name_Not_Found :02/05/19 01:23 ID:dnl/WQMy
連続ですいません。 HPを見ていると実際JavaScriptを使用しているHPがさほど多くないように思えるのですが、 どうしてなのでしょうか?私はHTMLでは出来ないようなことが出来てHPの見た目などが 抜群に上がる気がするのですが・・・。 JavaScriptの良くない点などありましたら教えてください。お願いいたします。
>>893 は文盲。
しかも初心者スレで面白くもないネタレスをしたドキュン。
>>894 JavaScript自体はすごく便利。
でも、悪用されることが多い。
なので、みんなJavaScriptオフで閲覧することが多い。
故に、JavaScriptを書いてもメリットを感じてもらえない。
よって、誰もJavaScriptを使わない。
残念ですな。
897 :
Name_Not_Found :02/05/19 01:39 ID:dnl/WQMy
>>895 もんもう [文盲]
非識字(‐者). *読み書きできないことを目が見えないことにたとえる差別性をもつ語.
すごく精神的ショックを受けました。明日精神科にいって来ようと思います。
診断の結果によっては
>>895 さんを訴えますのでその際は宜しくお願いします。
>>895 さん
>>894 の答え教えてください。
898 :
Name_Not_Found :02/05/19 01:39 ID:dnl/WQMy
>>896 さん
どうもです。ありがとうございました。
>>879 その前にClassファイルについて調べて、
JavaアプレットとJavaScriptの違いを理解してね。
いい夢見ろよ、白痴。
900 :
:02/05/19 01:45 ID:e2VkEHUS
>>893 classファイルはバイナリだからソースに書けないの!!!
>>894 雪を降らせるだとかカーソル追いかけるのように装飾や遊びものは
嫌がる人多いね。
見た目がいいと思ってるのは本人と一部の来訪者だけだったり。
901 :
Name_Not_Found :02/05/19 01:55 ID:dnl/WQMy
>>899 さん
>>900 さん
無知な私に親切に教えていただき本当に助かりました。
まずは899さんのいうとおり一通り勉強して出直してきます。
>>900 さん
ごめんなさい。文章が小学生並でした。
Classファイルを適当なディレクトリにいれて
HTMLファイルでapplet code="***.class"とかいうのをいれて
Classファイルを読み込んだほうがよいんですね?
ということが聞きたかったのです。
↑ごめんなさい。本当に文章書くの下手なんです。
最後の一文はすごい納得しました。嫌がる人が多いみたいですね。
検討してみます。
本当にごめんなさい。そしてありがとうございました。 調べてきました。 結局のところ私はJavaアプレットとJavaScriptの違いを なにも理解していなかった結果、意味不明の質問をしてしまいました。
903 :
Name_Not_Found :02/05/19 02:34 ID:dnl/WQMy
最後にひとつだけお願いいたします。 同じものをJavaアプレットとJavaScriptのどちらで動作させるほうがよいのですか? 種類にもよるでしょうが、それぞれ利点などありましたら教えていただきたいです。
904 :
Name_Not_Found :02/05/19 02:47 ID:DZJPH7tS
about:blank なページでcookieを使えないのは仕様ですか?
905 :
Name_Not_Found :02/05/19 08:23 ID:TbwJkpuh
>>904 分らないけど、cookieって「あるURIに対して値を覚える」ものでしょ。
about:blankというURIについて覚えるというのは意味不明だからでき
なくする、という選択をブラウザ設計者がした可能性はあるよねー。
>>902-903 Javaアプレット→四角い領域の中でだけ動作する。任意の画像を合成
したり動かしたりできる。アプレットが格納されていたサーバと通信
できる(チャットなどに使える)。
JavaScript→HTMLで書かれたページの任意の部分にアクセスできる。
ページの内容を合成したり加工できる。ページ内のマウスクリック等
に対して反応できる。画像を作り出したりはできない(サーバ上に用意
されている画像ファイルを見せたり隠したり切替えたり位置を動かした
りはできる)。フォームなどの部品に対する動作をつけられる。
というわけで「同じもの」を作ることはほとんどないんじゃない?用途
がまったく違っている。
906 :
Name_Not_Found :02/05/19 09:30 ID:TbwJkpuh
>>874 > <INPUT type=radio name=bgcolor onclick="document.bgColor='#色'">
> で背景色を変えられるようにしのですが、その色数が140色あるので、
> フレームで分割しました。
> <INPUT type=radio name=bgcolor onclick="parent.フレーム名.document.bgColor='#色'">
> と書き換えたのですが、動作しません。
うーん、なぜかな。フレームの切り方によるのかも。
「top.frames.フレーム名.document.bgColor = ...」ではどうかな。
> 色々なサイトを見たのですが、INPUT TYPE=BUTTONしかなく、途方に暮れてしまいました。
同じだと思いますよ。
> あと、上記のタグの name=bgcolorってのは必要なのでしょうか?
それはね。nameが同じになってるradioが1つのグループになっていて、
あるボタンを選択すると他のボタンの選択が外れるわけです。nameを
共通に指定しておかないと1グループにならないのでいまいちでしょ?
907 :
872 :02/05/19 12:30 ID:2GwFBlD0
>>873 ,875
レス遅くなってしまいすみません。
プロトタイプのメソッドがlengthプロパティを参照する時に、プロトタイプのほうの値を
参照し,それがReadOnlyな為に問題が発生するということでしょうか?
派生クラスは固有のlengthプロパティを持つことができないのでしょうか。
それと、SubClass.prototype.push = Array.prototype.push;
のようにやってもうまく動作しませんでした。
どのようなコードでうまく動くのか見せていただけたらうれしいのですが...
908 :
Name_Not_Found :02/05/19 19:48 ID:HfZE+Gz1
こんな感じで書くと、フォームに説明が出るんだけど、これを左フレームで、 画像を表示して、右フレームでフォームに説明をだすってできますか? <script language="JavaScript1.1"> <!-- function Go(url) { window.open( url ,"IWindow" ) } function Mis() { alert("イメージマップのエリア外です!!") } function MessCr() { document.Fmess.fmess.value = "" } //--> </script> </head> <body bgcolor="#FFFFFF"> *フォームに説明を出す<p> <map name="ARIA1"> <area shape=rect coords=13,9,73,69 href="JavaScript:Go('MAP1.html')" onMouseOver="document.Fmess.fmess.value = '緑の四角'" onMouseOut="MessCr()"> <area shape=circle coords=119,38,29 href="JavaScript:Go('MAP2.html')" onMouseOver="document.Fmess.fmess.value = '黄色の丸'" onMouseOut="MessCr()"> <area shape=poly coords=160,69,188,7,222,69 href="JavaScript:Go('MAP3.html')" onMouseOver="document.Fmess.fmess.value = '赤の三角'" onMouseOut="MessCr()"> <area shape=rect coords=0,0,234,81 href="JavaScript:Mis()" onMouseOver="MessCr()"> </map> <img src="MAP.jpg" usemap="#ARIA1" border=0 width="234" height="81" alt="ARIATEST" > <form name="Fmess"> <input type="text" name="fmess" size=20> </form>
JavaScriptって1つの変数に500kbyte以上のデータを入れたりしても問題ないのでしょうか。
右フレームの名前.document.Fmess.fmess.value = '緑の四角'
ごめん訂正 top.右フレームの名前.document.Fmess.fmess.value = '緑の四角'
912 :
836 :02/05/19 20:55 ID:SlSIL4Ke
914 :
Name_Not_Found :02/05/19 22:03 ID:dy+6MajI
textbox に入力された文字列の前後に 予め定めた文字列をそれぞれ付け足して、 それを <form> 〜 </form> の下の <p> 〜 </p> の間に挟みたいのですが、 どのようにすれば良いでしょうか?
915 :
Name_Not_Found :02/05/19 22:44 ID:PZMUbnkH
>>914 こうかね。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function chg() {
var str = "あんたは"+document.forms[0].elements.i0.value+"だな。\n";
var elt = document.getElementById('p0');
while(elt.childNodes.length > 0) elt.removeChild(elt.firstChild);
elt.appendChild(document.createTextNode(str));
}
</script>
</head><body>
<form action="#"><p><input type="text" name="i0">
<input type="button" name="b0" value="設定" onclick="chg()"></p></form>
<p id="p0">ここが変わります</p>
</body></html>
916 :
914 :02/05/19 23:21 ID:dy+6MajI
>>915 さん
無事思い通りに表示することができました。
ありがとうございました。
>>907 > 派生クラスは固有のlengthプロパティを持つことができないのでしょうか。
JScript ではそうらしい。 ECMAScript 的には可能なはずだけれども。
オブジェクトのプロトタイプが Array.prototype を参照している場合に発生するようだ。
バグかJScriptの仕様かは不明だが、手元の IE6 でこんなコードを実行してみると false になる。
function SubClass () { this.length=100; }
SubClass.prototype = new Array(); // SubClass.prototype=Array.prototype でも同様
document.write( new SubClass().hasOwnProperty('length') );
これがどういうことかといえば、 var a=new SubClass() としたときに
a.length は常に SubClass.prototype.length を参照するということになる。
> どのようなコードでうまく動くのか見せていただけたらうれしいのですが...
<pre><script type="text/javascript">
function _Array () {
var a=arguments;
if ( a.length==1 && typeof a[0]=='number' && a[0]==parseInt(a[0]) )
this.length=a[0];
else {
for ( var i=0; i<a.length; i++ ) this[i]=arguments[i];
this.length=a.length;
}
}
_Array.prototype.push = Array.prototype.push;
_Array.prototype.join = Array.prototype.join;
// pop, shift, unshift, reverse, sort 等、以下同様
var a = new _Array('a','b','c','d');
document.writeln( a.join() );
a.push('e');
document.writeln( a.join() );
a[5]='f'; // この方法で要素を追加する場合は length が同期して変更されない
document.writeln( a.join() ); // 上手くいかない
a.length=6;
document.writeln( a.join() ); // length を手動で変更してやれば上手くいく
</script></pre>
918 :
Name_Not_Found :02/05/20 20:18 ID:R2UP8VuI
マウスオーバーで画像が入れ替わるJavaScriptを探してるのですが、 いくつかサンプルを見ると微妙に違うようで・・・。 ●Netscape、IEのできるだけ多くのバージョンで動く ●もし動かない場合でもエラーが出ない ●他のブラウザでもできるだけ多くのブラウザで動き、なおかつ動かない場合でもエラーがでない というものを書きたいのですが、 とくに3番目について、とくに明言してるページがないので、どうしたものかと。。。 どうすればいいのでしょう?
> もし動かない場合でもエラーが出ない window.onerror = null; JavaScript1.1 以降。
try…catchステートメント
>>917 継承の利点がなくなってるし・・・駄目じゃん
>>921 プロトタイプを誤解しているからそう思うだけさ。
923 :
918 :02/05/21 03:23 ID:UOK+gnog
>>923 惜しい! typo かもしれないけど一応修正しとく。
× document.image
○ document.images
何故エラーが出るのかというと、存在しないプロパティにアクセスしようとするから。
document.images[theName] は document.images が存在しなければエラーになるし
document.images[theName].src は document.images[theName] が存在しなければエラー。
new Array() や new Image() もそれぞれ
window.Array, window.Image が Function オブジェクトとして存在しなければエラー。
>>786 で初心者に最適なJavaScriptの本の紹介をお願いした者です。
>>788 さんに紹介頂いた”丸の内とら『初体験JavaScript』”で勉強
しているのですが、分かりやすくて良いですね〜。ご紹介ありがとう
ございました。
ただ、
>>788 さんがおっしゃった通り誤植が多く(届いたのは初版 ToT)、
140ページの”form”が”dorm”になっちゃってるようなのは分かりやすい
のですが、P142の見積書のサンプルの変数の計算式が間違っている
(カッコの位置が間違っているため、計算が合わない)のはイタイです。
926 :
Name_Not_Found :02/05/21 12:11 ID:n8UI5R/A
TABLE内セルの内容をDHTML使って書き換えたいと思ってるのですが NN4.7でどうやればよいのか分かりません。 <TD>内で<SPAN>にidつけてposition:relativeにしてみましたが document.layers[id].write(text); 上手くいかないです。 (position:absoluteじゃないとwriteできない?) SPANを入れ子にするくらいしか思いつかなかったんですが 他に良い方法ありますか?
927 :
Name_Not_Found :02/05/21 12:20 ID:4ENntY+J
>>926 Layerの中にさらにdocumentオブジェクト入ってるんだよねー。だから
document.layers[id].document.write(text);
document.layers[id].document.close();
じゃないの?
928 :
Name_Not_Found :02/05/21 12:28 ID:n8UI5R/A
>>927 あ、書き間違えました。そうです。
それでもダメですけど
document.layers[id].document.open("text/html"); は?
930 :
Name_Not_Found :02/05/21 13:14 ID:n8UI5R/A
>>929 openとかcloseとかそういうレベルではないんですけど…
931 :
Name_Not_Found :02/05/21 13:25 ID:4ENntY+J
>>930 だったらどういうエラーが出ているの?layerがないっていう奴?自分は
spanでレイヤーを作ってみたことはないんで。divならposiiton:
relativeでもできたよ。
932 :
Name_Not_Found :02/05/21 13:33 ID:n8UI5R/A
>>931 エラーは何もでません。空白になってしまいます。
relativeをabsoluteに変えたら、ちゃんと書き換わります。
位置はabsoluteなところに飛んじゃいますが・・・
ちなみにDIVもSPANと同様です。もしよければ、どういうタグで
できたか教えていただけませんか?
933 :
Name_Not_Found :02/05/21 13:56 ID:4ENntY+J
>>932 いや、やってみたことがあるのはレイヤー作って色変えたりとか
だけです。今試してみたけど、確かにposition:relativeだと
documentをwriteすると真っ白になります。relativeだと内容を
書き換えて大きさが変わるとページの他の内容の配置し直しになる
けど、N4ではそれはサポートしていないので真っ白にするしかない
という感じかな?となると、差し替えたい内容が固定なら予め
別に用意して隠すとか、どうしても実行時にやりたいなら入力欄
にして書き換えるか、ページ全体をposition:absoluteで配置する
とかですかねえ。
934 :
Name_Not_Found :02/05/21 14:20 ID:VykOUb/d
エキサイトのテキスト翻訳
http://www.excite.co.jp/world/text/ で
カーソルを置いたら初期の文字が消えますが、それを使ってみたいので
過去ログを見ていたら5に同じ質問があり、返答として
<script language="JavaScript">
<!--
flag=0;
function doclear() {
if (flag==0) {
flag=1;
document.forms["world"].elements["before"].value = "";
}
}
//-->
</script>
<form name="world">
<textarea cols=40 rows=15 name="before" wrap="virtual" onclick="doclear();">こちらに翻訳
したい文章を入力してください。</textarea>
</form>
とありましたが、私の環境では動作しませんでした。
上記のソースに対する突っ込みも質問者の「成功しました」発言も無いので
どこがいけないのか分からず仕舞いです。
無知ながら自分で少しいじってもやはりダメでした…
うまく動作させるにはどうすればいいでしょうか、よろしくお願いします。
935 :
934 :02/05/21 14:25 ID:VykOUb/d
すみません、 『カーソルを置いたら”テキストエリアの”初期の文字が消えますが』です。 ご教授お願いいたします。
936 :
Name_Not_Found :02/05/21 14:34 ID:n8UI5R/A
>>933 relativeで書き換えができないのが分かっただけでも
スッキリしました。ありがとうございます。
ただ、差し替える内容は固定じゃないし、FORMも使えないんですよね。
いろいろ試してみます。
937 :
Name_Not_Found :02/05/21 14:51 ID:4ENntY+J
>>934-935 あのー、onclickで指定してるので、「クリックしたら」消えるのでは?
フォーカスが入った時に消したければonfocusで同様に指定すればいいでしょ。
relativeでもていうか書き換えられてはいる。 リサイズすると出てくると思う。 ていうか、書き換えるとなぜかabsoluteの0px,0pxに表示されている模様。
これで試してみ。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html lang="ja-JP"> <head> <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"> <script type="text/javascript"> <!-- function fn(){ document.layers["test"].document.open("text/html"); document.layers["test"].document.write("いいいいい"); document.layers["test"].document.close(); } //--> </script> <title>あああ</title></head> <body marginheight="0" marginwidth="0"> <table border="1" cellspacing="0" cellpadding="0"> <tr><td> <div name="test" style="position:relative">あああああ</div> </td></tr> <tr><td>あああああ</td></tr> </table> <form action="#" name="frm1" id="frm1" method="POST"> <input type="button" name="a" id="a" value="あああ" onclick="fn();" onkeypress="fn();"> </form> </body> </html>
940 :
Name_Not_Found :02/05/21 15:15 ID:4ENntY+J
>>938-939 確かにリサイズすると出て来るねえ。バグでしょうね。どうやったら
ユーザがリサイズしなくても出て来るようになるかな…
941 :
Name_Not_Found :02/05/21 15:21 ID:n8UI5R/A
>>938-939 なるほど。「できない」のではないんですね。
元々のsourceでもリサイズすれば出るのを確認しました。
でもresizeBy(0,0)しても変わらないんですよね・・・
window.resizeBy(1, 0); setTimeout(window.resizeBy, 0, -1, 0);
943 :
Name_Not_Found :02/05/21 16:05 ID:4ENntY+J
>>942 setTimeoutってそういう風に使えるんだ! 自分はこれまではいつも
setTimeout(function() { window.resizeBy(0, -1); }, 0);
みたいに関数リテラルをかましてたけど。
>>943 JavaScript のみね。 JScript では不可。
JScript の場合 setTimeout の第3引数は、第1引数のコードの言語名。
JScript の場合てゆーか IE の window.setTimeout の場合か。
946 :
934 :02/05/21 16:34 ID:4P8vLFHY
>>937 いえ、クリックしても文字列は消えずに残ったままなのです。
フォーカスではなくクリックで消したいのですが、
今の私の知識ではどうにもこうにもなんともなりません...
ほんとにどうすればいいのでしょう..よろしくお願いします;;
>>946 name のかぶってる要素とか入れたりしてない?
948 :
Name_Not_Found :02/05/21 16:50 ID:n8UI5R/A
>>934-935 IE5.5とNN6は大丈夫だったけど
NN4.7じゃ消えなかった(textareaにonClickだめかも)
あなたの使ってるブラウザは?
>947 はい、入れていません。 何が原因か分からないと思い付き、試しに基本的なタグ以外なにも使わず 先述のソースを試しても駄目でした。 >948 Mac IE5です。 エキサイトのテキストエリアは正常に動作しているので、これはやはり 私の間違いしか理由がないのでしょうか...泣けてきます。
スタイルシートを使わずに テーブルの縦に1ピクセルの線を引く方法を教えてください <TABLE border="1" cellPadding="0" cellSpacing="0" width="90%"> <TR> <TD rowspan="4" bgcolor="green" width="1"> <IMG border="0" height="1" src="1px.gif" width="1"> </TD> <TD>ほにゃらら1</TD> </TR> <TR><TD>ほにゃらら2</TD></TR> <TR><TD>ほにゃらら3</TD></TR> <TR><TD>ほにゃらら4</TD></TR> </TR> </TABLE> としたのですが、ネットスケープ4.6では1ピクセルになりません 画像で <IMG border="0" height="100%" src="green.gif" width="1"> も試してみましたが、これもNNでは100%を理解してくれません どうぞ、良いアイデアをください
あっ スレ間違った ごめんなさい! ・・・・逝ってきます
952 :
Name_Not_Found :02/05/21 18:09 ID:h4UN6LBz
教えてください。 項目が未入力だった場合に、エラーとてフォーカスを維持しようとしているのですが NN6などではうまく動きません... 仕様を満たす解決策があったら教えてくださいまし.... --- <html> <head> <script language="javascript"> function check(obj) { var s; s = obj.value; if ( s.length == 0 ) { alert("エラーです"); obj.focus(); } } </script> </head> <body> <form name="form1"> <br> 項目<input type="text" name="t1" onblur="check(this);" value=""> <br> 項目<input type="text" name="t2" onblur="check(this);" value="" > </form> </body> </html>
>>952 onblurでfocus()を呼ぶことに問題があるのではないでしょうか?
一つ間違うとブラクラですし…
それを回避するためにMozillaでは動かないのだと思います。
950を突破しましたね。もう新スレですか
954 :
Name_Not_Found :02/05/21 19:28 ID:FjXH4ETM
955 :
953 :02/05/21 20:11 ID:uYmczkxw
ごめんなさい。ただのバグでしたね。 Mozilla1.0で直るみたい
ていうか
>>952 のはすでにブラクラ。
t1 から t2 にフォーカス移すと(以下略。
直るにせよ直らないにせよ、そのロジックは考え直した方がいいよ。
957 :
956 :02/05/21 20:21 ID:JYEv5CTf
間違えた。 alert() 入れてるから大丈夫か。
>>956 あぼーんでよろしく。
958 :
Name_Not_Found :02/05/22 11:11 ID:Q58C5R1V
広告などが入ったウインドウがスクロールに合わせてついてくる サイトを教えてください。 そのやり方が載ってるサイトがあればもっとうれしいです。
959 :
Name_Not_Found :02/05/22 11:15 ID:h0m8QVl2
__________ | | | 1000 | |_________| | | |⊂(´<_`⊂⌒`つ≡≡≡
サイズを指定して新しいウィンドウを表示させたいです。 テキストにリンクを貼って、新しいウィンドウでは画像だけを表示させたいのですが、 リンクをクリックすると新しいウィンドウは出てくるのはいいものの、 元のテキストのページが最上部に戻ってしまいます。 テキストのリンクで、テキストページを移動させずに 新しいウィンドウを表示させることは可能なのでしょうか? 検索エンジンで探しますが、なかなかサンプルに出会えません。 2ちゃんの力を貸してください。m(_ _)m
961 :
960 :02/05/22 11:22 ID:9xxqkj/r
↑サイズを指定して、画像の大きさぴったりにウィンドウを開きたいです。
>>961 <a href="#" onclick="window.open(...);return false;">リンク</a>
ということかな? ポイントは return false; 。
window.open(...) の部分は出来てるみたいだから省略。
963 :
960 :02/05/22 12:00 ID:9xxqkj/r
964 :
Name_Not_Found :02/05/22 12:55 ID:iW9pNDvd
>>963 日本語がかんぽきじゃないようだな…
>>958 こういうのかね。vol. 6あたりでガイシュツな例。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<style type="text/css">
#d0 { position: absolute; z-index: 5 }
</style>
<script type="text/javascript">
var unit = 'px', ref = window, refx = 'pageXOffset', refy = 'pageYOffset';
function init() { // initialize...
if(document.all) { // prepare for IE
ref = document.body; if(ref.parentNode) ref = ref.parentNode;
refy = 'scrollTop'; refx = 'scrollLeft';
}
if(!document.getElementById) { // prepare getElementById
document.getElementById = function(id) {
var e = document.all ? document.all[id] : document[id];
unit = ''; if(!e.style) e.style = e; return e;
};
}
bar = document.getElementById('d0');
setInterval(alwaystop, 100);
}
function alwaystop() {
bar.style.left = ref[refx]+unit; bar.style.top = ref[refy]+unit;
}
</script>
</head><body onload="init()">
<div id="d0">This is a pen.</div>
<pre>
test...test...test...test...test...test...test...test...test...test...
test...test...test...test...test...test...test...test...test...test...
...
</pre>
</body></html>
965 :
Name_Not_Found :02/05/22 14:01 ID:0YGpG8LK
フロントページ2000でWEBページを製作していてプレビューしたら 「JAVAスクリプトエラー Nullまたはオブジェクトはエラーです」 みたいなのが出てくるのですが原因と解決法はなんなのでしょう? 思い当たるふしはないのですが…。
966 :
Name_Not_Found :02/05/22 14:10 ID:iW9pNDvd
>>965 FP2000が生成するJavaScriptコードとブラウザとの相性でしょ。ブラウザ
は何ですか。またエラーの出ている個所のコードを貼ってもらうと分かる
場合もありますけど、いちいち手で直すんじゃ大変だからFP2000のサポート
に相談したら?アップデートとか出てるかもよ。
967 :
952 :02/05/22 15:26 ID:CcIfYCgs
setTimeout()でガイシュツでした...スマ千(汗) 一応解決ちゅーことで、ありがとございますた...m(_ _)m -- <html> <head> <script language="javascript"> var current_form = ""; var current_field = ""; function check(obj) { if ( current_field == "" ) { current_field = obj.name; current_form = (obj.form).name; } if ( current_field == obj.name ) { var s = obj.value; if ( s.length == 0 ) { alert("エラーです。" + obj.name); setTimeout("document." + current_form + "." + current_field + ".focus()", 500); return false ; } else { current_field = ""; } } return true; } </script> </head> <body> <form name="form1"> <br> 項目<input type="text" name="t1" onblur="check(this);" value=""> <br> 項目<input type="text" name="t2" onblur="check(this);" value="" > </form> </body>
968 :
Name_Not_Found :02/05/22 15:37 ID:iW9pNDvd
だいぶ1000が近付いて来たねえ。980を踏んだ人が次を建てるって いうのでどうかね?
スレ建てしても良いけど、テンプレくれくれ。 多分建てれるけど 回線の遅さで 2getされると鬱になるし(w
>>917 ありがとうございます。よくわかりました。あまり実用的ではなさそうですね。
ある本で、この辺が原因で動かないスクリプトがありましたもので...
結局は、pushメソッドを使わずに配列の最後尾に代入ということで回避しました。
━━━━━JavaScript質問スレ道場訓━━━━━
一、礼節を重んじ常に努力精進すること
一、ブラクラに打ち勝つ精神力を持つこと
一、心身の優れたJavaScriptを学ぶこと
一、雑草の如く生涯JavaScriptを貫くこと
一、感謝と反省を忘れないこと
以上
━━━━━━━━━━━━━━━━━━━━━━
このスレに書き込むことが許されるものは以下のとおり
・スクリプトを組むための最低限のHTMLを理解する者
・スクリプトを組むための最低限のCSSを理解する者
・JavaScriptとJavaの違いを理解する者
・ユーザーに迷惑となるスクリプトを書かない者
・過去ログを読むことができる者
前スレ(vol.9)
http://pc.2ch.net/test/read.cgi/hp/1017668857/l50 過去ログ・その他質問スレは
>>2-4
975 :
Name_Not_Found :02/05/22 20:49 ID:e5xGj3xk
フレームを使ってサイトを右と左の横二分割にしました。 右側には画像A、左側には画像Bを表示させている時、 右にある画像Aにマウスを合わせると 左にある画像Bが別の画像Cに変化するようにしたいのです(マウスを離すと元に戻る)。 こういった事はJavaScriptで可能ですか? 可能であればもう少しなんとか頑張って調べたいと思います。
976 :
Name_Not_Found :02/05/22 20:59 ID:M2brZdoH
リロードする度にフラッシュを変えたいんですが どういうスクリプトを書けば宜しいでしょうか? aaaa.swf bbbb.swf cccc.swf という感じで、ローテーションさせたいのですが。
>>975 javascript 別フレーム 画像変更
のキーワードでgoogle検索どうぞ。見つかるよ
>>976 アクセスするたびに a→b→c→a→ ですよね。
クッキー使えばできそう。
私は達人じゃないのでスクリプトを書く自信なし
リーチ!
980 :
Name_Not_Found :02/05/22 23:30 ID:ili/e9Zg
今からたてまーす!
987 :
次スレ :
02/05/25 13:24 ID:LXDWHmWv