JavaScript の質問用スレッド vol.11
1 :
Name_Not_Found :
02/07/14 10:47 ID:nd0I0SZz + JavaScript の質問用スレッド vol.11 +
━━━━━JavaScript質問スレ道場訓━━━━━
一、礼節を重んじ常に努力精進すること
一、ブラクラに打ち勝つ精神力を持つこと
一、心身の優れたJavaScriptを学ぶこと
一、雑草の如く生涯JavaScriptを貫くこと
一、感謝と反省を忘れないこと
以上
━━━━━━━━━━━━━━━━━━━━━━
このスレに書き込むことが許されるものは以下のとおり
・スクリプトを組むための最低限のHTMLを理解する者
・スクリプトを組むための最低限のCSSを理解する者
・JavaScriptとJavaの違いを理解する者
・ユーザーに迷惑となるスクリプトを書かない者
・過去ログを読むことができる者
前スレ(vol.10)
http://pc.2ch.net/test/read.cgi/hp/1022077876/l50 過去ログ・その他質問スレは
>>2-4
終了
3 :
Name_Not_Found :02/07/14 10:48 ID:nd0I0SZz
4 :
Name_Not_Found :02/07/14 10:48 ID:nd0I0SZz
5 :
Name_Not_Found :02/07/14 10:48 ID:nd0I0SZz
∋oノハo∈ 〜oノハヽo〜___ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
(;^▽^)____ ___ (^▽^ ,) //| < [問題] かおりん祭りの台詞はどれ?
( />── > <──<\⊂ へ ∩)//||| \__________________
|_< / /\ !|!| !/\. \,>'(_)i'''i~~,,,,/
┃┗UU‖ ̄ ┌────┐  ̄|| ̄(_) ̄~||~ ̄
┃ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\
━━< 問題: かおりん祭りの台詞はどれ? >━━
\___________________________________/
/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\
━━< A: 新スレおめでとうございまーす♪ B:インターコンチネンタル王者 >━━
\___________________/ \________________/
/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\
━━< C:
http://medetai.kakiko.com/kopipe/shr.htm D:DISCを一枚このわたしに! >━━
\___________________/ \________________ /
7 :
◆CGIh1pXc :02/07/14 10:49 ID:nd0I0SZz
∋8ノハヽ8∈ _ ( ^▽^)◎ <新スレおめでとうございまーす♪ //\パカッ! /つ旦く | ̄|[■XXXXXXX>〓(_)_) | || ̄|| (ノ ヽ) | ||||| | || ゚~|| ・・・ 新スレれす | ||┬|| ∂ノハ∂ | ||│|| ( ´D⊂ゝノ⌒ヽ、 | ||○|| ( ̄c'入 ノノ⌒" ) \!||三|| (⌒⌒⌒⌒⌒⌒~\ノ⌒⌒)
終了
すみません、色々探したのですが、自分の思っていることができるサンプルなどがなかったので ここで質問させて頂きたく思います、あまりJavaScriptについて理解しているとは言えないのですが、宜しくお願いします クリッカブルマップのリンクのほうにマウスを乗っけると、"ここの画像を変えたい.jpg"が それぞれ"no1jpg","no2.jpg"に置き換わるようにしたいのです また、クリッカブルマップのほうをクリックすると普通に別のページに飛ぶようにしたいのです <IMG SRC="./hogehoge.jpg" UseMap="#select" Border="0"><BR> <Map Name="select"> <Area Shape="Polygon" Coords="10,10,10,20,20,20,20,10" Href="./no1.htm">←ここに乗っけるとno1.jpg <Area Shape="Polygon" Coords="30,10,30,20,40,20,40,10" Href="./no2.htm">←ここに乗っけるとno2.jpg <Area Shape="Polygon" Coords="10,30,10,40,40,30" Href="./no3.htm">←ここに乗っけるとno3.jpg </Map> </TD><TD><IMG SRC="./ここの画像を変えたい.jpg"></TD></TR></Table> また、普通のIMGタグの時のサンプルはかなり見つかったのですが、クリッカブルマップの時などの サンプルが見つからなかったので・・・・ できればご教授いただきたいのです、宜しくお願いします
function sage(s){ document.images[1].src=s; } <area 中略 onMouseOver="sage('no1.jpg')" onMouseOut="sage('ここの画像を変えたい.jpg')"> <area 中略 onMouseOver="sage('no2.jpg')" 中略 <area 中略 onMouseOver="sage('no3.jpg')" 中略
ページ先頭で、それ以降のJavaスクリプトを実行不能に指定したいと思います。 可能でしょうか?
16 :
13 :02/07/14 13:34 ID:???
>>14 キタ━(゚∀゚)━( ゚∀)━( ゚)━( )━(゚ )━(∀゚ )━(゚∀゚)━━!
有り難う御座います!!!出来ましたッス!!
ちょっち感動して涙こぼれそーです
本当に有り難う御座いました
うんこ
>>15 はきっと広告を出すJavaScriptを無効化させたいのだろう。
>>15 var gomiscript = getElementByTagName('SCRIPT');
for(var i=0;i<gomiscript.length;i++){
gomiscript.item(i).innerHTML = '';
}
↑動かない予感。もっとスマートなやり方があるはず。
クリッカ ブルマ ップ
過去ログが全部(1-9)見れない……なんでだ?
24 :
23 :02/07/15 01:05 ID:???
過去ログについては定期的に突っ込まれる予感。
ていうかそもそも
>>2-10 ぐらいに余裕持たせとかな。>1
過去ログ貼り間違えるってなかなか出来んぞ。 特にvol.9は生きてんだからなぁ。
>>25 意図的に数字を一桁ずつ変えてあるとしか思えんが。
過去ログ貼ったの
>>1 じゃないね。
これも一種の荒らしなのか?w
>>27 やっぱ荒らしでしょう。新スレを立て直してちゃんと2〜10まで
できたことを確認後、このスレは削除依頼するということでどう
ですか?
>>28 読めないって言われてから
>>23 を指示すればいいんじゃない?
part11まできて過去ログ全部読むのは酷だしgoogleで引っかかってくれりゃいいよ。
30 :
Name_Not_Found :02/07/15 11:27 ID:Au5/f/Gx
>>29 了解しましたー。
>>15 たとえばwindow.open()を潰すだけなら次のでできたよ。色々つぶし
まくれば実質JavaScriptで何もできなくさせられるんじゃないかな。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
window.open = new Object();
</script>
</head><body>
<a href="javascript: window.open('
http://www.yahoo.com/ ', '_blank')">Test</a>
</body></html>
アフォか。
アホちゃいまんねんパーでんねん…古いな。ちなみに次のような のもありかもよ。 for(var x in window) try { window[x] = new Object(); } catch(e) { }
そもそも広告消しするなよ…
34 :
Name_Not_Found :02/07/15 14:49 ID:0M0mgpxR
戻り値を2つ渡す場合どうすればいいんでしょう? function hogehoge() { ・・・ return(a, b) } tmp = hogehoge(); じゃあダメですよね。
>>8 手の込んだ莫迦レスお疲れさま。
もう氏んでいいよ。
37 :
Name_Not_Found :02/07/15 18:11 ID:4DlVW03Y
>>34 惜しい。「reutrn [a, b];」にすればいいのに。使う方は
「tmp = hogehoge();」で取って「tmp[0]」「tmp[1]」を使う。
38 :
Name_Not_Found :02/07/15 18:13 ID:4DlVW03Y
>>37 わー!「reutrn」→「return」指が間違えるんだ! この指が! 指が!
39 :
Name_Not_Found :02/07/15 20:42 ID:81pmMroq
どなたかご助言お願いしますです。 newWindow.location.reload(); newWindow.focus(); 親ウィンドウと子ウィンドウがあって親ウィンドウで上記のようなことを やっているのですが、リロードだけされてフォーカスされません。 なぜでしょうか。宜しくお願いします。
40 :
39 :02/07/15 21:22 ID:???
ごめんなさい。reloadもされてなかったようなのでもうちょっと考えてみます。
>>37 へぇ〜!出来たんだ、戻り値2つって。今まで全然知らなかったんで参考になったよ。
34じゃないけどサンクス!
42 :
Name_Not_Found :02/07/15 22:44 ID:9DP67vJu
文字列の検索をしたいんですが nnn-nnn-nnn ID ZOEI9B6&43 のような特定の文字列+不定な文字列を 抜き出すにはどうしたらいいんでしょうか?
>>43 不特定の文字列を検索なんですが可能ですか?
[A-Za-z0-9]+だと上手く行かなかったのですができれば教えてもらえませんか?
47 :
Name_Not_Found :02/07/15 23:25 ID:5fS515J/
>>46 だからどんな形の文字列なのか説明してみれ。でないと回答しようがないでしょが。
>>47 すみませんチャットに電話番号を書かれるのを防ぎたいんです。
cgiがいじれないのでせめて投稿フォームで防ごうと
投稿フォームにelt.value = elt.value.replaceを使って電話番号が書き込まれると
違うものに置換しようとしていたのですが上手く行かなくて困っています。
>>48 漢数字とかで書かれたらどうするの?
全部ピリオドで区切ったりとか、平仮名・片仮名混ぜて書いたりとか。
また、電話番号でないものを意図して書いたのに、たまたまその正規表現のパターンと一致したら?
と考えると、あんまりその方策は有用でもないような…
50 :
Name_Not_Found :02/07/16 01:38 ID:f3I9fYrI
>>49 幾つか取れる対策のうち一つとしたいのでできれば教えてもらえないですか?
電話番号は桁数がある程度決っているから方法は取れなくもないと思うのです。
自分もあれからいくつか考えてみたのですが「-」が入る部分をクリアする方法がわかりません。
IPで弾くのが1番なんですがどうも方法がわからなくて
とりあえずアクセスログは取れるようにしたんですが…。
>>48 何をはじいてるかがソース見ればバレバレなのが心配。
if(elt.value.match(/[00][99][00][‐ー\-0-90-9]{8}/)) elt.value = "";
やるとしたらこうかなぁ。
多少の誤作動に目をつぶるなら /[‐ー\-0-90-9]{11}/ のほうが一般電話番号も網羅。
53 :
Name_Not_Found :02/07/16 03:51 ID:VHWBqUh3
クリッカブルマップの構成を動的に変化させることはできますか? areaの重なりの順序や座標値を、動的に変化させたいのですが…。
55 :
53 :02/07/16 04:27 ID:VHWBqUh3
>>54 個々のareaのプロパティは、
document.getElementById("test").coords
とか
document.getElementById("test").shape
等で参照できましたが、
重なりの順序をどう変えればいいのかが分かりません。
>>55 HTML 4.01の仕様には、こう書いてますよ。
> If two or more defined regions overlap,
> the region-defining element that appears earliest in the document
> takes precedence (i.e., responds to user input).
57 :
53 :02/07/16 04:51 ID:VHWBqUh3
複数のareaが記述された場合、先に記述されている方が上になる、 ということですよね。responds to user inputという意味が いまいちよく分かりませんが… その法則をふまえて、area間で、上にしたり下にしたり、を 動的に行いたいと思いまして。 いろいろ調べているうちに、 map配下のareaは"areas"で参照可能なことまでわかりました。 てっきり"area"で参照するのかと思ってダメだったので??だったのですが。 これをいじればなんとか出来そうですね。
58 :
わからん〜 :02/07/16 05:20 ID:bo+Ms3bF
<html> <head> <title>NEWPAGE!!!</title> </head> <body> <script language="javascript"> <!-- function i(){ window.open("game.swf","betu","width=400,height=330,scrollbars=no,status=no,resizable=no,toolbar=no,location=no,menubar=no"); } --> </script><A HREF="javascript:i()">インベーダ</A> </body> </html> もう1つ別ウインドウをひらかせるにはどうしたらいいんでしょうか? リンク先だけ変えてもうまくうごかないんですけど。
やーいやーい、2chでしか大きい口叩けない負け犬〜 気持ち悪いんだよお前よ〜 臭ってくるんだよ、たまには風呂入れよ〜 やーいやーい 親の金でネットなんかに繋いでんじゃねーよ やーーい 2chでしか相手にされない社会不適合者やーーーい 内気でねくらでコンビニですらまともに買い物できない引きこもりやーーーい 人の目をみて会話できないとんまやーーーい あれあれあれーー?痛いところ突かれて悔しいのかなぁーー?顔真っ赤にしちゃってぇ 更に荒らしに力を入れるのかなぁぁ? それともこんなありがたいレスをもらって、飛び上がって喜んじゃってるのかなぁぁぁぁ??
60 :
Name_Not_Found :02/07/16 07:06 ID:tfBncBVf
>>58 その「"betu"」というウィンドウ名をさらに別の名前にしたまへ。
または常に新しい窓を開くのなら「"_blank"」とする。
61 :
Name_Not_Found :02/07/16 07:41 ID:tfBncBVf
>>57 DOMでarea要素の順番を入れ替えたら確かに重なり順も変わる
ようだよ。Mozillaで確認した。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function rot() {
var m1 = document.getElementById('m1');
var a1 = m1.firstChild; m1.removeChild(a1); m1.appendChild(a1);
}
</script>
</head><body>
<p><object data="test.png" usemap="#map1" alt="image map"></object></p>
<p><a href="javascript: rot()">rotate</a></p>
<map name="map1" id="m1">
<area id="a0" href="
http://www.yahoo.co.jp/ " alt="yahoo"
shape="rect" coords="0,0,100,100">
<area id="a1" href="
http://www.goo.ne.jp/ " alt="goo"
shape="rect" coords="20,20,120,120">
<area id="a2" href="
http://www.infoseek.co.jp/ " alt="infoseek"
shape="rect" coords="40,40,140,140">
</map>
</body></html>
置換する項目(C→D、E→F)を増やしたいのですが どう書けばよろしいでしょうか if (document.all && document.all.D1) { document.all.D1.innerHTML = document.F1.T1.value.replace(/A/g,"B" );
63 :
Name_Not_Found :02/07/16 13:47 ID:HliHsqgv
>>62 ちょっとでも自分で考えようという気はあるのか。何か考えたことは
あるんでしょ?何も考えてないようなら教えたくもない感じ。
>>63 すいません、一応自分では
document.all && document.all.D1&& document.all.D2&& document.all.D3
としてみたんですが動かなかったので違ってますよね
documentについてはリファレンスを読んだんですが
応用の仕方がわからなかったのでここで質問をしました。
65 :
Name_Not_Found :02/07/16 14:11 ID:HliHsqgv
>>64 あのお。D1、D2、D3とあるということはフィールドが3つあるのですか。
1つのフィールドについてAをB、CをD、EをFに置換したいのだ、という
風に理解したのだけど違っているの。「if(...)」という行とその次の
行とがそれぞれ何をやっているか分かっていますか?
>>65 はい、一つのフィールド内での置換のつもりでした。
Dはdocumentと言う意味だから置換する項目を増やすんだから
documentを増やせば良いやと言う感じでやったんです。
67 :
Name_Not_Found :02/07/16 15:30 ID:HliHsqgv
>>66 テキトに類推で直してもプログラミングは絶対に完成しません。
先の2行のうちif文は「これこれの条件のとき次の行を実行」という
意味になっていて、ここでは「ブラウザがIEで要素D1がある」という
条件。次の行の「=」の右側で値を計算し、それを左側の場所にセット。
で、右側ですがフォームF1のフィールドT1の値をとってきて、
「replace(/A/g, "B")」ですべてのAをBに置き換えている。だからさらに
置き換えたければこの結果に対して次のreplace()を書ければよい。
「…value.replace(/A/g, "B").replace(/C/g, "D").replace(/E/g, "F");」
こうなるわけだ。お分かりにならなければどっかよそで勉強してきて。
62=64=66が何をやりたいのかさっぱりわからんのですが漏れがバカなんですか?
69 :
Name_Not_Found :02/07/16 15:34 ID:HliHsqgv
>>68 いいえあなたは正常です。DQNプログラマ(?)の相手に慣れている自分が異常なだけ。
>>67 ご指導ありがとうございます。
改造に手を出すのはもう少し勉強にしてからにします。
71 :
Name_Not_Found :02/07/16 19:09 ID:bzeGyvVj
A・B・Cの3ページのフレーム構成の画面で A窓にhistory.back()のスクリプトを貼り付けて B窓のみに対してだけ有効にしたいです。 <a href="javascript:history.back()" target="B"> このようにターゲットを指定するだけだと全部の窓で有効になってしまいます。 どこが悪いのでしょうか?教えてください。お願いします。
>>71 historyオブジェクトはwindowオブジェクトの子。
window.history.back();
とかが正しい書き方になる。
後は試行錯誤してみれ。
73 :
Name_Not_Found :02/07/16 19:23 ID:HliHsqgv
>>72 そんな中途半端な…
>>71 だからフレーム(ないしウィンドウ)名が「B」なら、その
ウィンドウオブジェクトは「top.frames.B」で取れる。よって
<a href="javascript:top.frames.B.history.back()">
になるわけ。なお、上記はトップレベルのフレームないし窓の
場合で孫フレームとかだともうちょっと構造に従って書く必要
がある。なおHTMLのtarget属性はJavaScript側にとっては無関係。
このスレにノートンが反応。どのレスを誤認識したんだ?
75 :
57 :02/07/17 02:32 ID:???
>>61 サンプルありがとうございます。
mozillaってnameとidを区別するんですね。
usemapのところをidにしていて、
IEなら希望どおり動くのに何故Netscapeはダメなのか?
と思っていたところでサンプルを拝見して解決できました。
ありがとうございました。
76 :
Name_Not_Found :02/07/17 07:40 ID:Ov24Q7Fa
そもそもidとnameは別のものなのに一緒くたにするIEが悪い。
77 :
71 :02/07/17 10:56 ID:o/PO+jcd
>>72 >>73 回答ありがとうございます。
しかしなぜかうまくいきません。
「アクセスが拒否されました。」とエラーがでます。
どこが悪いのでしょうか。
フレームの構成
<frameset cols="100,300,*" rows="">
<frame src="a.htm" name=A>
<frame src="b.htm" name=B>
<frame src="c.htm" name=C>
</frameset>
"a.htm"に書く内容
<a href="javascript:top.frames.B.history.back();">back</a>
>>77 フレームBに別ドメインのページ表示させてからBackさせようとしてるなら
アクセス拒否がでるのは仕様。あきらめてブラウザの戻るボタン。
79 :
77 :02/07/17 12:51 ID:???
>>78 仕様ならしょうがないですね。
あきらめます。
ありがとうございました。
80 :
34 :02/07/17 16:28 ID:PRn7DIg5
>>37 遅くなりましたがありがとうございました。
配列を使うのですね。勉強になりました。
81 :
Name_Not_Found :02/07/17 16:41 ID:CcZApavX
こちらで質問してよいのかわからないのですがお願いします。 オンマウスオーバーで マウスを乗せると、画像がビーヨーンと横に長くなったり、 たとえばメニューのデザインをインデックスのような形にしているとして マウスを当てるとそのインデックスが飛び出したりするのは どうやったらできるのでしょうか?
>>81 document.getElementById("hoge").style.displayとか。.
83 :
Name_Not_Found :02/07/17 17:08 ID:iROkGda9
84 :
Name_Not_Found :02/07/17 17:32 ID:gMSwbJ2p
>>81 JavaScriptで任意のHTML要素の表示/非表示を切り替えたり、
位置指定している要素ならその位置を任意に変更したりできる
のは知っている?そういう機能があるなら質問内容のようなこと
はどうにでもできると思うよね…
スクリプトをOFFにすればいいだけの話ではないのか?
87 :
Name_Not_Found :02/07/17 18:01 ID:gMSwbJ2p
>>77-78 location.back()はできなくても「location.href = '行き先';」
でどこかへ飛ばすことはできるから、最初のフレーム内容に
「戻る」ことはできるよね。その辺で工夫して済ませられないかな?
88 :
Name_Not_Found :02/07/17 19:20 ID:A37lEvJ1
var x = new ActiveXObject("Msxml2.DOMDocument"); x.async = false; x.load("sample.xml"); これと同じ事をMozillaでやるにはどうすれば良いのでしょうか? 他のXMLファイルを読みこんで使いたいのです。
89 :
Name_Not_Found :02/07/17 19:59 ID:tUAw/tj4
>>88 自分はMozillaでやる場合は単に新しい窓かフレームにXML
ドキュメントを読み込ませて、document以下をたどっている。
窓が見えて欲しくなければ隠しiframeにでもすれば済む。
>>88 簡単に書くとこんな感じ。
var x = document.implementation.createDocument('', '', null);
x.addEventListener("load", documentLoaded, false);
x.load('sample.xml');
function documentLoaded(e) {
alert( x.documentElement.namespaceURI )
}
主な違いは、 loadが完了するまで処理を待つのではなく
loadイベント発生によって設定された関数が呼出されるという処理モデル。
なるほど、そうするのかー。勉強になるなー。
92 :
88 :02/07/17 20:31 ID:???
93 :
Name_Not_Found :02/07/17 23:44 ID:2t5xgc4T
フレームを使ったページで、メニューフレームを一時的に小さくして メインフレームを広く使えるようにしたいのですがうまくいきません。 いろいおr調べたり、resizeToで思いつく限りのことをやったのですが
94 :
Name_Not_Found :02/07/18 00:08 ID:qdxVliDc
ページを読み込む度にランダムでcssを変化させようと思っているのですが、 ran = Math.round(Math.random() * 100) % 2; if (ran == 0) { document.write("<link rel='stylesheet' href='0.css' type='text/css'>"); } else { document.write("<link rel='stylesheet' href='1.css' type='text/css'>"); } ではできませんでした。 というかなにか根本から間違っているような気がするのですが、ご指摘ください。
>>93 思いつく方向が間違ってる。フレームの大きさはframeset要素の
cols属性やrows属性で指定するとは思わなかった?
----main.html---
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
<html><head><title>???</title></head>
<frameset id="f0" title="main" cols="100,*">
<frame name="a" title="left" src="a.html">
<frame name="b" title="right" src="b.html">
<noframes><body><p>frame page...</p></body></noframes>
</frameset></html>
----a.html---
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function set(n) {
var f0 = top.document.getElementById('f0');
f0.cols = n + ',*';
}
</script>
</head><body>
<p><a href="javascript:set(50)">50</a></p>
<p><a href="javascript:set(100)">100</a></p>
<p><a href="javascript:set(150)">150</a></p>
</body></html>
---b.html---
(適当にどぞ)
96 :
Name_Not_Found :02/07/18 00:22 ID:SZ9VVILW
>>94 できなかったとはどういうふうに駄目なの?そのコード、
<head>...</head>の中に書いてあるよね?
97 :
93 :02/07/18 00:53 ID:qdxVliDc
>>96 うわ〜ごめんなさい!!
0.cssと1.cssの内容が同じでしたw
ご回答ありがとうございました・・・。
98 :
Name_Not_Found :02/07/18 00:56 ID:isTg47TJ
そういう時は「逝って来ます」だろ…
掲示板の機能に良くあるhttpを含む文章を 書き込むと自動的にリンクにかえるあれをやろうとしているのですが フォームに書かれた文章からhttpからhtmlまでを抜き出して アンカータグに入れ込む事は出来たんですが よくよく考えるとhtmlで終わるURLなどほとんど無いわけで… 文中からアドレス等を検索する方法を教えてください。
101 :
93 :02/07/18 02:21 ID:???
>>100 > フォームに書かれた文章からhttpからhtmlまでを抜き出して
ひょっとして indexOf とかで頑張ってる?
だったら正規表現(RegExp)オブジェクトを調べるよろし。
103 :
Name_Not_Found :02/07/18 09:02 ID:4bld2XtN
>>100 こんな感じかね。パターンがまだ足りない気がするけど…
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function chg() {
document.forms.f.elements.b.value =
document.forms.f.elements.a.value.replace(
/
http:[\.\/\%\&\+\-a-zA-Z0-9]+/g, '<a href="$&">$&<\/a>');
}
</script>
</head><body>
<form name="f" action="#"><p>
<textarea name="a" cols="40" rows="5"></textarea><br>
<textarea name="b" cols="40" rows="5" disabled></textarea><br>
<input type="button" value="変換" onclick="chg()">
</p></form>
</body></html>
104 :
81 :02/07/18 09:18 ID:WtTLArta
81です。 初心者なのでみなさんの回答の意味すらわからないような状態で・・・ すみません、それなのにこんなところにやってきてしまって・・・ M$とはなんでしょうか?どこかのサイト? もしサイトならちょっと勉強しに行って来ます・・・
105 :
Name_Not_Found :02/07/18 10:05 ID:3+1X0+KJ
>>103 修正してみた
document.forms.f.elements.a.value.replace(
/((?:http):\/\/(?:[\.\%\&\+\-\=\~\#\?\:\w])+)/g, '<a href="$1">$1<\/a>');
106 :
Name_Not_Found :02/07/18 11:29 ID:RJmaF0S3
>>104 「M$」はMS(Microsoft)を揶揄する書き方。「$」(お金)もうけに
ばっかり熱心だってね。まあそれはさておき、IE固有の機能とか
ならやっぱりMicrosoftのサイトに見にいくのが定番。自分では
Netscape/Mozillaと両方で動くものしか使わない方針だけどね。
107 :
Name_Not_Found :02/07/18 12:30 ID:e2xjJTtV
既出かもしれませんが教えてください。 HPを作って公開したらノートパソコンではみでて見づらいというメールがきました。 そこでjavaを使って画面の大きさによってページを変えることができる方法があれば教えてください。 よろしくお願いします。
108 :
Name_Not_Found :02/07/18 12:49 ID:RJmaF0S3
>>107 まず
>>1 を読め。JavaScriptのことをJavaと呼ぶ奴は
何も教えてもらえないだろう。でも特別に、「画面ないし
窓のサイズに応じて別のHTMLファイルに飛ばす」のは簡単
だということだけは教えておいてあげよう。
109 :
Name_Not_Found :02/07/18 12:55 ID:Nnhn2g6Q
ウィンドウのクライアントサイズを指定することはできないのでしょうか? document.body.clientWidth = 100; のようにできればいいのですが、Read Only ですので実際は出来ません。 画像(サイズは既知)を含む html を開いたときに、その画像が余白なし でぴったりに表示されるようにしたいのですが。
110 :
107 :02/07/18 13:04 ID:e2xjJTtV
>108 さん 失礼しました
111 :
Name_Not_Found :02/07/18 13:08 ID:eknMva8s
どうしても分からなくなりまして質問いたします。 まず下のを見てください。 ■□■□■□■□■□■□■□■□■□■□■□■□■□■□ <html> <head> <title>テスト</title> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> </head> <script language="JavaScript"> <!-- function calc(f) { kazu = f.form.KAZU.value; f.form.KOSU.value = Math.floor(kazu); } //--> </script> <body bgcolor="#FFFFFF" text="#000000"> <form method=POST target="down"> ■フォーム1 : <input type="text" name="KAZU" size="4" value="0" onKeyUp="calc(this)"> <input type="text" name="KOSU" size="4" onFocus="movefocus(this.form)" value="0"> </form> <form method=POST target="down"> ■フォーム2 : <input type="text" name="KAZU" size="4" value="0" onKeyUp="calc(this)"> <input type="text" name="KOSU" size="4" onFocus="movefocus(this.form)" value="0"> </form> </body> </html> ■□■□■□■□■□■□■□■□■□■□■□■□■□■□ 上の文を実行しますと、テキスト『KAZU』に入力した数字が隣のテキスト『KOSU』に出力されます。 なにが分からないかといいますと、上記の文ではformが二つあるのですが、どうやってフォーム1の『form』か、フォーム2の『form』かを判断しているのかが分からないのです。 バカみたいな質問なのかもしれませんが、手持ちの購読書ではどうしても分かりませんでした。 なにとぞ、お知恵を拝借いたしたく、よろしくお願いいたします。
112 :
Name_Not_Found :02/07/18 13:33 ID:ialxvOPB
質問させていただきます
JavaScriptは外部のファイルを読み込む事って出来ませんか?
例えば
ttp://www4.justnet.ne.jp/~worldwar/test_room/db.html これのデータの部分
shop[0][0] = "ラーメンハウス皇居";
shop[0][1] = "03-xxxx-xxxx";
shop[0][2] = "千代田区千代田";
shop[0][3] = "とろ肉ラーメン 数量限定";
shop[0][4] = "貴重なとろ肉";
shop[0][5] = "
http://aaa.co.jp ";
shop[0][6] = "ラーメン";
shop[1][0] = "ラーメン本舗森内閣";
shop[1][1] = "03-xxxx-xxxx";
shop[1][2] = "千代田区永田町";
shop[1][3] = "自公保ラーメンセット";
shop[1][4] = "鳥ガラスープがうまい";
shop[1][5] = "
http://bbb.co.jp ";
shop[1][6] = "ラーメン";
−−−以下略−−−
ここをエクセルのファイルから読み込めたら凄く便利だと思い、
調べまくったのですが、データの読み込みってどこにも見つからず、
もしかして出来ないのかとオモタ次第です。
113 :
Name_Not_Found :02/07/18 14:02 ID:RJmaF0S3
>>109 窓の大きさ変更は「window.reseizeTo(幅, 高さ)」。内側と外側の
大きさの差を計算して差し引く必要があると思うけど。
>>111 「calc(this)」とか「movefocus(this.form)」とかに注目。フォーム
部品のイベントハンドラ中では「this」はその部品オブジェクトを表し
ている。またそのformプロパティはその部品を含んでいるフォーム
オブジェクトを表している。これらを通じて「どのフォーム」かが渡され
ているわけ。
>>112 ExcelからXML形式で出力させて
>>88-90 のような方法にするとか。
またはCSV形式で出力させて適当なフレームに読ませて取るとか。
IE固有の機能でExcel形式そのまま読むのもあるようだけど自分は
使わないから知らない。
114 :
Name_Not_Found :02/07/18 14:40 ID:Nnhn2g6Q
>>113 タイトルバーやウィンドウの枠の大きさが変わることがあるのですが・・・
115 :
Name_Not_Found :02/07/18 14:49 ID:RJmaF0S3
>>114 いちどresizeTo()した後でbody.clientWidthとか調べたらどれくらい
差し引けばよいか分かるんじゃないでしょうか…
116 :
Name_Not_Found :02/07/18 14:57 ID:uj/06Pgh
フォーム欄に文字列を入力し、OKボタンをクリックしたら その文字列がダイヤログに表示されるようにするにはどうしたら良いのでしょうか? (例えばフォームにABCと入力してボタンを押したら、ダイヤログにABCと表示される)
<form> <input type="text"> <input type="button" value="button" onClick="alert(document.forms[0].elements[0].value)"> </form>
119 :
112 :02/07/18 16:21 ID:Mjxn53AM
113-118さんありがとう! データバインド<これで検索しまくってナイス処発見しますた!
120 :
Name_Not_Found :02/07/18 16:47 ID:ihG0mu97
HTMLページの整形をJSでしたいのです。 たくさんの変更をDOMですると遅くなります。 Element等としての変更でなく、単にソースをそのまま置換したりすることはできないのでしょうか。
121 :
111 :02/07/18 18:05 ID:eknMva8s
ありがとうございます。今のアドバイスを元に勉強してみますっ(^^)
122 :
Name_Not_Found :02/07/18 18:27 ID:RJmaF0S3
>>120 そういう時こそ、整形したい範囲をごっそりinnerHTMLプロパティ
から文字列として取り出し、適当に直して、またごっそり同じ
ところに書き戻すのがいいのでは。
123 :
Name_Not_Found :02/07/18 19:17 ID:OVzWyI7H
>>90 そういう事も出来るのか〜と思ってやってみたが、
出来ないっす。最新バージョンでないと使えないんですかね〜?
loadイベントは待てどくらせど発生しないし、XMLDocumentも空のまま・・・
124 :
Name_Not_Found :02/07/18 20:29 ID:BQTwHS0h
>>123 MozillaかN6/N7ですよね? まさかN4じゃあ…
NS6でも対応しているのですね。 2倍ぐらい速くなった漢字。 でもタグ内のコードにも置換がかかるのが困る。
126 :
Name_Not_Found :02/07/18 20:46 ID:BQTwHS0h
>>125 そんな贅沢な…それならDOMでやるべきなんでは?どういう加工
をしているの?
127 :
123 :02/07/18 21:26 ID:???
>>124 Mozilla1.0RC2っす。
どっか間違えてるのかなぁ。もう一回書き直してみます。
128 :
123 :02/07/18 21:58 ID:???
jsファイルの呼び出し元もXMLファイルだったのが 原因のようでした。XMLに埋め込んだJavaScriptからは 別のXMLは呼べないんですかねぇ?
129 :
Name_Not_Found :02/07/18 23:10 ID:f2bMln3F
よろしく哀愁です。 var newWindow = window; function openWindow(url,width,height) { if (newWindow == window || newWindow.closed) { newWindow = window.open(url,"hoge"); } else { newWindow.focus(); newWindow.location.reload(); } return false; } こんなんやってます。ウィンドウ無かったら開いてあったら更新。 ただ、親をリロードしてしまうと、newWindowが初期化されてしまって、 開きなおしてしまうんです。newWindowの初期化の部分とnewWindow==windowの 部分はどっかから拾ってきたものなので、あんまり深い意味はわからないんですが、 どうにかして弟ウィンドウを開かずに兄ウィンドウを末永くかわいがって欲しいんです。 ご助言お願いしますです。
130 :
Name_Not_Found :02/07/18 23:48 ID:ZZ+zAXoD
>>128 そのXMLに埋め込んだJavaScriptコードそのものは動いて
いますか?window.alert()などで確認してみましたか?
>>129 そうね、変数に頼るのはリロードされると消えちゃうから
if(!top.frames.hoge || top.window.hoge.closed) {
newWindow = window.open(url, 'hoge');
} else {
newWindow = top.frames.hoge; newWindow.focus(); newWindow.location.reload();
}
とかかな。試してないケド。
131 :
129 :02/07/18 23:53 ID:???
>>130 ありがとうございますです。今ちょうど調べててhogeがフレームの名前だと
知ったところでした^^;。なるほど、フレームから辿って名前を参照できるんですね。
やってみまっす。助かりました。
132 :
Name_Not_Found :02/07/18 23:55 ID:ZZ+zAXoD
>>131 そうです。ちなみに
>>130 の「top.window.hoge.closed」は当然
「top.frames.hoge.closed」の間違いです。スマソ。
133 :
129 :02/07/19 00:17 ID:???
サンクスです。なんかうまく行ってないみたいですが、ちょっと考えてみます。
134 :
Name_Not_Found :02/07/19 01:40 ID:2HR9Nb5U
135 :
パイの魅学園 :02/07/19 01:41 ID:H+GoIimY
/ ̄ ̄ ̄ ̄ ̄ ミ
/ ,――――-ミ
/ / / \ |
| / ,(・) (・) |
(6 つ |
| ___ | / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| \_/ / <
http://csx.jp/~madrix/ /| /\ \__________
サンプル大量入手!!!
サイトを閉じると窓が開くじゃないですか。 その窓を閉めるとまた窓を開けるにはどうしたらいいのですか?
138 :
134 :02/07/19 01:57 ID:2HR9Nb5U
139 :
Name_Not_Found :02/07/19 02:01 ID:4NcvFZML
ある点が、areaの中かどうかを、jsで調べることなんてできませんよね?
サイトを閉じると窓が開くじゃないですか。 その窓を閉めるとまた窓を開けるにはどうしたらいいのですか? サイトを閉じると窓が開くじゃないですか。 その窓を閉めるとまた窓を開けるにはどうしたらいいのですか? サイトを閉じると窓が開くじゃないですか。 その窓を閉めるとまた窓を開けるにはどうしたらいいのですか?
141 :
Name_Not_Found :02/07/19 09:13 ID:4e1gb0cS
>>139 そのareaというのはクライアント側イメージマップのarea要素で
指定されている領域という意味?それとも単に自分で決めた多角
形などの内側という意味?単に多角形と点を与えて点が内側に入る
かどうか判断するだけならアルゴリズムがあるからその通りにコード
書けばできるよ。
>>128 …もしかして、スクリプトが注釈 <!----> の中に入ってる?
IEはそれで動くかもしれないけど、
Mozillaは注釈をそのまま無視してインタプリタに渡さない。
当然動かない。ウンともスンとも言わない。
だから、外部jsファイルで読み込むのが吉。
// CDATA区間にスクリプト入れると
// 構文エラーとか言い出しやがるIEって一体…。
143 :
Name_Not_Found :02/07/19 11:04 ID:aZd/oBF9
144 :
Name_Not_Found :02/07/19 11:13 ID:YifGtC5d
>>142 ちなみに規格としてはMozillaの解釈が正しいようですよね。
XML(とXHTML)では<!-- ... -->の中は本当に無視しなければ
いけない。だから自分はもう1年以上、スクリプトをコメント
で囲むのはやめている。いまどき囲まないとスクリプトが
見えちゃうブラウザなんてN4以上に捨てでしょ?見えたって
有害ってこたないしさ。
145 :
142 :02/07/19 11:15 ID:???
スマソ、
>>142 はウソかも。今試したらMozillaでも <!----> で動くっぽい?
146 :
Name_Not_Found :02/07/19 11:54 ID:YifGtC5d
>>145 なんと! CDATAで囲まなくても<!-- -->でもよくなっている。
知らなかった…
147 :
Name_Not_Found :02/07/19 12:30 ID:aZd/oBF9
複数の/.../gを使ったマッチングを同時に行って 検索結果をそれぞれ呼び出すにはどうすればいいでしょうか 単純に$を使って呼び出すとエラーが出て困っています。
148 :
Name_Not_Found :02/07/19 12:36 ID:YifGtC5d
>>147 「複数の/.../gを使った」という意味が分からない。その
エラーの出ているコードを貼ってみてくれないかな?
下の行を付け加えたらエラーが出るようになりました。 elt.value = elt.value.replace(/</g, '<'); elt.value = elt.value.replace(/ID:([\/\.a-z]+)/g, '$1<DD>');
150 :
149 :02/07/19 13:20 ID:???
<DD>を試しに<\/p>に代えたらエラーが出なくなりました <DD>タグはどうして使えないのでしょうか?
151 :
149 :02/07/19 13:27 ID:???
自己解決しました。 <DD>タグが使えないのは コードがある上下に<DL></DL>を置いていたためのようです。 こんなものに影響されるとは思ってませんでした。
152 :
Name_Not_Found :02/07/19 13:30 ID:YifGtC5d
154 :
Name_Not_Found :02/07/19 13:51 ID:/N9r3z8k
<input type="file" name="f" value=""> これを直接文字入力ができないようにしたい(参照のみで)のです。 onBlurやonFocusで試しましたが、うまくいきません。 (どうしても参照ボタンが使えなくなってしまいます。) とても未熟な質問だと思いますが、ご教授お願いします。
>>154 HTMLじゃねーか!
readonly 属性を入れれ。
156 :
Name_Not_Found :02/07/19 14:19 ID:YifGtC5d
>>155 readonlyにしたら参照ボタンも効かないだろ…
しかしJavaScriptでどうにかなる問題じゃあないような気がする。
154です。
>>155 readonlyはだめでした。
>>156 無理ですか・・他の方法考えるしかなさそうですね。
ありがとうございました。
158 :
Name_Not_Found :02/07/19 16:04 ID:YifGtC5d
>>157 そういえば前に入力欄の上に何か別のレイヤーかぶせて隠そう
としてる人がいたなあ。前すれか前々スレを探してみれ。
159 :
Name_Not_Found :02/07/19 16:22 ID:2vvZn9B1
>>154 <input value="hoge" onfocus="this.blur();">
こんなんじゃ駄目なの?
適当にしかチェックしてないけど
160 :
128 :02/07/19 19:13 ID:???
>>130 ,
>>142 alertで確認したので動いてるはずです。
コメントにもしてないっす。
1.0か1.1をダウソしてみることにします。
>>159 onfocus="this.blur();は
既に試しましたが、だめでした。
163 :
Name_Not_Found :02/07/19 20:02 ID:wCG8qMDS
>>160 手元にあるMozilla 0.98(古い!)で試したけど動いたよ?
<?xml version="1.0" encoding="iso-2022-jp"?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml11-strict.dtd">
<html xmlns="
http://www.w3.org/1999/xhtml " xml:lang="ja" lang="ja">
<head><title>test...</title></head><body>
<h1>テストです</h1>
<script type="text/javascript">
<!--
var x = document.implementation.createDocument(null, null, null);
x.addEventListener('load', loaded, false); x.load('なんとか.xhtml');
function loaded(e) {
var w = window.open('', '_blank');
w.document.writeln('<pre>'); show(w.document, ':', x);
}
function show(d, s, n) {
d.writeln(s + n.nodeName);
for(var i = 0; i < n.childNodes.length; ++i) show(d, s+':', n.childNodes[i]);
}
//-->
</script>
</body></html>
164 :
Name_Not_Found :02/07/19 20:09 ID:wCG8qMDS
>>163 XHTMLじゃなくXMLでも試したけど動いたよ。あ、文字コードは
自分はiso-2022-jpを使っているけど適当に修正してねー。
<?xml version="1.0" encoding="iso-2022-jp"?>
<list>
<test>これはテストです。</test>
<test>これもテストです。</test>
<script xmlns='
http://www.w3.org/1999/xhtml ' type="text/javascript">
<!--
var x = document.implementation.createDocument(null, null, null);
x.addEventListener('load', loaded, false);
x.load('なんとか.xml');
function loaded(e) {
var w = window.open('', '_blank');
w.document.writeln('<pre>'); show(w.document, ':', x);
}
function show(d, s, n) {
d.writeln(s + n.nodeName);
for(var i = 0; i < n.childNodes.length; ++i)
show(d, s+':', n.childNodes[i]);
}
// -->
</script>
</list>
>>163 センセイ!!
>>128 ということなんですが、それは xml として動かしたんですか?
166 :
Name_Not_Found :02/07/19 20:11 ID:OXEKf44/
1分遅かった鬱。
167 :
160 :02/07/19 21:07 ID:???
1.0ダウソしたけどXMLだとダメですた。
>>163 氏のを丸写ししてもXMLでは動かなかったっす。
163氏のMIMEtypeは"text/xml"とか"application/xml"っすか?
>>164 氏のも動かないっす。
164氏のは当然*/xmlっすよね。
なんでだ〜??設定も何もいじってないし、プロファイルも作り直したし、
インストールに失敗したんだろうか・・・
168 :
160 :02/07/19 21:20 ID:???
おお!164氏のがリロードしたら動いた! と思ったら :#document とだけ表示されて_blankのウィンドウがロードの途中で止まってしまう・・・? 動いたということはloadイベントは発生したんすね。 その後が謎っす。
169 :
Name_Not_Found :02/07/19 22:05 ID:g5o+92JK
>>168 x.load(...)でのファイル名の指定が間違ってるんじゃないの?
170 :
155 :02/07/20 00:21 ID:???
>>154 readonlyとか言った155です。.確認したら動かなかった。スマソ
今度は簡単にだけど、テストした奴。
<input type="file" name="f" value="" onkeydown="return false;">
で、どう?
171 :
Name_Not_Found :02/07/20 09:20 ID:7j8CqPzI
>>168 途中で止まってしまうわけじゃなく、「w.document.close()」を実行
してないからブラウザ側でまだ続きがあると思っているだけ。気になる
ならshow()を呼び終わった後で「w.document.close()」をしてくれたまへ。
172 :
Name_Not_Found :02/07/20 09:32 ID:/F73ee0j
いきなりですが、、、 MIME TYPE の video/mpeg と video/x-mpeg の違いは何でしょうか どなたかお願いします。。。
173 :
Name_Not_Found :02/07/20 09:36 ID:7j8CqPzI
>>172 激しくスレ違い。まずは初心者スレへ逝きたまへ。
154です。
>>170 うまくいきました。本当にありがとうございました。
175 :
厨房 :02/07/20 13:27 ID:???
初心者板で聞いたらこちらを案内されましたので書き込みします。 最近JavaScriptを勉強し始めたのですが、次の所でつまって どうしても前に進めません。 厨房にも教えていただける親切な方がいらっしゃいましたら教えて ください<(_ _)> 詰まっている所は次のフォームでサイズを選択してもらい、 もしOPTIONが”▼選択”のままでサイズを選択していない場合に アラートを出すようにしたいのです。 1番上のOPTIONが選ばれてたらアラートを出すのではなく、 ”▼選択”を選択していた場合にアラートを出す方法を 教えていただけないでしょうか? いろいろ調べて試行錯誤してみたのですが力不足のようで、 みなさまのお力が借りたく書き込みしました。 どうかよろしくお願いいたします。 <SCRIPT language="JavaScript"> <!-- function check(fm) { if (fm.size.options[fm.size.selectedIndex].value == "▼選択" ) { alert("サイズを選択してください"); return false; } } // --> </SCRIPT> <FORM name="checkfm" onsubmit="return check(this)"> <SELECT name="size"> <OPTION>▼選択 <OPTION>1 <OPTION>2 <INPUT type="submit" value="SUBMIT"> </FORM>
176 :
コギャルとHな出会い :02/07/20 13:29 ID:e+dD7fDY
>>177 textってやり方初めて知ったよ。
175じゃないけどサンクス。
179 :
厨房 :02/07/20 13:50 ID:???
>>177 できました!!
本当にありがとうございます。
3日間悩んで煮詰まっていたので、これでゆっくり寝られそうです。
submitって止められるのか… 初めて知った 何かに使えそうだ
181 :
Name_Not_Found :02/07/20 16:02 ID:jABgYDlg
>>180 onsubmitのところでチェックしてよくなければ止めるってJavaScript
で一番最初に使われ始めたところだと思うけどな…まあ活用してください。
俺もtextプロパティがあるって初めて知った……。
無料掲示板のヘッダ部分にJavaScriptを埋め込んで 本体の文字を置換させてたいと思っています 特定のタグ内に任意の文字列があったとき 置換するにはどのようにしたらいいでしょうか? よろしくお願いします。
184 :
Name_Not_Found :02/07/20 19:53 ID:5g6g7zkJ
>>183 「その置換の目的が無料掲示板の規約に反することを行うのでなければ」
教えてもいいです。どうなんですか?(それとも教えない方がいい?>>他の人)
そもそも
>>4 あたりのサイトを調べればすぐに分かる
186 :
Name_Not_Found :02/07/20 20:07 ID:5g6g7zkJ
>>185 そうですね。じゃあホレ。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
window.onload = function() {
var a = document.getElementsByTagName('p');
for(var i = 0; i < a.length; ++i)
a[i].innerHTML = a[i].innerHTML.replace(/鴎/g, '烏');
}
</script>
</head><body>
<p>これは鴎です。</p>
<div>これは鴎です。</div>
<p>これは鴎です。</p>
</body></html>
>>185-186 FAQを見たところ禁止はされていませんでした
どうもありがとうございました!
188 :
Name_Not_Found :02/07/20 23:52 ID:uyqM0D3x
web上で使用されているjavascriptをブラウザのvar毎に どう動作しるか、テストしてくれるサイトをご存知の神は 居られませんか?
190 :
Name_Not_Found :02/07/21 02:30 ID:m/hlok45
フレームAにあるスクリプトをフレームBから呼び出したり、変数をいじったりできますか? ざっと調べてみたのですが、そういった例が見つかりませんでした。 「無理」とか、「ここ見ろ」だけでも良いので、宜しくお願いします。
191 :
Name_Not_Found :02/07/21 03:06 ID:4DHiONbh
>>190 window.top.frames["A"].hoge("hogehoge");
こんな感じでフレームAのfunction呼べる。
変数も
window.top.frames["A"].hoge="hogehoge";
こんな感じでいじれる。
192 :
190 :02/07/21 03:13 ID:m/hlok45
>>191 できますた。俺がバカですた。愛すたます。
193 :
Name_Not_Found :02/07/21 04:02 ID:1VJF+ZQG
質問させて下さい。 オンマウスで画像がチェンジするっていうスクリプトがありますが、 ある画像に触れると、触れた画像と同時に(横に並んだ)もう一枚の画像がチェンジする…つまり同時に二枚の画像をチェンジさせるスクリプトのサンプルってありますか? また無ければ作成は可能でしょうか?
194 :
188 :02/07/21 04:03 ID:???
>>189 スマソ
verの間違え
versionのこと
>>193 > また無ければ作成は可能でしょうか?
可能。
>>193 理論的には可能だが、
今の君には無理だと思われる。
197 :
Name_Not_Found :02/07/21 08:23 ID:3mW30K0P
>>188 ずいぶん虫のいいことをやってくれるサイトだな…あれば自分が使いたい。
やっぱし自分でテストすべきブラウザを揃えるのが基本じゃないかな。
>>193 画像を差し替えるスクリプトの原理が分っていれば瞬時に作れる程度
に簡単。にも関わらず質問しているということで
>>196 の結論になった
ものだと思われ。1枚の画像を差し替えるスクリプトで自分が使っている
ものを改造しようと努力してみれ。その上で分らないところがあれば質問
したら教えてもらえるであろう。
198 :
193 :02/07/21 11:57 ID:f5Bdp45Q
>194 >195 >196 >197 ありがとうございました!画像を差し換えるスクリプト、、改造を頑張ってみます!
199 :
Name_Not_Found :02/07/21 17:35 ID:aRJPa8aU
>>199 そういう動作をするスクリプトを配布してるサイトがあるから
検索してスクリプトをダウンロードしる。
キーワードの例 JavaScript ポップアップ メニュー
201 :
168 :02/07/21 21:07 ID:???
解決しますた。javascriptから呼び出したXMLファイルの中に 更にjavascriptがあると正常にloadできないみたいっす。 HTMLで問題なかったのは、javascript無しのXMLを 呼び出したからでした。自分マヌケっす。おさわがせしますた。
202 :
Name_Not_Found :02/07/21 23:16 ID:C+cPrVtR
>>201 それは怪しいよう。
>>164 の例題は x.load(...) の中にその例題自身
のファイルを指定して試したんだけど、正常に表示されたよ?例題自身
ということは、当然中にJavaScriptコードが入っているわけなんだけど…
203 :
193 :02/07/22 03:15 ID:ZDRCyjVF
先日画像がオンマウスで二枚チェンジできるスクリプトを あるサンプルを改造してやってみました。 <SCRIPT Language="JavaScript"> <!-- function ChangePicture() { document.imgSample.src = "images/of1.gif"; document.imgSample2.src = "images/of2.gif"; } //変更後の画像のURLを記入します。 function Change01Picture() { document.imgSample.src = "images/on1.gif"; document.imgSample2.src = "images/of2.gif"; } --> </SCRIPT> <A HREF="./" onMouseOver="Change01Picture()" onMouseOut="ChangePicture()"> <IMG SRC="images/of1.gif" ALT="of1.gif" WIDTH="10" HEIGHT="10" BORDER="0" NAME="imgSample"></A> <A HREF="./" onMouseOver="Change01Picture()" onMouseOut="ChangePicture()"> <IMG SRC="images/of2.gif" ALT="of2.gif" WIDTH="10" HEIGHT="10" BORDER="0" NAME="imgSample2"></A> これでやっとこさできるようになったのですが… このチェンジする二枚の絵を一組として、2組・3組と変化するようにするにはどうしたらいいのでしょうか? 先程imgSample2.src の 2の数値を増やしてNAMEを変化させてみたのですが、動作が上手くいきません…。 二つのfunctionを1セットとして増やしてみても、一つの絵にオンマウスすると全ての画像があらぬ画像に変化してしまいます。 ご教授いただけると嬉しいです (;´Д`)
ブラウザによってCSSファイルを使い分ける方法を詳しく解説してるサイトってありますでしょうか?
205 :
Name_Not_Found :02/07/22 08:22 ID:H4/moN5Q
>>204 その内容だとCSS質問スレで聞いた方がいいんじゃないかな。
>>203 あなたの実力だと関数をコピーして増やす(画像1つにつき2つずつ
用意する)のが無難かも。ただ、関数を増やすときにちゃんと名前を
変えましたか。同じ名前のままコピーしたら2重定義で片方が無視され
ますからね。もちろん、imgタグのname属性の値も画像ごとに全部違う
ものにする必要ありますけど。
206 :
200 :02/07/22 09:08 ID:???
>>201 そうっすね、700行程の長〜いscriptだったんで、scriptがあったから
というより、特定のコードがあるとダメとか、そういうことかも
しれないっす。
207 :
204 :02/07/22 11:21 ID:???
>>205 CSS質問スレで聞いたらJavaスクリプトでしかできないようなのでこちらにきました。
自己改良乙彼。 がんがれ。 <SCRIPT Language="JavaScript"> <!-- function ChangePicture(_def,_cha) { document.images[_def].src = 'images\/'+_cha+'.gif'; } --> </SCRIPT> <A HREF="./" onMouseOver="ChangePicture(0,'on1')" onMouseOut="ChangePicture(0,'of1')"> <IMG SRC="images/of1.gif" ALT="of1.gif" WIDTH="10" HEIGHT="10" BORDER="0" NAME="imgSample"></A> <A HREF="./" onMouseOver="ChangePicture(1,'on2')" onMouseOut="ChangePicture(1,'of2')"> <IMG SRC="images/of2.gif" ALT="of2.gif" WIDTH="10" HEIGHT="10" BORDER="0" NAME="imgSample2"></A> <A HREF="./" onMouseOver="ChangePicture(2,'on3')" onMouseOut="ChangePicture(2,'of3')"> <IMG SRC="images/of3.gif" ALT="of3.gif" WIDTH="10" HEIGHT="10" BORDER="0" NAME="imgSample3"></A>
209 :
Name_Not_Found :02/07/22 12:00 ID:+SHO9BGm
>>207 そうでしたかー。じゃあこういうのがいいんじゃないのかな。
navigator.userAgentの文字列によって振り分け。分けたいブラウザが
新たに出て来たらそのつど枝別れを増やす。いちお、userAgent文字列を
表示させてるんで、不要になったらそこは削除。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
var ua = navigator.userAgent, css = 'default.css';
if(ua.match(/MSIE 6/)) css = 'msie6.css';
else if(ua.match(/MSIE/)) css = 'msie.css';
else if(ua.match(/Opera/)) css = 'opera.css';
else if(ua.match(/Gecko/)) css = 'mozilla.css';
else if(ua.match(/Mozilla\/4/)) css = 'ns4.css';
document.writeln('<link rel="stylesheet" href="' + css + '">');
</script>
</head><body>
<h1>Test...</h1>
<script type="text/javascript">
document.writeln('<p>' + navigator.userAgent + '</p>');
</script>
</body></html>
210 :
Name_Not_Found :02/07/22 12:49 ID:chkEGsoK
レイヤーで画像がスクロールするものを作ってます。 画像を数は最大20個でそれ以上に増えると「next」みたいな形で次の20個(20個以下の場合もある)に行きたいと思ってます。 それでなのですけど 画像が現在、何個あるのかをJavaScriptで書き出したいのですけどどうやればいいのですか? できれば<img src="XXX.gif" name="ここ"> の「ここ」の所は違う名前にしたいのですけどそれがだめなら同じ名前でもいいです。 かれこれ2日考えてます。 よろしくおねがいします。
>>210 どういったもので、どこまで書いたか教えてくれない?
>>210 任意の画像数を汁
function getSize(){
var s = document.getElementsByTagName('img');
for(var c=0,i=0; i<s.length; i++)
if((s.item(i).name).indexOf("hoge")!= -1)c++;
return c;
}
213 :
Name_Not_Found :02/07/22 13:59 ID:+SHO9BGm
>>210 の文章はどうも内容が読み取れない。
○画像は結局、全部でいくつあるのか?1000くらいまでなら
画像ファイル名を全部1ページに入れてしまって画像だけ切り替える
方がずっと使いやすい。
○「レイヤーで画像がスクロールする」という日本語の意味が不明。
画像が並んでいる部分にスクロールバーをつけたいということ?
○なんでname属性を変化させて行きたいのか?何に使うの?
214 :
204 :02/07/22 14:02 ID:???
>>209 ありがとうございます。
やってみましたが、うまくできないです。
IEとNNでCSSファイルを振り分けてそれ以外のブラウザには共通のCSSファイルを使うというようにしてみたいのですが。
いじるのはelse if(ua.match(/Gecko/)) css = 'mozilla.css';
のmozillaの部分だけでいいのですよね?
で、ここを自分のファイルに変えてmozillaでアクセスしてみたんですが、変化なしでした。
215 :
Name_Not_Found :02/07/22 14:07 ID:+SHO9BGm
>>214 うーんと、まずCSSファイルは確かにHTMLファイルと一緒のところに
あるのね?次にあの例題みたいにしてnavigator.userAgent文字列を
表示させてみて確かに指定した文字列があるか確認する。あと、
JavaScriptコンソールを出してエラーが出ていないかチェックする。
>>214-215 Mozillaで document.write("<link>"); が使えないのは、既出ですよ。
217 :
Name_Not_Found :02/07/22 14:18 ID:+SHO9BGm
>>216 あれー?自分とこのMozilla 1.0では動いているけどなー。どこの情報?
MozillaだけDOMで操作すればいいのかな。
218 :
216 :02/07/22 14:23 ID:???
ごめん。うそついたかも…
219 :
Name_Not_Found :02/07/22 14:36 ID:+SHO9BGm
>>218 もしかしてlinkを出力する<script>...</script>が<head>...</head>
の中に入ってないとかさ。そういう間違いはありがちだよね。
220 :
210です :02/07/22 14:42 ID:chkEGsoK
210です
意味不明な文章ですみませんでした
>>213 さん
画像は全部でいくつあるのかはわかりませんが1000もないと思います。
レイヤー上に画像が置いてあり、右と左にスクロールバーがありそこをクリックするとみえない画像が横からでてくるという感じです。
スクロールする幅(レイヤーの幅?)は2000で見えている範囲は1000で画像が最大20個の時はスクロールしてもかっこがつくのですけど
画像が少ない場合、スクロールをしたら空白部分もスクロールしてしまいます。
これを回避したくて画像数からスクロールする幅(レイヤーの幅?)を変動させようと思いました。
name属性でないとできないとできないと勝手に判断しました すみません...
221 :
アリクブカ :02/07/22 15:19 ID:aMFPOZHd
<INPUT TYPE="text" name="text1"> ↓ <INPUT TYPE="text" readonly name="text1"> INPUTで入力不可状態にするのをJavaScriptからできるのでしょうか。 どなたかご存知でしたら教えてください
222 :
Name_Not_Found :02/07/22 15:29 ID:+SHO9BGm
>>221 単に「document.forms.フォーム名.elements.text1.readonly = true;」
をいつでもreadonlyにしたくなった時に実行したまへ。
>>220 こんなんでどうかな。内側要素の大きさは画像の大きさによって自動で
決まるのでいちいち幅を計算する必要はない。とりあえず6個ずつ表示に
してあるが20にでも30にでもしてみたまへ。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<style type="text/css">
#d0 { posiiton: relative; overflow: scroll; width: 80%;
height: auto; margin-left: auto; margin-right: auto;
border: blue ridge 8px }
</style>
<script type="text/javascript">
var imgs = ['t0.png','t1.png','t2.png','t3.png','t4.png','t5.png',
't6.png','t7.png','t8.png','t9.png','t10.png','t11.png',
't12.png','t13.png','t14.png','t15.png'];
var step = 6, base = 0;
function show(n) {
base += n; if(base < 0) base = 0; if(base > imgs.length) base -= step;
var row = document.getElementById('t0');
while(row.childNodes.length > 0) row.removeChild(row.firstChild);
for(var i = base; i < base+step && i < imgs.length; ++i) {
var img = new Image(); img.src = imgs[i];
var cell = document.createElement('th'); cell.appendChild(img);
row.appendChild(cell);
}
}
</script>
</head><body onload="show(0)">
<div id="d0"><table summary="imave viewer">
<tr id="t0"><th>wait...</th></tr>
</table></div>
<p><a href="javascript: show(-6)">Prev<a>|
<a href="javascript: show(+6)">Next<a></p>
</body></html>
223 :
188 :02/07/22 15:34 ID:???
>>197 >ずいぶん虫のいいことをやってくれるサイトだな…あれば自分が使いたい。
やっぱし自分でテストすべきブラウザを揃えるのが基本じゃないかな。
やっぱ都合良すぎですか。あればいろんな人が使いたがるだろうに・・・
テストすべきブラウザ全部そろえるのにIEの場合、バージョン違いのもの
をインスコするには、やっぱりパーティション切ってOSマルチブートにしなければ
不可能なんでしょうか?それとも一つのOSに複数インスコできる手段は
あるのですか?
>>223 windowsはOSとIEが一体化しているのでマルチブートでもしない限り無理。
MacはIEもNNも各バージョンインスコできるし、バーチャルPC使えば
複数のWindows環境も再現できる。
225 :
Name_Not_Found :02/07/22 15:39 ID:+SHO9BGm
>>223 ほんと自分も知りたい。IE5ではどうだとか5.5ではどうだとか
言われてもIE6にしてしまったので試してみられない(そんなに
気合い入れてIE試す気にもならないが)。Netscape系はいくつでも
入れておけるのにねえ…
各バージョンの違いを正確に描写できるソフト作って売れば大儲け ウハウハだ
227 :
Name_Not_Found :02/07/22 15:52 ID:QmDH05Je
>>226 ネスケ4の、あのひどいCSSの実装を再現するのに苦労しそう。
IEの各バージョンを個別にインストールするソフトの方が実現性高そう。
229 :
:02/07/22 16:23 ID:???
210です
>>222 さん
ありがとうございます。
ちょっと説明がしようがないので恥ずかしいですがソースを書きます。
画像が何個あるのか、から、レイヤの幅を変えたいと考えてます。
長くて読みづらくなります すみません
---
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html lang="JA"><head><title></title>
<script language="JavaScript">
minX = currentX = 120;//レイヤの始点
elmW = 1810;//レイヤの幅 ※ここの値を出してほしい。
viewEndX = 1000;//見えている幅
viewW = viewEndX - minX;
maxX = -elmW+viewEndX
//
layName = 'main'
defStep = step = 6;
//
function viewDefAct(){
}
function chaStep(bt){
var bt;
if(bt){
step = defStep*3
}else{
step= defStep
}
}
230 :
:02/07/22 16:23 ID:???
続き -- function scrl(X){ newX = currentX + (X*step) if(newX >= minX){ newX = minX prevBt = 1; nextBt = 0; }else if(newX <= maxX){ newX = maxX prevBt = 0; nextBt = 1; }else{ prevBt = 1; nextBt = 1; } MOV(newX); viewBtCh("menuPrev",prevBt);viewBtCh("menuNext",nextBt) currentX = newX; } function MOV(moveX){ document.getElementById(layName).style.left = moveX; } function moveimg(bt, LR){ var bt; Xscrol = LR; if(bt){ myTim = setInterval('scrl(Xscrol)',35) }else{ clearInterval(myTim) } } function viewBtCh(imgName,bt) { var bt;var num; if(bt){ imgSrc = ""+imgName+"_on.gif" }else{ imgSrc = ""+imgName+"_off.gif" } document.images[imgName].src = imgSrc; } </script>
231 :
:02/07/22 16:30 ID:???
ほんとにすみません あと二つあります -- <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"></head> <body bgcolor="#FFFFFF" onLoad="viewDefAct();"> <div style="position:absolute;left:110px;top:0px;visibility:visible;z-index:6; width: 15" id="viewCont1"> <img onMouseOver="moveimg(1,1)" onMouseOut="moveimg(0,1)" onMouseDown="chaStep(1)" onMouseUp="chaStep(0)" src="menuNext_off.gif" border="0" name="menuNext"></div> <div style="position:absolute;left:790;top:0px;visibility:visible;z-index:7; width: 300; background-color: #DDDDDD; layer-background-color: #DDDDDD; border: 1px none #000000" id="viewCont2"> <img onMouseOver="moveimg(1,-1)" onMouseOut="moveimg(0,-1)" onMouseDown="chaStep(1)" onMouseUp="chaStep(0)" src="menuPrev_on.gif" border="0" name="menuPrev"></div> <div id="main" style="position:absolute;visibility:visible;left:120px;top:5px;z-index:2"> <table border="0" cellspacing="0" cellpadding="9"> <tr><td><img src="photo1.jpg" width="60" height="50" border="1"></td><td><img src="photo2.jpg" width="60" height="50" border="1"></td> ※ここが「photo20.jpg」まであります。</tr></table></div>
232 :
:02/07/22 16:30 ID:???
ラストです 本当にすみません -- <div id="left" style="position:absolute; left:0px; top:0px; width:100px; height:80px; z-index:5; background-color: #CCCCCC; layer-background-color: #CCCCCC"> <div align="center"> <a href="javascript:changeHtml()"><img src="back.gif" width="110" height="80" border="0"></a></div> </div> <div id="topLine" style="position:absolute; left:80px; top:0px; width:1000; height:1px; z-index:10; background-color: #CC0000; layer-background-color: #CC0000; border: 1px none #000000"> <div align="center"><img src="menuNext_off.gif" height="1"></div></div></body></html>
233 :
Name_Not_Found :02/07/22 16:41 ID:+SHO9BGm
>>229-232 分けなきゃならないようなものはどっかのアップローダを
使って欲しいんですけど…そもそも個々の画像の幅全部60なの?
もしそうなら単に掛け算するだけじゃないのかなあ。
234 :
:02/07/22 16:43 ID:???
>>233 さん
素人で本当に本当にすみません
画像幅は全部60ではないです。
235 :
:02/07/22 16:50 ID:???
>>233 さん
すみません 画像幅は全部60でもよいです... 自分の確認不足です。
236 :
Name_Not_Found :02/07/22 16:55 ID:+SHO9BGm
>>234 じゃあ全部の画像はwidth属性がついていてそれを合計すると
幅が求まるの?それも「NO」だったら調べる方法なんかナイ。
HTMLファイルに入っている画像全部のwidth属性を合計するのなら
次の通り簡単。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function show() {
var a = document.getElementsByTagName('img');
var w = 0;
for(var i = 0; i < a.length; ++i) w += a[i].width;
window.alert('Width = ' + w);
}
</script>
</head><body onload="show()">
<p>
<img src="t0.png" width="32" height="32">
<img src="t1.png" width="32" height="32">
<img src="t2.png" width="32" height="32">
<img src="t3.png" width="32" height="32">
<img src="t4.png" width="32" height="32"></p>
</body></html>
237 :
Name_Not_Found :02/07/22 16:58 ID:+SHO9BGm
>>235 入れ違った! おいおい、じゃあそのページに画像がいくつ入って
いるかが分かれば掛け算で求まるのね?で、本来の画像以外に
アイコン類がいくつあるかか固定なら
>>236 のa.lengthから引き
算すれば分かるわけだが。それとも特定位置に入っている画像を
列挙しないといけないのかな?
238 :
:02/07/22 17:26 ID:???
>>236 さん
>>237 さん
なんか見えてきたような気がします!
自分自身のためにもまとめると画像の数が最大20個まであり、その幅が1810です
しかし10個の場合はその幅を小さくしたいです。 そのためには画像の数が何個かわかればそこから幅の値が変えられると思い、画像の数が何個かを書き出すJavaScriptを考えてわからずココにきました。
画像の数を示すオブジェクト(?)がわかりません...
239 :
Name_Not_Found :02/07/22 17:34 ID:+SHO9BGm
>>238 だからすべての画像の個数だったら
「document.getElementsByTagName('img').length」だってば。
ただし飾り画像とかも含まれているので、その分を差し引く必要。
240 :
193 :02/07/22 17:40 ID:JSBhqvy9
先日からオンマウスチェンジの件で
質問させて頂いているものです。
>>205 さん
関数を増やすということは
function ChangePicture()
を増やすということではないのでしょうか…?
名前は function ChangePicture01() 、
function ChangePicture02() …と増やし、
NAME属性もimgSample2、imgSample3…と
画像ごとに増やしてみましたが、動作が上手くいきません。。
例えば
A B C D E
と5枚の画像があるとすると
Aにマウスで触れたたとき、
AとBの両方が変化するまでは自分の改造で上手くいったのですが、
上記のようにするとAに触れるとBCDE全て変化してしまうという
事態が起きてしまいます。(;´Д`)
本来なら
Aにマウスで触れたたとき、
AとBの両方が変化する
Bにマウスで触れたたとき、
BとCの両方が変化する…
という動作にならなければならないのに動きません。
ど、どうしたらいいのでしょうか…
御教授くださると嬉しいです。
>>208 ソースを作って頂きありがとうございました。!
今ためさせて頂いたのですけれども、
このソースだと画像をタッチするとその一枚の画像しか
変化しなかったのですが…、
ここから更に改造しろということなのでしょうか…?(~◇~;)
うう…こんがらがってきました。
241 :
アリクブカ :02/07/22 17:45 ID:aMFPOZHd
>>222 回答ありがとうございます。
で、おっしゃるとおりにやってみたのですができませんでした。
IEは対応していないのでしょうか?
他に方法としては
<INPUT TYPE="text" onFocus="onBlur()" name="text1">
という方法もあるようですが、一瞬フォーカスが当たるのが見えるのが気になります。
しかもペーストによる書き込みも可能なようです。
242 :
:02/07/22 17:55 ID:???
>>239 さん
本当にありがとうございます
かなりみえてきました
これをさきほどのJavaScriptに合体させれるようにがんばります
243 :
Name_Not_Found :02/07/22 17:57 ID:+SHO9BGm
>>241 スマソ! 「readonly」→「readOnly」ね。
>>240 えーと。書かれているようなことで合っていると思いますけど。
Aの画像のonmouseoverには「ChangePicture01()」だけが書かれている
のね?で、その中ではたとえば「document.imageSample1.src = ...;」
と「document.imageSample2.src = ...;」というふうに変更したい画像
2つだけの変更のみが書かれているのね?そして全部の画像のname属性は
ちゃんと違うものになっているのね?だったらOKのはずなんだけど。
244 :
193 :02/07/22 18:03 ID:JSBhqvy9
>>243 今再度挑戦してみたら出来ました!
関数のフヤし方にエラーがあったようです
申し訳ありませんでした。
これでなんとか動きそうです…(;´Д`)
245 :
193 :02/07/22 18:06 ID:JSBhqvy9
<SCRIPT Language="JavaScript"> <!-- //変更前の画像のURL function ChangePicture01() { document.imgSample.src = "images/of1.gif"; document.imgSample2.src = "images/of2.gif"; } function ChangePicture02() { document.imgSample2.src = "images/of2.gif"; document.imgSample3.src = "images/of3.gif"; } function ChangePicture03() { document.imgSample3.src = "images/of3.gif"; document.imgSample4.src = "images/of4.gif"; } //変更後の画像のURL function ChangePicture11() { document.imgSample.src = "images/on1.gif"; document.imgSample2.src = "images/on2.gif"; } function ChangePicture12() { document.imgSample2.src = "images/on2.gif"; document.imgSample3.src = "images/on3.gif"; } function ChangePicture13() { document.imgSample3.src = "images/on3.gif"; document.imgSample4.src = "images/on4.gif"; } --> </SCRIPT> <A HREF="./" onMouseOver="ChangePicture11()" onMouseOut="ChangePicture01()"> <IMG SRC="images/of1.gif" ALT="of1.gif" WIDTH="10" HEIGHT="10" BORDER="0" NAME="imgSample"></A> <A HREF="./" onMouseOver="ChangePicture12()" onMouseOut="ChangePicture02()"> <IMG SRC="images/of2.gif" ALT="of2.gif" WIDTH="10" HEIGHT="10" BORDER="0" NAME="imgSample2"></A> <A HREF="./" onMouseOver="ChangePicture13()" onMouseOut="ChangePicture03()"> <IMG SRC="images/of3.gif" ALT="of3.gif" WIDTH="10" HEIGHT="10" BORDER="0" NAME="imgSample3"></A> <A HREF="./"> <IMG SRC="images/of4.gif" ALT="of4.gif" WIDTH="10" HEIGHT="10" BORDER="0" NAME="imgSample4"></A> こんな感じで仕上がりました。。 御協力下さった方々、本当に有り難うございました!! 。・゚・(ノД`)・゚・。 これからも日々精進したいと思いました
>Aにマウスで触れたたとき、 >AとBの両方が変化する >Bにマウスで触れたたとき、 >BとCの両方が変化する… そういうことだったのね。。。 とりあえず乙&完成おめ。
247 :
Name_Not_Found :02/07/22 21:42 ID:drp3nteg
JavaScript ではクライアントのアドレスやホスト名を得ることはできないんですか?
用語は正しく使っていこう。
var tramp=new Array('s0','s1','h0','h1','d0','d1','c0','c1'); 配列をランダムバラバラに並びかえる方法を教えて下さい。
251 :
Name_Not_Found :02/07/23 00:33 ID:yG1fNPDd
>>250 for(var i = 0; i < 100; ++i) {
var j = Math.floor(Math.random()*tramp.length);
var x = tramp[0]; tramp[0] = tramp[j]; tramp[j] = x;
}
>>250 こんなのもありか。
tramp.sort( function () { return Math.floor(Math.random()*3)-1; } );
function SwapImage(ImageName, FileName1, FileName2) { document.images[ImageName].src = (document.images[ImageName].src.indexOf(FileName1) != -1) ? FileName2: FileName1; }
254 :
Name_Not_Found :02/07/23 07:23 ID:eVqT0wlq
>>252 それはまずいんじゃ…sortに渡す比較関数が単なる乱数だとsortが終わらない
かもよ。
>>251 ,
>>252 どうも。
考えてる途中で眠り込んでしまいました。
簡単そうでやたら難しかったです、これ。
ありがとうございました。
256 :
Name_Not_Found :02/07/23 08:40 ID:nwsRAfA2
考え直したのだけど、配列の各要素についてそれを交換する 位置を乱数によって決定するのが一番よさそうだと思う。 for(var i = 0; i < tramp.length; ++i) { var j = Math.floor(Math.random()*tramp.length; var x = tramp[i]; tramp[i] = tramp[j]; tramp[j] = x; } これで計算量がO(N)だよね。シャッフルするためだけに計算量 がO(N log N)になるsortを呼ぶのは勧められない気が。もっとも トランプの札程度ならどうでもいいという考えもあるかな。
配列の中身を書き出すにはどうすればいいんですか?
>>258 例えば document.write( array.join() ) とかそういうことだろうか?
まず配列の胸びれをそぎ取る。次に腹にそって包丁 で切れ目を入れ、手で中身をかきだす。違うか。
261 :
Name_Not_Found :02/07/23 12:50 ID:8HjaE6bZ
263 :
Name_Not_Found :02/07/23 14:01 ID:mOtIpTWw
<html><body> <!--その1--> <form method=post action="xxx.cgi"> <input type=hidden name=aaa value="1"> <input type=text name=bbb value=""> <input type=text name=ccc value=""> <input type=submit value=送信> </form> <!--その2--> <form method=post action="xxx.cgi"> <input type=hidden name=aaa value="2"> <input type=text name=bbb value=""> <input type=text name=ccc value=""> <input type=submit value=送信> </form> ・ ・ ・ </body></html> このようなページで、送信されたフォームの方の値(bbbおよびccc)の入力を チェックした後、送信したいのですがどのように記述すればいいのでしょうか? ページの中で「form」の数が変動するので(その1・その2・その3・・・・・・) <form name="****">が使えないのです。 よろしくお願いします。
264 :
Name_Not_Found :02/07/23 15:19 ID:uifQ6SPT
>>263 別に変動したって使えないってこたないと思うけどね。まあとりあえず、
<form onsubmit="...">の中ではthisというとフォームオブジェクトを
表している、ということを利用すればいくつでも大丈夫な形で書ける。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function ck(f) {
if(f.elements.bbb.value == '' || f.elements.ccc.value == '') {
window.alert('フォーム' + f.name + 'に未記入欄あり'); return false;
}
return true;
}
</script>
</head><body>
<form method="post" name="F1" action="x.cgi" onsubmit="return ck(this)"><p>
<input type="hidden" name="aaa" value="1"><br>
<input type="text" name="bbb" value=""><br>
<input type="text" name="ccc" value=""><br>
<input type="submit" value="送信"></p></form>
<form method="post" name="F2" action="x.cgi" onsubmit="return ck(this)"><p>
<input type="hidden" name="aaa" value="2"><br>
<input type="text" name="bbb" value=""><br>
<input type="text" name="ccc" value=""><br>
<input type="submit" value="送信"></p></form>
</body></html>
265 :
Name_Not_Found :02/07/23 15:28 ID:oLazDprq
JavaScriptでIP制限ってできますか?
266 :
アリクブカ :02/07/23 16:28 ID:JHh6yo/6
>>243 ありがとうございます。できました。
これで上司に怒られないですみます。
267 :
263 :02/07/23 16:42 ID:???
>>264 できました。ありがとうございました。
ちなみにpost先のcgiは、同じなのですが、
この辺をもっと間単に書く方法はあるのでしょうか?
268 :
Name_Not_Found :02/07/23 16:48 ID:uifQ6SPT
>>267 それはHTMLの質問じゃあないのね?もっと簡単とはどうしたいわけ?
沢山あるフォームをJavaScriptで生成したいとかそゆこと?
>>264 そうか、そうすれば省略できるのか。
……JS書き換えてきます。
>>265 JavaScriptだけではIP取れないので無理です。
標準認証を使えば?
>>270 わかりました. ありがとうございました.
では、標準認証とやらを使ってみます. (使えるかどうか分からないけど)
272 :
267 :02/07/23 17:57 ID:???
>>268 さんへ
説明フソク・アホ質問で、すいませんでした。
post先のcgiがいっしょなので、この入力チェックスクリプトの後に
cgiのURLや変数などを記述してsubmitなんてできるのかなと思ったのです。
そうすると送信ボタンは<input type=button value=送信 onclick="">に変わるのかなあ・・・?
なんだか訳わからなくなってきた。
もし可能ならフォームの数が多いときなどはHTMLのサイズが小さくなって
いいなと思ったもので。
273 :
Name_Not_Found :02/07/23 18:09 ID:uifQ6SPT
>>272 こうですかね。ただし! JavaScript offにされてたらどーにも
ならないので(前の版はチェックされないだけでフォームはちゃんと
使える)、こんなことでケチするのはやめた方がいいと思いますけどね。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function ck(f) {
f.action = 'xxx.cgi';
if(f.elements.bbb.value == '' || f.elements.ccc.value == '') {
window.alert('フォーム' + f.name + 'に未記入欄あり'); return false;
}
return true;
}
</script>
</head><body>
<form method="post" name="F1" action="#" onsubmit="return ck(this)"><p>
<input type="hidden" name="aaa" value="1"><br>
<input type="text" name="bbb" value=""><br>
<input type="text" name="ccc" value=""><br>
<input type="submit" value="送信"></p></form>
<form method="post" name="F2" action="#" onsubmit="return ck(this)"><p>
<input type="hidden" name="aaa" value="2"><br>
<input type="text" name="bbb" value=""><br>
<input type="text" name="ccc" value=""><br>
<input type="submit" value="送信"></p></form>
</body></html>
274 :
272 :02/07/23 18:47 ID:???
>>273 またまたうまくいきました。
本当にありがとうございました。
>ただし! JavaScript offにされてたらどーにも
>ならないので(前の版はチェックされないだけでフォームはちゃんと
>使える)、こんなことでケチするのはやめた方がいいと思いますけどね。
よく検討してみます。
275 :
Name_Not_Found :02/07/23 19:21 ID:EuC02CF3
ウィンドウを右下に表示したいんですけどネスケの6以上では右下に行かないらしいのです。 どなたかマック、ウィンともにネスケの6以上で右下にウィンドウが移動するソースを教えてください。 よろしくお願いします。 <html> <head> <title> </title> <script> function g(){ if(document.all){ w = document.body.clientWidth + 24; h = document.body.clientHeight + 128; } if(document.layers){ w = window.outerWidth; h = window.outerHeight; } moveTo(screen.availWidth - w,screen.availHeight - h); } </script> </head> <body onload="g()"> </head> </body> </html>
276 :
いつも名無し :02/07/23 19:35 ID:ifQC4cCa
リセットで好きなフラグをfalseにするにはどうすればいいでしょうか。 現在は以下のスクリプトなのですが、フラグ切り替えが効いてないんです…。 (JS) function checkreset(Q){ if(confirm("本当によろしいですか?")) {Q=false;return true;} else{return false;} (HTML) <form method="post" action="hoge" onreset="return checkreset(sign)"> <form method="post" action="hoge" onreset="return checkreset(right)"> (sign)を('sign')にしてみてもダメみたいです。
>>275 若干、右下にめりこんだけど、なったよ?
MacN7.0。
var sw=screen.availWidth;
var sh=screen.availHeight;
var w=window.outerWidth;
var h=window.outerHeight;
var posx=sw-w;
var posy=sh-h;
function g(){
window.moveTo(posx,posy);
}
もしかしてN7は可でN6は無理とか?
N6ないから確認できませぬ。
無限ループを教えてください
>>278 教えてもらわないと解らんような奴には教えられん。
>>279 禿同だね!
>>276 それじゃあ変数Qに値を入れているだけでしょうが…
(1) onresetの方では'sign'等文字列にする。
(2) 「Q=false;」→「window[Q]=false;」
なにかまっとうな解説本を読破することを勧めます。
何に使うんだよ・・・<無限ループ 聞き方違うだけで「ブラクラ教えて下さい」と同じじゃないか?
for(;;){ }
>>280 ありがとうございますた。まっとうな解説本探してきます
286 :
Name_Not_Found :02/07/23 23:26 ID:GhRyVVd1
document.body.innerHTMLを使えば、bodyタグに囲まれたhtmlを取得することができるのですが 同じようにして,headタグに囲まれたhtmlを取得することはできるのでしょうか?
287 :
Name_Not_Found :02/07/23 23:40 ID:gq5tc181
>>286 ホレ。ただし手もとにあるMozillaでしか確認してない。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function show() {
document.forms[0].elements[0].value =
document.documentElement.firstChild.innerHTML;
}
</script>
</head><body onload="show()">
<form action="#"><p>
<textarea name="a0" rows="20" cols="60"></textarea></p></form>
</body></html>
288 :
286 :02/07/23 23:46 ID:???
>>287 <HEAD>がfirstChildとは限りませんが?
W3C信者の方ですか?
もう来なくていいよ。
>>289 document.documentElement.firstChild が head にならない文書は
<html> と <head> の間に改行一個入れるだけで出来上がる。
そういう文書はW3C信者だって躊躇なく作るよ。
>>289 ファイル先頭に広告が入るサーバーに移転するときどうするんだよ?
もう少し頭を使えよ。
HEADだけに頭ってわけじゃないぞ
292 :
291 :02/07/24 04:20 ID:???
>>286 上手くいかなくなったら
document.documentElement.firstChild.innerHTML; を
document.getElementsByTagName('head')[0].innerHTML; にしてみよう。
294 :
Name_Not_Found :02/07/24 07:35 ID:5hNcbZcI
>>289-292 別に誰かが叩き台出して他の人が改良するってんでいいんじゃない?
>>293 なるほど、headにid振るとかよりこっちの方がスマートですねー。
煽ってるけど、指摘すべき点は指摘しているわけで、 マシと言えばマシ。
297 :
Name_Not_Found :02/07/24 13:25 ID:BwCJMmAu
そんなことより何か面白い質問ないかなあ。
298 :
Name_Not_Found :02/07/24 14:23 ID:KpvEZExY
オメ
javaとjavascriptは(以下略)
301 :
Name_Not_Found :02/07/24 15:02 ID:5o3futyx
内容: 乱数を発生させて、小さい順から大きい順に並ぶようにしたのですが、 これ↓だと・・・ <HTML> <HEAD> <TITLE>Sort</TITLE> </HEAD> <BODY> <SCRIPT LANGUAGE="Javascript"> var n=10; var a=new Array(n); for (x=0;x<n;x++)a[x]=Math.round(Math.random()*100); document.write("Generate random ...<br>"); for (x=0;x<n;x++)document.write("a[",x,"]:",a[x],"<br>"); for (i=0;i<n;i++){ for (x=0;x<n;x++){ if (a[x]>a[x+1]) swap=a[x+1],a[x+1]=a[x],a[x]=swap; } document.write("Sort Phase ",i+1,"<br>"); for (x=0;x<n;x++)document.write("a[",x,"]:",a[x],"<br>"); } </SCRIPT> </BODY> </HTML> 0から9まで小さい順に正しく並んだ後でも処理が続行されてしまうのです。 正しく並んだ時点で処理を終了させるにはどうすればよろしいでしょうか? アドバイスをお願いします。
302 :
Name_Not_Found :02/07/24 15:22 ID:BwCJMmAu
>>301 2重ループの外側を固定回繰り返しではなく「並ぶまでやる」にする。
var done = false;
while(!done) {
done = true;
for(x = 0; i < n; ++x)
if(a[x] > a[x+1]) {
var s = a[x+1]; a[x+1] = a[x]; a[x] = s; done = false;
}
document.write("Sort phase, ...);
for ...
}
質問です。 リファレンス本見ると必ず書いてある document.open(); document.write(String); document.close(); openとcloseって必要なんですか?リファレンス本ですら 他のサンプルには使ってない。しかも動く。 なんの為にあるのかよくわからんのですが。
305 :
アリクブカ :02/07/24 15:38 ID:bbeT5nQU
先日readonlyのことで質問したものですが、 また聞きたいことができたので質問します。 readonlyで入力不可にしたときにタブが当たらないように したいのですが方法はありますか? disableで入力不可にするとタブが当たらないのですが 文字の色が変わってしまいます。 そのためdisableで指定したときに色が変わらない方法でもよいですので、 ご存知の方がいらっしゃったらご教授願います。
306 :
301 :02/07/24 16:01 ID:5o3futyx
302,304さんありがとうございます。 あとで動作確認してみます。 またわからなくなったらお願いします!
307 :
Name_Not_Found :02/07/24 16:16 ID:ErfEy3Zi
308 :
Name_Not_Found :02/07/24 16:19 ID:BwCJMmAu
>>303 open()しなくてもwrite()したとき自動的にopen()される。
close()は「そこでおしまい」だからそれ以上ページに内容を
追加したくない時とかに呼ぶ。というわけで、普通はopen()も
close()も呼ばなくてもいいんじゃない?
>>305 disabledにするとそのデータは提出されなくなるけどそれは大丈夫
ですか。色は…難しそうですね。「onfocus="this.blur()"」で
我慢するしかないかな…
309 :
アリクブカ :02/07/24 16:46 ID:bbeT5nQU
>>308 回答ありがとうございます。
データ提出はいいのですが色は無理ですかね。
Tab押してもフォーカス当たらないようにする方法があればいいのですけれど。
310 :
303 :02/07/24 17:34 ID:???
>>308 ありがとうございます。ただ、それなら必要無い物が用意されている
理由が無いと考え、いろいろと実験してみました。
結果は、スクリプトを書いてあるHTML(ルートのHTML)に関しては
openもcloseも関係ありませんでしたが、スクリプト経由で別ウィンドウ
を開いて、スクリプトでwriteしたものに関してはcloseしないとNN系では
「読み込み待ち」の状態になってしまう事を確認しました。
ですので、openはwriteすれば自動的に実行されるので、closeだけを
しっかり書けば良い、という結論に達しました。
ヒントをいただいて自分なりに納得できました。ありがとうございます。
311 :
Name_Not_Found :02/07/24 17:44 ID:pIL8X9ka
時計を埋め込みたいんですけど <html><head></head><body> <script language="javascript"> function clock(){ while(1){ time=new Date(); a=time.getHour(); b=time.getMinutes(); c=time.getSeconds(); tokei.value=a+":"+b+":"+c; } </script> 今の時間は<input type="text" id="tokei">です。 </body> </html> これでいいんでしょうか?
312 :
Name_Not_Found :02/07/24 17:56 ID:BwCJMmAu
>>311 無限ループなんかさせたらブラクラだよ。そゆときはこう。
まあどこに表示するかはテキトに考えてよ。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function clock() {
var t = new Date();
document.getElementById('tokei').innerHTML =
t.getHours() + ':' + t.getMinutes() + ':' + t.getSeconds();
}
</script>
</head><body onload="setInterval(clock, 500)">
<h1 id="tokei">Test....</h1>
</body></html>
313 :
Name_Not_Found :02/07/24 18:33 ID:pIL8X9ka
アリガトウございます。 うまく動作しました〜。
setInterval('clock()', 500) にしなくても動くの? 煽りじゃなくて素朴な疑問。
>>314 動かないことはないけど、
推奨されない。
マクIE5.1.4で動きませんでした...ハァハァ
318 :
Name_Not_Found :02/07/25 00:19 ID:vjTHQz9l
>>312-317 どうも自分は、「setInterval('....', ミリ秒)」だと指定した時間間隔
ごとに文字列が評価されるような気がして気持が悪い(実際にはそういう
実装じゃないのかも知れないが)。Cとかだと必ず関数ポインタを渡すところ
だし…マクIE5ねえ…
わかるわかる。 ┌─────────────再開─────────────┐ ↓ ↓
>>318 WinIE は実質的に引数を内容とするで匿名関数を作成してる。IEで試してみ。↓
function test () { clearInterval(a); }
var a = setInterval('alert(arguments.callee);test()',100)
321 :
Name_Not_Found :02/07/25 06:17 ID:Rkwp1ZI3
>>318 なーるほどね。それだとなおさら、「setInterval(function() { ... }, ミリ秒)」
とか書いた方が自分的には気持ちがいいですけどね。文字列だとその中に埋まって
いる変数のスコープはどこだろうとかIEではこうだけど他の実装でも同じなのかとか
心配が増えてしまって夜も眠れない(ふ、古いゼ… :-)
322 :
321 :02/07/25 06:18 ID:???
323 :
Name_Not_Found :02/07/25 10:29 ID:RzNXRix/
タイマーの話を見ていて思い出したんですが、 このコードを意図通りに動かすにはどうしたらいいでしょう? タイマーで、配列を引数にした関数を呼び出したいのですが、 以下ではarがストリングで評価されて「A,B,C」という値になってしまうので、 うまく動きません。 かと言って「'func(ar1)'」とすると任意の引数を取れませんし… <script type="text/javascript"> <!-- var ar1 = new Array("A", "B", "C"), ar2 = new Array("D", "E", "F"); function func(arg) { alert(arg[0]); } function t(ar) { setTimeout('func(' + ar + ')', 1000); } window.onload = function() { t(ar1); t(ar2); } //--> </script>
t('ar1'); で済む話じゃないか?
325 :
323 :02/07/25 11:42 ID:???
>>324 本当だ…
気づきませんでした、有難うございます。
あと、もう一ついいですか?
以下のタイマー動作をするオブジェクトで、onTimerが呼ばれたとき、
this.valueの値がundefinedになります。
どうすればいいでしょうか?
<script type="text/javascript">
<!--
function Timer(value, interval)
{
this.timerId = null;
this.value = value ? value : "";
this.interval = interval ? interval : 100;
}
Timer.prototype.setTimer = function()
{
this.timerId = setInterval(this.onTimer, this.interval);
}
Timer.prototype.killTimer = function()
{
clearInterval(this.timerId);
}
Timer.prototype.onTimer = function()
{
window.status += this.value;
}
var timer1 = new Timer("A", 200), timer2 = new Timer("B", 400);
window.onload = function()
{
timer1.setTimer();
timer2.setTimer();
}
//-->
</script>
326 :
Name_Not_Found :02/07/25 14:01 ID:yNoqFQbU
>>323-324 だからそこを文字列で組み立てているからはまるんですよね。
function t(f) { setTimeout(f, 1000); }
として、呼ぶ方も
t(function() { func(ar1); }); t(function() { func(ar2); });
とすればもっと間違いにくいでしょ?
>>325 > this.timerId = setInterval(this.onTimer, this.interval);
この「this.onTimer」というのを評価すると単なる関数に
なっちゃうでしょ。オブジェクトと無関係の。だから呼ばれた
時にthisがない。これも次の2行のように直せば動くと思うよ。
var this1 = this;
this.timerID = setInterval(function() { this1.onTimer(); }, this.interval);
327 :
Name_Not_Found :02/07/25 14:08 ID:a7BbCxHb
質問です。 フォームのSELECTでドロップダウンリストを作り onChangeで選んだリストの値を渡す仕組みを作りました。 IEやNetscape6だと上手くいくのですが、Netscape4.7だと値がNullになってしまい 上手く動作させることができません。 解決法をご存知の方、ご教授下さい。
328 :
Name_Not_Found :02/07/25 14:15 ID:yNoqFQbU
>>327 そのコードなりを貼ってくれないとアドバイスしようがないだろ?
>>327 その仕組みを使うのをやめるか、
Netscape4.7を対象からはずす、
という解決法もあります。
330 :
327 :02/07/25 14:28 ID:a7BbCxHb
コードは以下の通りです。 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <script language="JavaScript"> function test(){ alert(document.main.select.value); } </script> </head> <body> <form name="main"> <select name="select" onChange="test();"> <option value="1">test1</option> <option value="2">test2</option> <option value="3">test3</option> </select> </form> </body> </html>
331 :
Name_Not_Found :02/07/25 14:42 ID:yNoqFQbU
>>330 ちょっと面倒だけどN4でも動くためには次のように。
function test() {
var s = document.forms.main.elements.select;
window.alert(s.options[s.selectedIndex].value);
}
332 :
327 :02/07/25 14:51 ID:???
>>331 ありがとうございます、動きました!!
そういう方法があったんですね。勉強になりました。
333 :
301 :02/07/25 15:18 ID:iDaRX73z
302さんのアドバイスで入力してみたんですが、 エラーが出てしまうんです。どこがまちがっているのか 私、ど素人なのでわかりません・・・・ <HTML> <HEAD> <TITLE>Sort</TITLE> </HEAD> <BODY> <SCRIPT LANGUAGE="Javascript"> var n=10; var a=new Array(n); for (x=0;x<n;x++)a[x]=Math.round(Math.random()*100); document.write("Generate random ...<br>"); for (x=0;x<n;x++)document.write("a[",x,"]:",a[x],"<br>"); var done = false; while(!done) { done = true; for(x = 0; i < n; ++x) if(a[x] > a[x+1]) { var s = a[x+1]; a[x+1] = a[x]; a[x] = s; done = false; } document.write("Sort Phase",i+1,"<br>"); for (x=0;x<n;x++) document.write("a[",x,"]:",[x],"<br>"); } </SCRIPT> </BODY> </HTML> どこでミスしてるんでしょうか・・・?
334 :
Name_Not_Found :02/07/25 15:33 ID:yNoqFQbU
>>333 これって学校の課題とかじゃないの?そゆ場合のためにヒント
だけ差し上げよう。変数「i」というのは使わなくなったんで、
「i」が現われているところ2個所を適宜直す必要があるね。
1つは回答例のバグだったんだけどね。あとデータ表示のとこも
もともとバグがあるようだね。以上ヒントでした。
>>326 動きました〜
有難うございます。
でも、this1はタイマーで呼ばれる時点ではすでにスコープが無くなってるはずなのに、
どうして動くんでしょうね?
this1に代入して使えば動くのに、thisをそのまま使っても動かないところも不思議です…
336 :
Name_Not_Found :02/07/25 15:41 ID:yNoqFQbU
>>335 だから、function() {...}の中から外側の変数を参照している場合、その変数
への参照が後からでもできるように手当てされるのです。こういうのをクロージャ
と言います。ただし参照できるのはあくまでも変数でして、thisっていうのは変数
ではない(オブジェクトを表す疑変数というべきか)。なのでthis1への代入が必要
なんですよね。JavaScriptって結構奥が深いでしょ。
>>336 なるほど、深いですね。
勉強になりました。
ところで、そういう知識って一体どこで習得してるんですか?
ECMAScriptの仕様書とかに載ってます?
>>337 JavaScript解説本とかはとりあえずいくつか読みましたけどね。
もちろんECMA-262には仕様書なんだから載っていると思うけど、
仕様書って読みづらいんですよね。
>>338 さっきのタイマーオブジェクトのコードで、さらに配列を引数にしてみても、ちゃんと動きました。
なんかもう、Hello Worldが表示できたときと同じくらい感激です!
細かく解説してくれた上にJavaScriptの視野まで広げてもらって、
本当に有難うございました。
>>337 マイクロソフトのリファレンスが最も詳しい。
341 :
Name_Not_Found :02/07/25 19:09 ID:yNoqFQbU
>>340 オブジェクトの仕様とかは分かるけど、関数がクロージャになるだとか
thisの意味だとかはMSのサイトのどこに載っているの?
>>342 「thisステートメント」とか書いてある怪しいやつなw
クロージャについての記述はぜひ読みたいのでURLきぼんぬ。
fagaae o
345 :
ミトコンドリア :02/07/25 23:49 ID:XvftP0Mc
すいません。教えて欲しいのですが、 「2〜3枚の絵をアニメーションとして順番に表示させるようにする」 っは出来るのですが、 「一つの画面上で別の複数のアニメーションを表示させる」になると、エラーが出っ放しでわかりません… JavaScriptでしたいのです。教えてください
>>345 とりあえずソースとエラー内容を知りたいのです。教えてください
347 :
ミトコンドリア :02/07/26 00:00 ID:19aA7EsN
<html> <head><title>ヨッシー島入口</title></head> <script language="JavaScript"> <!-- gazou=new Array(); gazou[1]=new Image(); gazou[1].src="/icon/info-01.jpg"; gazou[2]=new Image(); gazou[2].src="/icon/info-02.jpg"; gazou[3]=new Image(); gazou[3].src="/icon/info-03.jpg"; imgNum=0 function anime(){ if(imgNum==0){document.mylmg.src=gazou[1].src; imgNum=1; }else if(imgNum==1){ document.mylmg.src=gazou[2].src; imgNum=2; }else if(imgNum==2){ document.mylmg.src=gazou[3].src; imgNum=0; } setTimeout("anime()",2000) } ↑これが一つ目。これは表示されました。 っが、二個目からどうすればいいのかわからなくて gazou[4]=new Image(); gazou[4].src="/icon/com-01.jpg"; gazou[5]=new Image(); gazou[5].src="/icon/com-02.jpg"; imgNum=0 function anime(){ if(imgNum==0) {document.kominike.src=gazou[4].src; imgNum=1; }else if(imgNum==1){ document.kominike.src=gazou[5].src; imgNum=0; } setTimeout("anime()",2000) } //--></script> ↑ってまとめてしまいました。(名前を微妙に変えて…) んで<body onLoad="anime()">で 一つ目<img src="/icon/info-01.jpg" name="mylmg" alt="vision" width="230" height="60" border="1" > 二つ目><img src="/icon/com-01.jpg" name="cominike" alt="vision" width="230" height="60" border="1" > っです。これでアップしたところ一つ目の絵も動かなくなりました。
>>347 呼び出す関数名「anime()」がだぶってるから
>>347 <script language="JavaScript">
<!--
gazou1=new Array();
gazou1[0]=new Image(); gazou1[0].src="./icon/info-01.jpg";
gazou1[1]=new Image(); gazou1[1].src="./icon/info-02.jpg";
gazou1[2]=new Image(); gazou1[2].src="./icon/info-03.jpg";
gazou2=new Array();
gazou2[0]=new Image(); gazou2[0].src="./icon/com-01.jpg";
gazou2[1]=new Image(); gazou2[1].src="./icon/com-02.jpg";
imgNum=0;
function anime(){
imgNum++;
Che1 = imgNum % 3;
Che2 = imgNum % 2;
document.mylmg.src=gazou1[Che1].src;
document.cominike.src=gazou2[Che2].src;
setTimeout("anime()",2000)
}
//-->
</script>
<body onLoad="anime()">
<img src="./icon/info-01.jpg" name="mylmg" alt="vision" width="230" height="60" border="1" >
<img src="./icon/com-01.jpg" name="cominike" alt="vision" width="230" height="60" border="1" >
animeの関数が呼ばれるたびに imgNum に +1
imgNum を 3 で割った余りによって gazou1[0]、gazou1[1]、gazou1[2] を変更
imgNum を 2 で割った余りによって gazou2[0]、gazou2[1] を変更
頭の悪そうなスクリプトですまん。
350 :
Name_Not_Found :02/07/26 09:08 ID:IWPlyemV
>>349 私も書いて見ました。昨日の成果(?)を生かして。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function init() {
var a = [new Image(),new Image(),new Image()];
var b = [new Image(),new Image()];
a[0].src = 't1.png'; a[1].src = 't2.png'; a[2].src = 't3.png';
b[0].src = 't1.png'; b[1].src = 't2.png';
anim('i0', a, 2, 1000); anim('i1', b, 1, 1200);
}
function anim(name, imgs, count, msec) {
if(++count >= imgs.length) count = 0;
document.images[name].src = imgs[count].src;
setTimeout(function() { anim(name, imgs, count, msec); }, msec);
}
</script>
</head><body onload="init()">
<p><img src="t2.png" name="i0"><br><img src="t2.png" name="i1"></p>
</body></html>
>>351 まあ、JavaScriptの話でクロージャって言葉を使う人はそういないだろうね。
MSはJScriptで関数のネストが可能なことをそもそも説明してないし、
Netscapeは関数のネストが可能なことと、その際に:
・内側の関数は外側の関数の変数や引数を参照できること
・内側の関数が外側の関数の内部でしか参照できないこと
この2点を簡単に説明してるだけ。
ECMA-262-3 にもクロージャに相当する機能について特別な説明はないよ。
個々の機能を総合すれば同じことができるというだけ。
仕様書内に closure という単語が出てはくるけど
正規表現のメカニズムを説明するための内部関数としてだけだ。
353 :
Name_Not_Found :02/07/26 12:51 ID:N60s9EH/
>>352 クロージャという言葉はプログラミング言語において一般的な
概念で別に珍しくはない。だからマニュアル等で説明してなく
ても不思議はない。ただそういう話をしてるときにMSのリファ
レンスが最も詳しいというからどっかに書いてあるのかと思って
質問したまで。MSのリファレンスはIEやJScript固有の機能を
調べる時には使うけどJavaScript言語の一般的な勉強をしようと
思う時には使わない方がいいと思っている。反論あれば聞きたい。
「同じことができる」という言い方もヘン。JavaScriptが持って
いる機能は一般に言われるクロージャそのもの。一般に言われる
クロージャの概念とJavaScript言語の仕様とで本質的に異なる
ことがあるというのならそれも伺いたいところ。
>>353 や、いいんだけどさ。
ただ、「やってみたらできた」だけの理由で「クロージャになる」って
結論出してる奴多いと思うんだよ。
>>341 とかって「満足な根拠はあるの?」ってことでしょ。
>>352 は「充分納得できるような明解な記述はどこにもないね」という回答。
355 :
Name_Not_Found :02/07/26 14:31 ID:N60s9EH/
>>354 え、だからその動作そのものはECMA-262で明確に規定されて
いるってば。以下ECMA-262 ed.3 13-OCT-99 の節番号でいうと。
13.2節→関数オブジェクトが作られるとき、現在のスコープチェイン
と同じものが[[Scope]]プロパティに格納される。
10.2.3節→関数コードの実行に最しては[[Scope]]プロパティに
格納されているスコープチェインの上に活性オブジェクトをつなげた
状態で始める。
だからECMA-262に準拠しているという以上、クロージャが使える。
357 :
Name_Not_Found :02/07/26 15:22 ID:N60s9EH/
>>356 それは(1)準拠していると言いつつ嘘っぱちの処理系があるという意味?
それとも(2)ECMA-262 ed.3 に忠実に実装していてもクロージャが使えない
実装が存在し得るということ?もし(2)だったらなぜそう言えるのか分からん。
説明キボーン。(1)だったらどこの処理系が嘘つきなのか知りたいな。
>>357 IEはドキュメントに書かれてることと違う動きをするとこが
結構あるから、信用できないよ。
Array.slice();の第二引数が最後のインデックスじゃなくて長さだったり、
実装されてないはずの、execCommand('stop')が実装されてたりする。
359 :
ミトコンドリア :02/07/26 16:55 ID:MsAvv8wh
>>349 .350さん
どうもありがとうございます!!
349さんのやり方で行くとgazou3,4,5っと分ければよかったんですね!
とても助かりました!どうもです!!
360 :
Name_Not_Found :02/07/26 17:29 ID:zdZiOp//
フレーム1のボタンを押したときに フレーム2のHTMLの内容を書き換えて更新するするには どうしたらよいのでしょうか?
フレーム2のファイルを変えれば済む話しに見えるが、 あえてhtmlを書き換えるってんならinnerHTMLかなぁ。
362 :
Name_Not_Found :02/07/26 17:46 ID:zdZiOp//
>>361 返信ありがとうございます。
フレーム1のテキストボックスの内容をフレーム1のボタンを押したときに
フレーム2に表示したいのです。innerHTMLがよいのでしょうか?
フレーム1 <script> function kakikae(){ parent.frames[1].document.body.innerHTML='書き換えました';//←ここにダラダラと色々書く } </script> <form><input type="button" value="button" onClick="kakikae()"></form>
フレーム1 <script> function test(){ parent.frames[1].document.forms[0].elements[0].value=document.forms[0].elements[0].value; } <form> <input type="text"><br> <input type="button" value="button" onClick="test()"> </form> フレーム2 <form><input type="text"></form>
366 :
360 :02/07/26 17:56 ID:zdZiOp//
なるほど! 即答ありがとうございます! ここまで詳しく書いていただけるとすぐ解決しそうです! 感謝!
>フレーム2に「表示」したいのです。 良く読まずにカキコしてるな、おれ。 フレム1 <script> function test(){ parent.frames[1].document.body.innerHTML=document.forms[0].elements[0].value; } </script> <form><input type="text"><input type="button" value="button" onClick="test()"></form>
368 :
360 :02/07/26 18:12 ID:zdZiOp//
ありがとうございます。 やってみたらうまくいきました!!! 結論はinnerHTMLでフレーム1からフレーム2のHTMLを書き換えるか、 フレーム2からフレーム1の値を取得してdocument.writeで HTMLを書き換えるかのどちらかってことですよね。
> フレーム2からフレーム1の値を取得してdocument.writeで > HTMLを書き換えるかのどちらかってことですよね。 なるほど、その方が解りやすいな(w
370 :
初心者Man :02/07/26 18:29 ID:PwnHtDJ6
あるページで、
<INPUT TYPE="button" NAME="closeWin" VALUE="閉じる"
onClick="JavaScript:window.close()">
こんな感じでウィンドウを閉じるボタンを配置しました。
しかし、IEでは問題ないのですが、Netscape4.7 に於いては、Javaを有効にして
いると、
Submitを押したときにJavaVMが勝手に起動してしまいます(すごい時間がかかる
)。
Javaを切っていればいいのですが、ユーザ全てがJavaを切っているわけではあり
ません。
http://www.sankei.co.jp/ にアクセスすると、小さなウィンドウが表示されて、同じような閉じるのハイパ
ーリンクに
onClickを設定していますが、こちらはJavaVMが勝手に起動することなくウィンド
ウが閉じます。
Netscape4.7の問題だと思うのですが、何か特別なHTMLタグが含まれていると
JavaVMが勝手に起動してしまうのでしょうか?回避策はないでしょうか??
あちこち検索しているのですが、探し方が悪いのか有効策が見つかっていません 。
どなたか教えてください………心配で夜も眠れません。
JavaVMは知らんけど onClick="window.close()" って書くんでないの?
373 :
:02/07/26 22:18 ID:???
初めまして、いろいろ参考書等見たのですが、いまいち探しているのが 見つからなくて質問させていただきます。 探しているのは、 ひにちによって、参照するページを変える。 8/1なら0801.html 7/23なら0729.htmlのような感じで、 しかし1日を0時から24時ではなく4時〜28時を1日として表したいのです。 6/26の朝の3:00なら6/25を参照するという風に、 どなたかよろしくご指導お願いします。
あるページで、
<INPUT TYPE="button" NAME="closeWin" VALUE="閉じる"
onClick="JavaScript:window.close()">
こんな感じでウィンドウを閉じるボタンを配置しました。
しかし、IEでは問題ないのですが、Netscape4.7 に於いては、Javaを有効にして
いると、
Submitを押したときにJavaVMが勝手に起動してしまいます(すごい時間がかかる
)。
Javaを切っていればいいのですが、ユーザ全てがJavaを切っているわけではあり
ません。
http://www.sankei.co.jp/ にアクセスすると、小さなウィンドウが表示されて、同じような閉じるのハイパ
ーリンクに
onClickを設定していますが、こちらはJavaVMが勝手に起動することなくウィンド
ウが閉じます。
Netscape4.7の問題だと思うのですが、何か特別なHTMLタグが含まれていると
JavaVMが勝手に起動してしまうのでしょうか?回避策はないでしょうか??
あちこち検索しているのですが、探し方が悪いのか有効策が見つかっていません 。
どなたか教えてください………心配で夜も眠れません。
>>373 <script language="JavaScript">
<!--
var myDate = new Date();
var myHour = myDate.getHours();
myDate.setHours(myHour-4);
var myMonth = myDate.getMonth()+1;
var myDay = myDate.getDate();
if ( myMonth < 10 ) { myMonth = "0"+myMonth; }
if ( myDay < 10 ) { myDay = "0"+myDay; }
filename = myMonth + myDay + ".html";
document.write("<a href='"+filename+"'>参照</a>");
//-->
</script>
setHours() で4時間ずらすだけで大丈夫だと思うんだけど…。
参照ってのがどうしたいのかよくわからんから、最後のとこは
document.write() にしてるけど、そこは適当にどうぞ
間違ってるとこ見つけた人フォローよろ
>>374 あのさ、じゃあその産経のパクれば?
<a href="javascript:window.close()">閉じます</a>
377 :
:02/07/27 01:13 ID:???
>>375 ありがとうございます。
試してみます!
378 :
Name_Not_Found :02/07/27 07:47 ID:9Ak+ziqj
>>377 それはいいんだけどアンタ、「<a href="...">」のようにURIを指定
するところでは「<a href="javascript: window.close()">」のように
「javascript:」をつけるのに対し「onclick="..."」のようなイベント
ハンドラでは「onclick="window.close()"」のようにコードだけ直接
指定するというのは分ったの?せっかく教えてもらっても自分が気に入る
回答以外は無視なの?
379 :
378 :02/07/27 07:49 ID:???
backgroundのfixedってスクロールバーが無いタグでは 無視されるんじゃないんですか? クセでいつでもどこでもfixedを付けていたんですが、 Netscapeで見たら、全部の背景画像が画面に対して固定されて すごいことに・・・background-positionもずれてるし。
381 :
Name_Not_Found :02/07/27 11:44 ID:1VTRwk1J
>>380 自分はCSSについてはIEよりN6/N7/Mozillaの動作の方が標準と合って
いることが多いと感じるが、ともかくスレ違いだね。
>>380 スクロールバーが無いタグってのが意味不明だが、ともかくスレ違いだね。
おまえら広告を消す方法教えろ
386 :
Name_Not_Found :02/07/27 14:34 ID:1VTRwk1J
そんときゃ、あんちゃんの心のダムで癒してやるさ。
みたらしにします と見えて鬱
393 :
初心者 :02/07/28 00:49 ID:???
初心者です。お手柔らかに… function Fcheck(){ <!--プラグインのチェック:フラッシュ//--> var TargetPlugin="application/x-shockwave-flash"; var Fon = new Image(); var Foff = new Image(); Fon.src = "f_passed.gif"; Foff.src = "f_alert.gif"; if(navigator.mimeTypes[TargetPlugin].enabledPlugin){ document.Fimage.src = Fon.src; } else{ document.Fimage.src = Foff.src; } } で、プラグインの有無で画像を変更しようと思っているのですが、 それぞれの画像にリンクを貼りたいのです。 プラグインが無ければマクロメディアのダウンロードページ、 あればフラッシュ用のコンテンツという風に。 どうすればよいでしょうか? お願いします。
function Fcheck(){ <!--プラグインのチェック:フラッシュ//--> var TargetPlugin="application/x-shockwave-flash"; var Fon = new Image(); var Foff = new Image(); Fon.src = "f_passed.gif"; Foff.src = "f_alert.gif"; if(navigator.mimeTypes[TargetPlugin].enabledPlugin){ document.Fimage.src = Fon.src; document.links[0].href='フラッシュ用のコンテンツ.html'; } else{ document.Fimage.src = Foff.src; document.links[0].href='マクロメディアのダウンロードページ.html'; } } <body onLoad="Fcheck()"> <a href="#"><img src="???.gif"></a> shockwave入れてないからplugin判別は解りません、ごめん。 リンク変えるのはこうですね。
395 :
修正 :02/07/28 03:34 ID:???
<a href="#"><img src="???.gif" name="Fimage"></a>
396 :
初心者 :02/07/28 04:30 ID:???
>>394-
>>395 ありがとうございました!!さっそく試してみます。
397 :
Name_Not_Found :02/07/28 06:51 ID:fDJ4SzOE
IE以外でも、innerTextのように要素内の文字列を取得することはできますか?
398 :
Name_Not_Found :02/07/28 08:29 ID:0ba+PpT3
初心者です。JAVAの右も左もわかりませんがよろしくお願いします。 アルバムギャラリーで、写真をクリックすると拡大写真が表示される ようにしたいのですがどうしたらよいのでしょうか?あまりに基本的な 事で申し訳ありませんが、どなたか教えていただければうれしいです。
399 :
Name_Not_Found :02/07/28 08:56 ID:o5D2FLDW
>>398 JavaScriptのことをJavaと読んでいるうちは教えたくない。
>>1 を
読んだ? もっともJava(アプレット)でもできるだろうから、それを
目指しているならどっかJavaの質問ができるところで聞いてよ。
400 :
Name_Not_Found :02/07/28 08:58 ID:o5D2FLDW
>>397 innerTextはIEのみだと思うけど。N6/N7/Mozillaの場合、代わりに
innerHTMLを使うかDOMにしたがってその要素の下をたどってテキスト
ノードから文字列を取得する。いずれもIEと互換性はあるよ。
402 :
Name_Not_Found :02/07/28 10:23 ID:o5D2FLDW
>>401 なるほど、こうかね?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function test(file) {
var r = document.createRange();
r.selectNodeContents(document.getElementById('p0'));
window.alert(r.toString());
}
</script>
</head><body>
<p id="p0">This <em>is</em> a pen.</p>
<p><a href="javascript: test()">Test...</a></p>
</body></html>
403 :
Name_Not_Found :02/07/28 16:43 ID:H6w8aY4D
onkeypressって、バックスペース認識しないのれすか? event.keyCode==8で判別したいのですが、 判別の前に反応しません。 altKeyプロパティのように特別なプロパティがあるのですか?
404 :
Name_Not_Found :02/07/28 17:01 ID:2vUi+L1B
>>403 うーん?反応もしないの?ちょっとコード貼ってみない?
まてよ、onkeypress? onkeydownを使うべきじゃあないの?
onkeypressは普通の文字を打った時にしか使えないのに対し、
onkeydownは何でもキーが押し下げられた時に使えたかと。
captureEvent(Event.ONKEYDOWN); と書けとJavaScriptの某本に書いてあったので書いたのですが、 IE6 XPでは、「Eventが存在しません」と起こられます。 もしかしてネスケ専用なんですか? 上記をいれずに document.onkeydown=kdown(event.keycode); と書くと何か問題がありますか? <body onkeydownで代用してるんだけど。。。
あ、400あたりの質問の人とは関係ありませんので。
408 :
Name_Not_Found :02/07/28 22:54 ID:4ywNRn3z
>>406 まず「... = kdown(event.kcode);」では関数kdownを呼んでしまい、その
返値をonkeydownプロパティに設定するのでまったく役に立たないでせう。
それを書くなら「... = funciton() { kdown(event.kcode); };」 でしょ。
イベントハンドラの設定方法は次のように分かれています。
(1) captureEvent() --- N4系。N6/N7/Mozillaでも互換性のため有効。
(2) onXXXXプロパティにハンドラ設定 --- IE系。
(3) addEventListener() --- DOM標準。今はN6/N7/Mozillaのみ。
というわけで、本当は標準だから(3)を使いたいのですが、IEを考慮に
入れるとifで振り分けて(1)+(2)または(2)+(3)でやることになります。
N4を除外してよいなら(2)+(3)ですが、N4を入れると結局(1)+(2)に…
その場合、自分では次のような感じにしてます。
if(window.captureEvents) { // NS
window.captureEvents(Event.KEYDOWN);
window.onkeydown = function(e) { key(e.which); };
} else { // IE
document.body.onkeydown = function(){ key(window.event.keyCode); };
}
409 :
ミトコン :02/07/29 02:47 ID:QYYVmrWD
<script language="JavaScript"> <!-- gazou1=new Array(); gazou1[0]=new Image(); gazou1[0].src="./icon/info-01.jpg"; gazou1[1]=new Image(); gazou1[1].src="./icon/info-02.jpg"; gazou1[2]=new Image(); gazou1[2].src="./icon/info-03.jpg"; gazou1[3]=new Image(); gazou1[3].src="./icon/info-04.jpg"; gazou2=new Array(); gazou2[0]=new Image(); gazou2[0].src="./icon/ima-01.jpg"; gazou2[1]=new Image(); gazou2[1].src="./icon/ima-02.jpg"; gazou2[2]=new Image(); gazou2[2].src="./icon/ima-03.jpg"; gazou2[3]=new Image(); gazou2[3].src="./icon/ima-04.jpg"; gazou3=new Array(); gazou3[0]=new Image(); gazou3[0].src="./icon/com-01.jpg"; gazou3[1]=new Image(); gazou3[1].src="./icon/com-02.jpg"; gazou3[2]=new Image(); gazou3[2].src="./icon/com-03.jpg"; gazou3[3]=new Image(); gazou3[3].src="./icon/com-04.jpg"; gazou4=new Array(); gazou4[0]=new Image(); gazou4[0].src="./icon/dia-01.jpg"; gazou4[1]=new Image(); gazou4[1].src="./icon/dia-02.jpg"; gazou4[2]=new Image(); gazou4[2].src="./icon/dia-03.jpg"; gazou4[3]=new Image(); gazou4[3].src="./icon/dia-04.jpg"; imgNum=0; function anime(){ imgNum++; Che1 = imgNum % 4; Che2 = imgNum % 4; Che3 = imgNum % 4; Che4 = imgNum % 4; document.mylmg.src=gazou1[Che1].src; document.image.src=gazou2[Che2].src; document.kominike.src=gazou3[Che3].src; document.diary.src=gazou4[Che4].src; setTimeout("anime()",2000) } //--> </script> で、body内が <img src="/icon/info-01.jpg" name="mylmg" alt="vision" width="100" height="70" border="2" > <img src="/icon/ima-01.jpg" name="image" alt="vision" width="100" height="70" border="2" > <img src="./icon/com-01.jpg" name="cominike" alt="vision" width="100" height="70" border="2" > <img src="/icon/dia-01.jpg" name="diary" alt="vision" width="100" height="70" border="2" > です。エラーが出てしまうのですが、どこが間違っているのか分かりません…
410 :
Name_Not_Found :02/07/29 04:14 ID:nq+LTFcD
わからないので教えてください。 よろしくお願いします。 topページにFLASH使ってるんですが、プラグインのない 訪問者を自動で別のhtmlファイルに飛ばして案内させたいんです。 (レイアウトが崩れるので「FLASHプレーヤーが必要です」ってTOPには書きたくない) FLASH板でも同じ質問したのですが、JavaScriptを使って プラグインの有無を判別させればいいとのことでした。 どなたか具体的なスクリプトを教えてください。
N6ってdocument.referrer取れないんでしょうか?
413 :
Name_Not_Found :02/07/29 08:22 ID:Yj+UrFEE
>>409 どういうエラーがでるかは書かないと。ところでこれ、どうやって
JavaScriptコード起動しているのか書いてないけど、
「<body onload="anime()">」にしてるよね? ページが全部ロード
し終わっていないとページ内の画像にアクセスしようとしてもまだ
ないのでエラーになる、というパターンもよくあるから。
414 :
Name_Not_Found :02/07/29 08:33 ID:Yj+UrFEE
>>412 そんなことはないと思うけど…document.referrerって本来常に
取れるとは限らないわけだけど、そういう問題じゃなくて?
415 :
Name_Not_Found :02/07/29 10:55 ID:bhS+XtJa
エロサイトとか行くとたまに「タスクバーに出てるけどクリックしても表示 されないウィンドウ (?)」が出るんだけど、あれってどうやってんの? イントラ開発のどこかで使えないか試してみたいんだけど。
>>409 >>347 のスクリプトからもともと間違ってたんだけど
document.kominike.src=gazou3[Che3].src;
と
<img src="./icon/com-01.jpg" name="cominike" alt="vision" width="100" height="70" border="2" >
で
kominike と cominike になってる。
kominike なんて name 持ってるのないんだからエラーがでる。どっちかに統一しる。
あと349で
Che1 = imgNum % 3;
Che2 = imgNum % 2;
と分けてるのは、3コマと2コマのアニメにわかれてると思ったから
4つとも4コマのアニメなら
Che = imgNum % 4;
だけで
document.mylmg.src=gazou1[Che].src;
document.image.src=gazou2[Che].src;
document.kominike.src=gazou3[Che].src;
document.diary.src=gazou4[Che].src;
でよい。
417 :
ミトコン :02/07/29 12:09 ID:tqT+U+or
419 :
Name_Not_Found :02/07/29 16:33 ID:6TV3hRlz
初心者です。どなたか助けて下さい(>_<;) <a href="javascript: parent.A.location.href='a.html'; parent.B.location.href='b.html'; parent.C.location.href='c.html';">クリック</a> 3つのフレームを同時に切り替える上記のようなリンクを設定しました。 で、動作はうまくいったのですが、ブラウザのバックボタンを押した時に Bのフレームしかバックしてくれません。。。 3つ同時にバックさせることはできますか? よろしくお願いします。
むりれす そういうセットのフレームページでもつくってくらさい
421 :
419 :02/07/29 17:36 ID:6TV3hRlz
>420様 そ、そうですか・・・ ありがとうございました・・・ もうひとつ質問させてください。。。 ステータスバーに上記(419)のソースが出てしまうのですが、 隠す方法はありますでしょうか? onMouseOverで別のメッセージを表示させようと思ったのですが、 スワップイメージの指定でonMouseOverを使っていて上手くいかないのです・・・
これじゃだめれすか? <a href="#" onclick="〜">クリック</a>
JavaScriptをきっていることを考えて、
<a href="abc.html" onClick="parent.A
>>419 省略
>>419 c.html';">でおkかと。
>>421 onMouseOver=" SwapImg() ; window.status = 'hoge' "
で複数のスクリプトが使えるよ?ということではなくて?
425 :
Name_Not_Found :02/07/30 10:58 ID:wQXEXdJp
DOM2のaddEventListenerの3つ目の引数の意味がさっぱり わかりません。trueにしてもfalseにしても何も変わらない 気がするんですが、どういう場合に使うのですか?
426 :
421 :02/07/30 11:19 ID:y0VduB4K
>422様 423様 ありがとうございます〜! こっちの方法にしてみました。感謝です☆ >424様 はっ…複数のスクリプトって使えるんですね…!(初心者でスミマセン…) 教えてくださってありがとうございます。 こちらも活用させていただきます〜(^_^)/
>>425 子孫要素のイベントよりも祖先要素のイベントを先に処理させたい場合に使用する。
普通イベントって子孫要素から祖先要素に向かって伝播してくじゃん。
<ul id="e0"><li id="e1"><a id="e2">TEST</a></li></ul>
があったら、通常は e2→e1→e0 の順番に登録されたイベントリスナが処理される。
addEventListener の第3引数はこの順番に割り込みの許可を指定する。
割り込み処理はルート要素に近い方がより優先される。例えば、
document.getElementById('e0').addEventListener( type, listener, false )
document.getElementById('e1').addEventListener( type, listener, true )
document.getElementById('e2').addEventListener( type, listener, false )
とすると、イベントを処理する順番は e1→e2→e0 になる。
document.getElementById('e0').addEventListener( type, listener, true )
document.getElementById('e1').addEventListener( type, listener, false )
document.getElementById('e2').addEventListener( type, listener, false )
とすると、イベントを処理する順番は e0→e2→e1 になる。
document.getElementById('e0').addEventListener( type, listener, true )
document.getElementById('e1').addEventListener( type, listener, true )
document.getElementById('e2').addEventListener( type, listener, false )
とすると、イベントを処理する順番は e0→e1→e2 になる。
428 :
たまご :02/07/30 16:37 ID:pbmdj0m1
javascriptで外部テキストファイルを読み込む事は出来ますか?
>>428 フレームに読み込む手法になると思う。過去ログに何度かでてるよ。
430 :
たまご :02/07/30 18:03 ID:pbmdj0m1
>>428 さん
ありがとうございました。
でも、過去ログ探して見ましたが、見つからず;(泣
しくしくです。
どこか教えていただける方いらっしゃいませんか〜?
431 :
425 :02/07/30 18:43 ID:???
>>427 なるほどわかりました!ありがとうございます。
432 :
ごめんなさい4 :02/07/30 23:09 ID:VWsxpd4x
お世話になっています。 ちょっとはまり気味なのでお知恵をいただきたく思ってます。 早速ですが。 イメージ的には以下のような感じです。 チェックボックスを選択していない場合エラーを返します。 <script language="Javascript"> <!-- function chkNull() { var cnt = 0; for(i=0; i <= document.forms[0].stock.length-1;i++){ if (document.forms[0].stock[i].checked == true){ cnt=cnt+1 ; } } if (cnt < 1){ alert('少なくとも1つは選択してください'); return false; } return true; } //--> </script>。
433 :
ごめんなさい5 :02/07/30 23:10 ID:VWsxpd4x
<form name="hoge" action="hoge" method="hoge" onclick="return chkNull()"> //このフォームは動的な部分。SQLのレコード数で0回以上ループしている。 <input type ="checkbox" name="stock" value="#SQL.RESULT#">hoge </form> これで動かすとレコードが2つ以上の場合は、予定通り動くのですが、レコードが1つの場合、チェックボックスをONにしているにもかかわらず、チェックに引っかかってしまいます。 しらべてみると、レコードが1つの場合 document.forms[0].stock.length がイメージでは1になるはずが配列として評価されていないみたいです。UNDEFINEDを返しています。 じゃ場スクリプトの勉強が足りないためちょっと嵌まっています。 ほかの方法も含めアドバイスがあればおねがいします
434 :
:02/07/31 00:17 ID:dvnbORc/
.jsファイルを閲覧「のみ」できなくして 実行はできるようにする方法はありますか?
JavaScriptはローカルで実行されるので当然無理です。
>>432 document.getElementsByName("stock").length なら
checkboxが1つでも 1 を返してくるみたいだけど、
getElementsByNameの実装状況があまりよろしくないらしい。
document.forms[0].stock.length が Undefined を返してきたら
1 とみなすのはどうかな。例外があれば危険かもしれないけど…。
document.forms[0].stock.length が数値か Undefined の判定は
isNaN() を使う。数値でないなら true を返すので 1 を代入。
あとは 1 の場合と それ以外にわけてチェック。
<script language="JavaScript">
<!--
function chkNull(){
var cnt = 0;
var stockLength = document.forms[0].stock.length;
if (isNaN(stockLength)){ stockLength = 1; }
if (stockLength == 1){
if (document.forms[0].stock.checked == false){
alert('少なくとも1つは選択してください');
return false;
} else {
return true;
}
} else {
for(i=0; i < stockLength ; i++){
if (document.forms[0].stock[i].checked == true){
cnt=cnt+1 ;
}
}
if (cnt < 1){
alert('少なくとも1つは選択してください');
return false;
} else {
return true;
}
}
}
//-->
</script>
<form name="hoge" action="hoge" method="hoge" onsubmit="return chkNull()">
<input type="checkbox" name="stock" value="#SQL.RESULT#">hoge <br>
<input type="submit">
</form>
437 :
アッコ :02/07/31 11:55 ID:qHLmjaNK
はじめまして。今会社のHPを作っているのですが、どうしてもわからないことがあるので 教えてくださ〜い。子ウィンドウを画面の真ん中に出したいのですが、どうつけくわえたら センターにドンとでるのでしょうか? 私の今設定しているスクリプトでーす。 <script language="javascript"> <!--// function open01() {window.open("index4.html","aco","toolbar=1,location=1,directories=1,status=1,menubar=0,scrollbars=no,resizable=no,Width=720,Height=430,); ;} //--> </script> お願いします☆!
elt.value = elt.value.replace(/A/g, 'B') を使って置換をしたいのですが Aが(a+その他)の時は置換を行って、 Aが(a+b)の時は置換を行わないと言う方法を探しています。 何か良い方法があれば教えてください。
elt.value = elt.value.replace(/[^b]a/g, 'B') でした…[^]の事をすっかり忘れてた…逝ってきます。
441 :
アッコ :02/07/31 14:41 ID:qHLmjaNK
440の人、ありがとうございます。 そのサイトを見てleft=150top=100など入力して試してみたらウィンドウ動きました! でも…画面が小さな人のパソコンで見たら中央にいかないんです〜。 どんなブラウザでも真ん中にウィンドウがいくスクリプトってないのですか? すみませんアホな質問ばっかりで…
var getw=screen.availWidth;geth=screen.availHeight; var setw=getw/2;seth=geth/2;posx=getw/4;posy=geth/4; function opens(e){ window.open('index0'+e+'.html','','toolbar=no,location=no,directries=no,status=yes,menubar=no,scrollbars=no,resizable=no,width='+setw+',height='+seth+',left='+posx+',top='+posy); } document.write('<p>width:'+screen.availWidth+'/height:'+screen.availHeight+'</p>'); document.write('<hr>'); for(i=1;i<6;i++){ document.write('<p><a href="#" onClick="opens('+i+');return false;">index0'+i+'.html</a></p>'); } うああああああああああ!!!!!(゜д゜)
function opens(url,w,h){ window.open(url,'','toolbar=no,location=no,directries=no,status=yes,menubar=no,scrollbars=no,resizable=no,width='+w+',height='+h+',left='+(screen.availWidth/2-w/2)+',top='+(screen.availHeight/2-h/2)); } (´д`*)アハーン
>>444 なるほど、幅と高さに柔軟性を持たせるワケか。
うまいな。
446 :
アッコ :02/08/01 17:14 ID:MbdLQYGO
442、443、444の人ありがとうございます。全て中央にもってくるスクリプトですよね? 444の人のスクリプトを使ったのですが、ウインドウ開かないのです…、大きさや高さの 数値をいれてないからですか?すみません私java全くわからないんですけど、 どうしてもしなければならなくて…。迷惑かけます…。 <script language="javascript"> <!--// function open01() {window.open("index4.html","aco","toolbar=1,location=1,directories=1,status=1,menubar=0,scrollbars=no,resizable=no, width='+w+',height='+h+',left='+(screen.availWidth/2-w/2)+',top='+(screen.availHeight/2-h/2)); } //--> </script> おかしいところがあれば教えてください
>>446 JavaScriptをjava言うな。まずそこかあやり直せ
>>444 の
function opens(url,w,h){
の url,w,h は意味なく書いてるわけではありません。
勝手に省略して動かないとか言わないでください。
446のスクリプトを修正すると
<script language="javascript">
<!--
function open01() {
var w=数値
var h=数値
window.open("index4.html","aco","toolbar=1,location=1,directories=1,status=1,menubar=0,scrollbars=no,resizable=no,
width='+w+',height='+h+',left='+(screen.availWidth/2-w/2)+',top='+(screen.availHeight/2-h/2));
}
//-->
</script>
w は新しく開きたいウインドウの横幅
h は新しく開きたいウインドウの高さ
449 :
アッコ :02/08/01 17:31 ID:MbdLQYGO
447、448 ありがとうございます!やってみます。 JavaScriptをjavaって言ってすみません…そこからまず勉強したいと思います! 完成したら改めてお礼にきます☆
がいしゅつだろうけど、JavaScriptって長ったらしくない? JAVAじゃなくてJavaなら、JavaScriptで(・A・)イクナイ?
>>448 昔いたドキュソ会社の社長。
JavaScriptのことをJavaってよく言っていた。
「Javaではなく、JavaScriptですよ。」と言って
「わかった」と答えても、その数秒後の話の中でJavaと言っていた・・・。(´д`)
もともと人の話を聞かない人だったけど。
今どうなっているかな?この会社。
関係ないのでsage。
453 :
アッコ :02/08/01 18:05 ID:MbdLQYGO
で、できました!みなさん。感謝の気持ちで一杯です。 そして新しい疑問が出たんですが、フラッシュのスレで間違えてかきこんだのですが リンク先をcgiにしたいけれどサイズ固定ウィンドウにも したい時はどうしたら良いのでしょうか?
>>453 CGIだろうがHTMLだろうがURL変えるだけだろ?
>>453 お前には無理。
と言われたくなかったら勉強して来い。てか応用力つけろ。
456 :
Name_Not_Found :02/08/01 18:27 ID:HkUSOHci
>>450 プログラミング言語Javaも「JAVA」ではなく「Java」が正式なんだってば。
「JavaScript」が長いと思うなら「JS」でいいじゃない。
>>454-455 禿同だね!
本当はECMAScriptだけどね。
JS に一票。
JavaScript/JScript のどっちに対してもそこそこ妥当な省略に思える。
>>457 そこらへんは微妙じゃないの。ECMAScriptにない拡張構文とかあるし。
>>456-458 ECMAScriptというのは言語コアなんで、クライアント側JavaScriptにあるような
windowとかdocumentとか一切ないわけだよね。しかもFlashのActionScriptも
ECMAScriptだろ? やっぱりJavascriptとかJSとか言った方がいいと思うんだよね。
ね。
461 :
Name_Not_Found :02/08/02 10:30 ID:7Cx6liM9
すいません質問します。 トップにお絵かき掲示板の画像をランダムで表示したいです。 画像を指定すれば簡単にできるのですが画像は増えていきます。 フォルダの中身を調べるのは無理でしょうか? 何か知っていたらお願いします。
>>461 > フォルダの中身を調べるのは無理でしょうか?
JavaScriptでは無理です。
CGIを利用するのが現実的です。
463 :
Name_Not_Found :02/08/02 11:00 ID:7Cx6liM9
>>462 そうですかありがとうございます。
WebProg行ってきます。
464 :
Name_Not_Found :02/08/02 16:27 ID:qR3/rFMX
javascriptで<iframe id="cont"> というインラインフレームを操作しようと がんばっています。 移動させるには、style の left や top を使えばいいわけですが、 cont.style.left とかいてもエラーが出ます。(IE5) なにか、方法をご存知の方はいませんでしょうか?
465 :
Name_Not_Found :02/08/02 17:05 ID:8Iab32DI
すいません、スレ違いかもしれませんが、 一応JavaScriptに関することなので質問させてください。 JavaScriptからActiveXに文字列を渡す方法ってあるんでしょうか。 例えばURLを入力してそれをJavaScriptからActiveXに渡す、 するとActiveXはそのURLを使って色々なんかやる、みたいな。 (↑くれぐれもこれは例え話なんで「全部ActiveXでやれば」とか 「全部JavaScriptでやれば」なんてお願いですから言わないで下さい) 誰か知ってるなら、助けてください。お願いします。
466 :
:02/08/02 17:39 ID:???
>465 クッキー食わせるとか
467 :
Name_Not_Found :02/08/02 18:42 ID:uQn7cRCW
>>464 document.getElementById('cont').style.left = ...
じゃないのかなあ。IEの古いのだとdocument.allを使うんだろうけど。
468 :
Name_Not_Found :02/08/02 21:27 ID:qR3/rFMX
>467 有難うございます。うまくいきました。
469 :
Name_Not_Found :02/08/02 22:27 ID:qR3/rFMX
すいません。location.href あるじゃないですか。 で、 <FRAME name="main"> <FRAME name="sub"> で、mainで読み込んだページをさらに、 <FRAME name="sub1"> <FRAME name="sub2"> に分けるフレームページとして、 sub1から、mainのページを変更したいのですが、どうすればいいでしょう?
>>465 普通にプロパティやメソッドにアクセスできます。
document.getElementsByTagName('hoge')[0] これで最初のhoge、ということになるのはわかったのですが、 全てのhoge、というアクセス方法もあるのでしょうか?
[0]を消す
こういうことですか?…動かないのですが。 function eve1(){ document.getElementsByTagName('hoge').className='class1'}
(´・ω・`)んー。わかりませんです。
あ、なるほど。できました。 どうもありがとう。 function eve1(){ node=document.getElementsByTagName('hoge'); for(x=0;x<node.length;x++) node('hoge')[x].className='class1'}
478 :
Name_Not_Found :02/08/03 04:31 ID:jaE6+HH9
JavaScript超はじめたばかりです。 どーしてもわからないので教えてください。 親ウインドウと子ウインドウがあります。 子ウインドウをフレーム分割してます。 親ウインドウから、子ウインドウの一部を切り替えたいんです。 (全体リロードでなくて) 子ウインドウがない場合は子ウインドウを開いて 子ウインドウがある場合は、一部分だけ切り替え。 みたいな感じにしたいのですが、 どなたかお教えください。 よろしくお願いします。
479 :
Name_Not_Found :02/08/03 09:38 ID:RDhVGLiG
>>478 超はじめたばかりっすか! (ぴたテンふうに)
子ウィンドウの名前を'child'、その中の切替えたいフレームの名前を'frame1'
とするっす(しつこい)。
if(!top.frames.child) {
window.open('開くURL', 'child');
} else {
top.frames.child.frames.frame1.location.href = '飛ばすURL';
}
とかじゃないっすかね、てひー(さらにしつこい)。
480 :
478 :02/08/03 13:25 ID:jaE6+HH9
>>479 さんありがとうございます。
でも私がバカなので、動きません。
子ウインドウの名前の宣言か何かが必要なんでしょうか?
function Win01(){
if(!top.frames.child) {
window.open('frame/frameset.html', 'child');
} else {
top.frames.child.frames.frame1.location.href = 'frame/file01.html';
}
}
同様にWin02()も。
として、aタグの中で、a href="#" onClick="Win01()"
同様にWin02()も。
としたんですが動いてくれません。
top.frames.child.frames.frame1.location.href の部分を
child.top.frame1.location.href としてもダメでした。
私がダメだからかな?
481 :
助けて(;_;) :02/08/03 14:57 ID:9ufiJgRY
dreamweaverというビルダーを使って、ホームページを制作してる♀です。 タグとか全然意味わからないので、dreamweaverで簡単に作ってきてました。 でも、今度動画を入れようと思ったら、どうしても表示されません。 WEB上では見られないのです。。。 MPEGファイルにURLをつけるってどうやるんですか? 素人が運良くこなせていて、ついに意味不明の壁にぶつかってしまいました。。 ヘルプ見ても、専門用語ばかりで意味不明です(;_;) 誰か助けてください(>_<)
482 :
助けて(;_;) :02/08/03 15:03 ID:9ufiJgRY
すみません(>_<) 書くとこマチガエタみたいです。。。 ごめんなさい!
初めて書きます どうぞよろしくお願いします! えっと、質問なのですが、、 HTMLのテーブル内のバックグラウンドを アクセスの度にランダムで変化させる事ができますが、 <html> <head></head> <script language=javascript> <!-- bgimg=new Array(); bgimg[0]='img/kabe01.gif'; bgimg[1]='img/kabe02.gif'; bgimg[2]='img/kabe03.gif'; bgimg[3]=''; bgimg[4]=''; a=Math.floor(Math.random()*bgimg.length); //--> </script> <body> <script> <!-- document.write('<table border=2 width=300 background="'+bgimg[a]+'">') //--> 上記のように書くのではないやり方がありましたら教えて頂きたいですTT BodyにonLoadで画像を読ませもしたいのですが、 ちょっと考えても調べても上手くできないのでお願いしますTT
bgimg = new Array('img/kabe01.gif','img/kabe02.gif','img/kabe03.gif','',''); ってことか?それともdocument.writeを使わないってことか…? idふってdocument.getElementById("hoge").background=bgimg[a];とかしか思いつかない
485 :
483 :02/08/03 15:49 ID:???
すいません わかり辛かったですね ごめんなさい 484さん えっと、document.writeを使ってtableを使うわけではなく、 idを振ってやりたいのですが、 詳しく書き方を教えて頂ける嬉しいですTT
486 :
Name_Not_Found :02/08/03 18:46 ID:/+K2s1ai
>>480 まずその関数Win01()とかWin02()とかの冒頭にalert('Win01');とか挿入して、
リンクを選んだとき確かにその関数に来ていることを確認します。
来ている場合は少なくとも新しい窓は開くと思うのだけどね…
>>485 まずtableタグに「<table id="table1" ...」のようにidを降ります。で、さらに
JavaScriptコードは必ずtableより後に置き、次のような感じに。
<script type="text/javascript">
var arr = ['img/kabe01.gif','img/kabe02.gif', ...];
var img = arr[Math.floor(arr.length*Math.random())];
document.getElementById('table1').style.backgroundImage = 'url(' + img + ')';
</script>
487 :
483 :02/08/03 19:20 ID:???
486さん わかり易い説明有難う御座います! コードを<body>の上に書き、<body>にてonLoad出来て、 486さんの書いたようなidを振ってランダムロードさせる事は 出来るのでしょうか? 何か我侭な質問で申し訳有りません 教えてくださいお願いしますTT
488 :
Name_Not_Found :02/08/03 21:19 ID:2tBLyVS1
以下の二つの書き方は両方とも同じ結果となるんですが、文法的な見方や 鉄人的な見方だとどちらが良いのでしょうか? <script type="text/javascript"><!-- var now = new Date(); var year=now.getFullYear(); var month=now.getMonth()+1; var day=now.getDate(); //--> </script> </head> <body> <p> <script type="text/javascript"><!-- document.write("今日は" + year + "年" + month +"月" + day + "日です"); //--> </script> </p> ------------------------------- <script type="text/javascript"><!-- var now = new Date(); var year=now.getFullYear(); var month=now.getMonth(); var day=now.getDate(); //--> </script> </head> <body> <p> <script type="text/javascript"><!-- document.write("今日は" + year + "年" + (month+1) +"月" + day + "日です"); //--> </script> </p>
489 :
Name_Not_Found :02/08/03 21:20 ID:ne/4HwZd
>470 parent使うのはわかりますが、 parent.main.location.href ="--.html"; とたたいても、オブジェクトじゃないと言われます。 どうすればよいでしょう?
490 :
とん :02/08/03 21:34 ID:???
質問したいのですが・・・ javascriptを使ってレジストリを書き換える事は,できるのですか?
491 :
Name_Not_Found :02/08/03 22:21 ID:9pJ5T6L5
>>487 前に書きたい場合は
<script type="text/javascript">
function init() {
... 上に書いたような動作
}
</script>
<body onload="init()">
以下普通にどうぞ、ってな感じで。
>>488 本っっっっっ当にどっちでもお好きなように!!! 思わず脱力した。
>>489 ほーら、だからつっけんどんな回答って…「parent.frames.main.locaion.href = ...」
が正しい。なんでみんなname属性つけたらそれが直ちにwindowのプロパティになる
と期待してるんだろう。そんな危なくていい加減な仕様、過去のものなのに。
>>490 できたら悪い奴らがさぞかし喜ぶことだろうよ。却下。
レジストリ弄ってどうするつもりなのか…
1枚目のペインを30秒後、2枚目のペインを1分後にリロードするようにしようとしたんですが、
<SCRIPT>
timer1=setTimeout('top.frames.child1.location.reload()',30000);
timer2=setTimeout('top.frames.child2.location.reload()',60000);
</SCRIPT>
これだとうまく動きませんでした。
<SCRIPT>
url="
http://www.2ch.net/ ";
timer1=setTimeout('top.frames.child1.location.href=url',30000);
timer2=setTimeout('top.frames.child2.location.href=url',60000);
</SCRIPT>
こうすると動くようになったんですが、上のやり方のどこがまずいのでしょうか?
だいじなところはいじくれますか?
496 :
478=480 :02/08/04 00:36 ID:x88EqTSu
486さんもありがとうございます。 アラートもきちんと出るし、ウインドウも開くのですが、 エラーが出てるのと、frame1が切り替わりません。 助けてください。よろしくお願いします。
498 :
Name_Not_Found :02/08/04 00:57 ID:QG3gRjkw
WebとWSHは無関係。
世界保健機関?
500おめ
質問させて下さい。 例えばHTML内に、 <script src="ファイル名.js"></script> と外部ファイルを読み込ませるタグを記述した場合、ファイル名を辿ればそのファイルを誰でも見る事が出来ますが、それを観覧させなく出来る方法を探しているのですが見つかりません。 .htaccessなどで方法はありますでしょうか? HTMLファイルなら、.htaccessでもアクセス制限等は簡単に出来ますが… どなたかお分かりになる方がいらっしゃいましたら、御返答よろしくお願いします。
「公開しなきゃいい」
504 :
Name_Not_Found :02/08/04 09:48 ID:SywoL6kN
>>502 .htaccessで制限した場合、ブラウザもそのJSファイルを取り寄せることができなく
なります。ということは、そのJSファイルのプログラムを動かすこともできません。
ちゃんちゃん。だからパクられたくないなら公開するなというのが
>>503 の発言。
なお、スクリプトを暗号化(?)するというのもありますが自分はやらないので勝手に
調べてください。
>>495 ハァハァ?
サーバさいd
おいちょっとドコへつれていk
ひょっとしてものすごく初歩的な質問だったらスマンのですが 一箇所のリンクをクリックしたときに、ページ内の複数の場所で同時にアクションを起こすことって 論理的に不可能なんでしょうか?
>>506 具体的にどんなことがしたいのかわからないけど、
たとえば1箇所のリンクをクリックすることで複数のフレームに別々のページを読み込ませたり、
あるリンクの上にマウスカーソルが乗ったら複数の画像を同時に変化させるとかできるよ。
508 :
506 :02/08/04 16:51 ID:???
>>507 レスありがとうございます
うーん、具体的にはですね、エクスプローラのような階層表示のメニューを作ろうとしたんです。
んで、スタイルシートのdisplayを使って
リンクをクリックするとnone/blockを切り替えるようにして、
そこまではうまくいったのですが
それからさらに一番最初のリンクですね、それをクリックすると
すぐ下に開くメニューとは別の場所(同ページ・フレーム内の)で
同時に異なるメニューを表示するようにしたかったのですが
そこでエラーが出て実行されなくなってしまったんです。
これってやっぱり
>複数のフレームに別々のページを読み込ませたり
>マウスカーソルが乗ったら複数の画像を同時に変化
とは根本的に問題が違うんですよね?
>>508 ややこしそうなこと挑戦してるんすね。でもできないってことはないと思われ。
とりあえずソース貼ってみれ。
自分は力になれないかもしれないが、頭のいい人が解決してくれるかも
初心者質問ですみません 最近JAVA勉強し始めたんですがブラウザの戻るを禁止にする場合 <a href="ジャンプ先のアドレス" onclick="javascript:location.replace (this.href); event.returnvalue=false; event.cancelbubble=true;">コメント</a> で出来ないのですが何か抜けているでしょうか? これ入れても出来ませんでした
511 :
506 :02/08/04 17:36 ID:???
もともとのちゃんと動作するのは <head> <script Language="JavaScript"><!-- function exMenu(tName) { tMenu = document.all[tName].style; if (tMenu.display == 'none') tMenu.display = "block"; else tMenu.display = "none"; } // --></script> </head> <body> <a href="javaScript:exMenu('treeMenu1')">リンク</a><br> <div id="treeMenu1" style="display:none"> 内容<br> が<br> ここに<br> </div> </body> なのですが 同ページ内で、「リンク」をクリックしたときに もう一つ別の内容を同時に開くために <div id="treeMenu1" style="display:none"> 内容2<br> を<br> ここに<br> </div> を入れるとエラーが出てしまうのです あれこれ考えて、内容2のidをtreeMenu2に変えて 「リンク」を開くときに関数を複数指定出来ないかとも思ったのですが それはそれでやり方がいまいちわからんのです・・・
512 :
506 :02/08/04 17:40 ID:???
ありゃ、すみません、自己解決してしまいました・・・ <a href=>内にexMenu()をもう一つ追加してあげるだけでよかったんですね。。。 スレ汚しすみませんでした。
>>510 JAVAねぇ…。
君は
>>1 の
|JavaScriptとJavaの違いを理解する者
|ユーザーに迷惑となるスクリプトを書かない者
|過去ログを読むことができる者
に反していると思うが。
過去ログ(
>>1 だけでも)を読んでいれば、こんなこと書かないはずだしねぇ…。
# なんで * JavaScript *スレでJavaと書くやつは
# Javaでなく JAVA (全て大文字)なんだろう。
>513 心狭いな
>>510 javascript:を外せば動くが、location.replaceで飛ばしてもIEでは「戻る」を無効化できない。
>>514 戻るの無効化の意味がわからなかったんだけど。
517 :
510 :02/08/04 20:29 ID:???
ありがとうございます
<script language="JavaScript" type="text/javascript"><!-- location.replace("アドレス"); //--></script> なんてのもありですね
519 :
Name_Not_Found :02/08/04 21:20 ID:uu0A2JKe
親ウインドウのイメージマップをクリックするとサブウインドウが開き、 子ウインドウのボタン(onClick="window.close()")で閉じられるように しました。ところが、Mac版のNetscape4.xでは、ウインドウを閉じた あとに、親のイメージマップのリンクを認識しなくなります。 いろいろ試してみたところ、 1.マップ画像以外の場所をクリックすると認識するようになる。 2.テキストに同じリンクをはったところでは問題ない。 3.ブラウザのクローズボタンで閉じた時も問題ない。 4.Win版のNetscape4.Xでも発生しない。 心当たりのある方がいらっしゃいましたら、ご教示おねがいします。
親windowのソース希望。 イメージマップ書くのだるい。
521 :
519 :02/08/04 23:48 ID:???
>520 ありがとうございます。テスト用に作ったマップのソースです。 <p><img src="test1.gif" width="180" height="100" border="0" usemap="#Map"> <map name="Map"> <area shape="rect" coords="10,10,170,90" href="#" onClick="window.open('test2.html','newwin','width=200,height=200')"> </map></p> さらに調べてみたところ、子ウインドウの閉じるボタンの位置が マップと重なっているときに発生するような感じです。
>521 なるほど、確かに変だ。 原因は不明。 回避策としてはマップ用の画像をスライスしてテーブルに組み込む。 →普通にリンクを貼る。 →それをmacnn4の場合に限ってdocument.writeで書き出す。 ってのは?かなりだるいけど。 ほんと、何でだろうね?
>522
524 :
519 :02/08/05 02:53 ID:???
>522 調べていただきありがとうございました! よく使うパターンだと思うのですが…検索しても 情報が見つからなかったのです。引き続き、 対策を考えてみます。
秀和システムの本によると、netscape2.0ではarea内のonMouseOver等の挙動が云々・・・。 macのn4もこの辺を引きずっているのではないかと。
526 :
Name_Not_Found :02/08/05 10:05 ID:i5ksMH5Y
>>519 子ウィンドウをクローズするところで、まず親ウィンドウにfocus()して、それから
子ウィンドウをクローズする、というふうにしてみたらどうだろうか。
submitボタンでURLに移動するjavascript教えてくれろーーーー
URLに移動? 日本語勉強して故意。
529 :
465 :02/08/05 11:47 ID:dCmZ6nx4
>>471 レスありがとうございます。
てことは、JavaScriptから文字列を渡す時は
返り値用変数 = ActiveXのID.メソッド(パラメータ);
こんな感じで渡せばいいんでしょうか。
ただまだ問題があって、これによって呼び出される方を
どう書いたらいいのかがわかりません。
でもここから先はスレ違いですよね。
>530 ワラタ
532 :
Name_Not_Found :02/08/05 13:49 ID:coZwnxPf
JavaScriptにfloat objectなんてありましたっけ? DOM2CSSをお勉強してるのですが、 ECMAScript言語結合のページにいくつか書いてあるんです。 getFloatValueメソッドはfloat objectを返却するだとか何とか。
533 :
Name_Not_Found :02/08/05 21:11 ID:j9qMGEnb
>>532 和訳の問題かも知れないよ。W3Cの元の文書を読んでみては?
534 :
519 :02/08/05 21:20 ID:???
>526 opener.focusでもうまくいきませんでした。 子ウインドウのonUnloadで親を強制的にreloadしても ダメでした…時間があるときにブラウザ分岐して マップと重なりにくい位置にボタンをつけるようにします。
JavaScriptなんか使っちゃ駄目だよー 頭悪くなるよ!
JavaSprictを使いなさい
メールを強制的に送信させる方法は,ありますか? <img src="mailto:1">ではなくて, 完璧に送信してしまう奴が知りたいんですけど・・・ javascriptを使ってもいいんで,教えてください。
538 :
Name_Not_Found :02/08/05 23:16 ID:40fe+R/C
そんな迷惑な機能ない
>537 却下 とりあえずJSでは不可能
>>532 float getFloatValue(in unsigned short unitType)
raises(dom::DOMException);
IDLにはこうあるのでnumberリテラルのことだと思いますよ。
左のフレームのリンクにカーソルが行くと下のフレームに文字が出る! っていうのはどうやれば良いんでしょうか? 頭悪い質問だとわかってて敢えて聞きます。 オネガイオシエテ
function str(i){ parent.frames[1].document.getElementById('d0').innerHTML=i; } <a href="#" onMouseOver="str('文字')" onMouseOut="str('')">link</a> /*-----------------------------あっちのframe-------------------------------*/ <div id="d0"></div> どんなフレーム分割にしてるのかくらい言えよ。
テキストコンソールにformで選択したtxtファイルを 表示させるJavaScriptを教えてくらさい。 ____________________________ | d\chin\poko.txt | |選択| ------------------ ___________________ | | | そんなことしたらイカン。 | | オテント様も。みてる。チュウ。話や。 | | オカアチャン。恥ずかしいわ。イツテヨシ。アボン。や。 | | 反省せなイカン。 | | チンポコ。。。。。。。。。。。。。。 | | | -----------------------------------------
>>542 | |
| |
|文 字|
| |__________________
| |左フレームにカーソルが来たらここに文字を表示
と。こんな感じにしたかったのです
説明不足スマソ
×左フレームに>○左フレームの文字に ・・・吊
<script type="text/javascript"> function func(f){ parent.frames[2].document.body.innerHTML=f; } </script> <p><a href="#" onMouseOver="func('あ')" onMouseOut="func('')">あ</a></p> <p><a href="#" onMouseOver="func('い')" onMouseOut="func('')">い</a></p> <p><a href="#" onMouseOver="func('う')" onMouseOut="func('')">う</a></p>
547 :
532 :02/08/06 08:59 ID:???
>>533 あ、和訳じゃなくて元のW3Cの文書です。
Appendix C: ECMAScript Language Binding
>getFloatValue(unitType)
>This method returns a float object.
>The unitType parameter is of type Number.
>This method can raise a DOMException object.
>>540 そうですよね。float objectなんて無いよな〜と思いつつ
自分が知らないだけか?と思い聞いてみました。
おふたりともありがd
548 :
Name_Not_Found :02/08/06 09:21 ID:t3A3HE46
関数から関数呼ぶときに その関数名(関数そのものじゃなくて)を知りたいんだけど、 myFunc.caller だと関数そのものを返してしまう。 何かいい方法あります?
549 :
Name_Not_Found :02/08/06 10:27 ID:lLOVZhJn
>>547 そうねえ、float valueの間違いだろうねえ。もっとも言語によっては
値のことも「object」と呼ぶからねー。
>>548 無名関数もあるから難しいんじゃない?すべての関数オブジェクトに
対してfunctionNameとか適当なプロパティを決めて自分で設定しまくるとか。
function a() { window.alert(a.caller.funcName); }
function b() { a(); }
function c() { a(); }
b.funcName = 'b';
c.funcName = 'c';
b(); c();
>>548 toString呼ぶしかないと思われ(func.toString()
551 :
Name_Not_Found :02/08/06 13:20 ID:fUR2agFG
552 :
味の素 :02/08/06 13:25 ID:fUR2agFG
皆さんに質問があります。
以下のような検索フォームがあったとします。
function JM_search02(){
document.Fr02.action = "./condition/index.asp";
document.Fr02.target = "_top";
document.Fr02.submit();
}
--------------
<form
name="Fr02" METHOD="POST" ACTION="JavaScript:JM_search02();">
<input type="HIDDEN" NAME="hid_hyouji_ku" VALUE="2">
<input type="HIDDEN" NAME="hid_log_menu_title_ku" VALUE="R">
省略
</form>
このとき、
以下のような自動検索スクリプト(google)のように、
自動でclickメソッドが実行できるように
できるものでしょうか?
str = clipboardData.getData("Text");
とあるように、ショートカット一発で、
味の素のサイトから、今日の料理のレシピが検索できるので、
とても嬉しいです。
----------------------
<script language=JScript defer>
function setvalue() {
str = clipboardData.getData("Text");
document.all("t").value = str;
document.all("s").outerHTML = str;
document.all("b").click();
}
</script>
</head>
<body onload="setvalue();">
<p>「<span id=s></span>」を検索します。</p>
<form method=get action="
http://www.google.com/search ">
<input name=q type=text value="" style="visibility:hidden" id=t>
<input name=hl type=hidden value=ja>
<input name=btnG type=submit value="Google 検索" style="visibility:hidden" id=b>
</body>
</form>
553 :
483 :02/08/06 13:46 ID:???
答えて頂いた皆様本当に有難う御座いました! お礼を言うのが遅れてすいませんでした>< 本当に助かりました!
律儀な人だ。
555 :
548 :02/08/06 15:57 ID:gka9MsNB
>>549 めんどいぞぃ。それなら直接引数に"myFunc"いれた方が早い。
が 、それが面倒なんで聞いてます。
>>550 myFunc.callerと出てくるもの変わりなし。
(呼び出してるところは呼び出し元とその関数のなかと違うが)
alert(myFunc.caller);
alert(myFunc.toString());
じっさいやってみ。
function myFunc(){
・・・
}
556 :
548 :02/08/06 16:03 ID:4si5zY/L
Perlの funcName = (caller(0))[3] みたいにできないのか? こんなに変態チックじゃなくていいが
>>555 型が違う。
alert(typeof myFunc.caller);
alert(typeof myFunc.toString());
後者はstringを返すので、後は正規表現でも使って名前を抽出するとか。
例:
myFunc.toString().match(/function\s+(.+?)\s*\(/); // Operaでは上手く適合しないので要改良
alert(RegExp.$1);
myFunc.caller.toString()
>>555 っていうか呼び出し元の関数は
currentFunc.arguments.callee.caller
だよ
>>557 も何言ってんのかよく分からん。
arguments.callee.caller.toString()
561 :
Name_Not_Found :02/08/06 20:59 ID:TDq6i+nP
var funcName = arguments.callee.toString().match(/function\s+(.+?)\s*\(/)[1]; var callerFuncName = arguments.callee.caller.toString().match(/function\s+(.+?)\s*\(/)[1];
質問です。 JavaScriptのwindow.open()でWord文書とかを指定すると、 Word(アプリ)が起動して文書が表示されますが、それと同時に 何も表示されていない新規ブラウザも表示されてしまうんです。 この、空のブラウザを表示させない方法ってあるんでしょうか。 正直邪魔なんですけど。 よろしくお願いします・・・
563 :
Name_Not_Found :02/08/06 23:02 ID:ii+q1wfQ
ん?
windowをopenしなければいいと思います・・・
565 :
562 :02/08/07 00:56 ID:???
・・・なるほど
566 :
562 :02/08/07 08:55 ID:???
window.open()を使わずにWebサーバ上の Word、Excelなどのドキュメントを開くには どうすれば良いのでしょうか。 window.open()で開くのが、Word、Excel等の ドキュメントだけでなく、Webページの場合も あるので(引数を変えるだけで、同じ処理に しようと思ってます)、その場合には新規ブラウザが 開かれる必要があると思うんです。 そもそもWebページと、Word等で処理を分ける べきなんでしょうか・・・
568 :
Name_Not_Found :02/08/07 17:56 ID:vrxIs/cy
Last-Modifiedを吐かないサーバなんだけど <meta http-equiv="Last-Modified" content="Wed, 07 Aug 2002 08:19:04 GMT"> ↑こんな風にファイル内に更新日時を埋め込むんで <script type="text/javascript"> <!-- document.write(document.lastModified); //--> </script> ↑こうやって取り出そうとするとNN4.7では期待通りなんだけど IE5.0だと現在の日時が表示されてしまう。 これはIEのバグ?なんか対処法あったら教えてください。
569 :
Name_Not_Found :02/08/07 22:03 ID:9KgNqKgQ
過去ログが非常に多いので、探しきれませんでした そこで、新たに質問させてください JavaScriptのマウスオーバーをつかって、テキストを表示することは できますか?レイヤーを使うとできるのですが、表示サイズでかなり 位置が変わってしまいます。例えば、あるリンクにマウスを当てると 同時に、説明テキストが表示されるような・・ 前に、この板で見たような気がするのですが、探せませんでした よろしくお願いします
571 :
Name_Not_Found :02/08/07 23:10 ID:5Cqh/ehD
時間に応じてリンク先を変えるには、どうしたらいいのでしょう? JAVA関係のサイトを見てもよく分かりません(時間に応じて表示メッセージを変えるというのはよくあるのですが)。 どなたかご存知の方、あるいはそういうことが分かりそうなサイトをご存知の方、どうか教えてください。
<script>
var times=new Date();
if(times.getHours()<12){
document.links[0].href='
http://www.yahoo.co.jp/ ';
}else{
document.links[0].href='
http://www.google.co.jp/ ';
}
</script>
<a href="#">#####</a>
若しくは時間によってdocument.write('<a href="〜〜〜
を書き出す。
>569 「onMouseOver」でブラウザ検索すれば山程出てくると思う。
574 :
JAVA厨多発 :02/08/08 00:52 ID:ZoT+SIMg
今年の夏厨にはJava厨が多いね。 おれが、みんなの代わりに言ってやるよ。 ここはJavaのスレじゃないし、 おまえが求めてるのは、Javaじゃない。 Javaはおまえがの頭には無理だ! まずJavascriptという言葉から徐々に覚えていこう。 ここのスレに来るのはそれからだ。 まぁ、せいぜいHTMLで表でも作ってろってこった。 (コピペ・リンク奨励)
575 :
JAVA厨多発 :02/08/08 00:53 ID:ZoT+SIMg
失礼コキマシタ × おまえがの ○ おまえらの
577 :
:02/08/08 02:19 ID:GaTfpmXh
変数の中にスクリプトを書いてそれを実行させるには、 var func = "alert('test'); tmpFunc = new Function(func); tmpFunc(); とやる他にやりようがありますか? 呼ぶたびにnewするのはメモリの無駄食いという気がして ちょっと抵抗あるんです。
578 :
Name_Not_Found :02/08/08 03:33 ID:RdfhcNF9
2chからのアクセスは
http://ime.nu/ 〜により隠蔽されますが、
これより前の履歴を探るのは、
アクセス解析器のdocument.referrerをいじる事で解決できるでしょうか。
document.referrerは最大で一個前の履歴しか照会不可なんでしょうか。
579 :
Name_Not_Found :02/08/08 07:49 ID:HBtUBzAf
>>577 文字列で動的に関数の処理を決める以上、それは無理です。
アルゴリズムを考え直しましょう。
>>578 不可
>>579 try {
URL url = new URL("
http://www.2ch.net/hoge.txt ");
URLConnection in0 = url.openConnection();
InputStream in1 = in0.getInputStream();
InputStreamReader in2 = new InputStreamReader(in1, "SJIS");
BufferedReader in3 = new BufferedReader(in2);
String line;
while ((line = in3.readLine()) != null) {
writeln(line);
}
in3.close();
} catch (IOException e) {
System.out.println("Error: " + e.getMessage());
}
java.io, java.net importするの忘れんなよ。
582 :
あん :02/08/08 08:32 ID:VbXhlw+N
<script Language="JavaScript"><!-- w = 700; h = 500; x = (screen.width - w) / 2; y = (screen.height - h) / 2; resizeTo(w,h); moveTo(x,y); // --></script> これでさらに、 「toolbar=no,location=no,directories=no,status=no,enubar=no,scrollbars=yes,resizable=yes;」 こういう風に設定したいんですけどどう書けばいいのでしょうか。
素直にopen使え
585 :
Name_Not_Found :02/08/08 15:28 ID:UjuFCI3P
cgiやflashのように 〜〜〜hogehoge.html?dat=aiueo みたいにURLにデータを含ませて JAVAスクリプトにデータを渡すにはどうしたら良いのでしょう? データを取得する方法が見当たらないのですが…
>>585 location.search で取れる。
587 :
585 :02/08/08 17:06 ID:???
回答早過ぎですよ!ありがとう
588 :
Name_Not_Found :02/08/08 17:12 ID:uHu9j2NR
appendChild(oNodes)ってどうやって使うんですか? というか、 〜.children(0)の小ノードのspan群をいじくりたくて ex) <span>foo</span><span>piyo</span><span>end</span> _______________________________^_______________ このような最後から二番目に新しい<span/>を入れたいのですが、 何かきれいにできないかと探していたらそんなのが出てきたんで・・・ 何かいい方法があったら教えてください。 for(i=0;i<childNodes.length;i++){ if(i == childNodes.length - 1){ str += "<span></span>" + chilren(i).outerHTML; } else{ str += chilren(i).outerHTML; } } innerHTML = str; これよりスッキリさせたいれす。
589 :
588 :02/08/08 17:13 ID:uHu9j2NR
アンダーヘアーがずれますた(W
>>588 document.createElement()でHTML要素のオブジェクトを作り、
parent.insertBefore()でそのオブジェクトを挿入する。
(その例の場合は、appendChild()よりもinsertBefore()の方を使います。)
詳しくは、
>>3-4 (DOM関連)を見てください。
分からなければ、また質問しに来て。
591 :
571 :02/08/08 18:43 ID:qy+3+lec
>>572 ありがとうございました。で、やってみたんですが、何も表示されず、うまくいきません。
トライポッドのフリーフォームのHTMLの中に書き込んだんですが、何か根本的に間違ってるんですかね?(←あふぉ?)
それと、以下に、「6時から20時だいはページBに飛ばし、その他の時間はAに飛ばす」というのを切り貼りして作ってみたんですが、これゼンゼーン違いますか?
誰か親切な方教えてくだされ。
……それと、これだけをそのまんまフォームのHTMLの中に書いても全く意味ないんでしょうか? わたしは何か根本的な間違いを犯してますか?
<SCRIPT>
<!--
var times=new Date();
if((times.getHours() >= 0) && (today.getHours() < 6))
{document.write('<a href="http……">ページA</a>';}
if((times.getHours() >= 6) && (today.getHours() < 21))
{document.write('<a href="http……">ページB</a>';}
if((times.getHours() >= 21) && (today.getHours() <= 23))
{document.write('<a href="http……">ページA</a>';}
// -->
</SCRIPT>
592 :
00 :02/08/08 18:51 ID:???
>>591 today.getHours() のtodayってどこからでてきたの?
594 :
571 :02/08/08 19:16 ID:qy+3+lec
>>593 ……すみません。よく分からずに、見おう見真似で作ったもんで、さっぱりわかってません。
どうしたら直るんでしょう?
見様見真似
596 :
571 :02/08/08 20:43 ID:qy+3+lec
>>595 ありがとうございます。漢字弱いもんで。。。
よー分からんが、また見様見真似で直して見ました。今度はどうでしょう?
で、これって、トライポッドのフリーHPでも使えるんですかねえ?
<SCRIPT>
<!--
today = new Date()
var times=new Date();
if((times.getHours() >= 0) && (today.getHours() < 6))
{document.write('<a href="http……">ページA</a>';}
if((times.getHours() >= 6) && (today.getHours() < 21))
{document.write('<a href="http……">ページB</a>';}
if((times.getHours() >= 21) && (today.getHours() <= 23))
{document.write('<a href="http……">ページA</a>';}
// -->
</SCRIPT>
JavaScriptを実行するのは鯖じゃないから・・・ ローカルマシンだから・・・
とりあえずセミコロンはつけてほしい。
<SCRIPT type="text/javascript"><!-- today = new Date() if (today.getHours() >= 0) {document.write('<a href="http……">ページA</a>';} if (today.getHours() >= 6) {document.write('<a href="http……">ページB</a>';} if (today.getHours() >= 21) {document.write('<a href="http……">ページA</a>';} // --></SCRIPT> これで充分だと思うが。
あ、today宣言の後セミコロン忘れた
ネタは結構だよ。
602 :
Name_Not_Found :02/08/08 22:59 ID:YoEr4ZBP
初心者ですいません。 window.open()を使用せずにmenubarやtoolbarを表示させないように指定する事はできますか? 現在window.resizeTo()でサイズ指定をしているのですが、メニューバーなども表示させないようにしたいのです。
>window.open()を使用せずに 無理
>>604 精進が足りんな。
先入観に囚われて真実が見えておらん。
window.open()を使用せずとも可能だぞ。
>>602 マジレスすると無理。参照はできるけど、設定は出来ない。
もし出来るとすれば、自分でメニューから消す、とか。
俺もwindow.open()を使わずにはずすやり方知りたい。 だって、そのページをお気に入りに入れられちゃったら リンクを飛ばすところで設定しているのが全部意味なくなっちゃうから。 だから表示されるページ側で設定できるのが一番なんだよ。
アフォが多いな夏休み
リファラ使えばなんとかなるか??
>>611 ローカルで試したところ、
window.open() したページのリファラは、空でした。
(Win2k IE6)
>>612 window.open() で開いたページのリファラがそのスクリプトを記述したページ以外のURLなら、飛ばす、
という意味だと思いますよ。
>>613 それならopenerのURIと比較すればいいと思う。
openerか!で、openerがなければそれもindexあたりに飛ばすと。
それならいけそうだ。
>>613 どうよ?
ローカルだからリファラが空なだけ。 残念でした。
>>616 |┃| ┃||| 人(ヽ人(ヽ人(ヽノ) ||┃| | |
|┃| ┃||| (ヽ(ヽ ノ) ||┃| | |
|┃| ┃||| ヽ ノ ||┃| | |
|┃| ┃||| ヽ ノ ||┃| | |
|┃| ┃||| ヽ ノ ノ∨∨∨ヽ |
|┃| ┃|||ヽ ノ ) ( |
|┃| ┃|||ヽ /(((( ((ヽ(( )ノ)))ノ))ヽ ノ ) お ( |
|┃| ┃|||ヽ 〈 ̄\_ _/ ̄〉 ノ ) | ( |
|┃| ┃|||ヽ | \__\ |l /__/| / ) ま ( |
|┃| ┃|||ヽ(ヽ | _ \|lll|/ _ | /)/ ) い ( |
|┃| ┃|||ヽ | | | / 0 \ ll| ,/ 0 \|| / / ) が ( |
|┃| ┃|||ヽ ヽ| 三三 / | \ ̄三 | |/ / ) | ( |
|┃| ┃||| ヽ ∨ 三 / , |、 三 ∨ / ) l ( |
|┃| ┃||| ヽ| `l´ |/ ノ | ( |
|┃| ┃||| | | l⌒⌒l | | ⌒) っ ( |
|┃| ┃||| | \ |/γヽ| / | ) !? ( |
|┃| ┃||| | \ (___) / | ) ( |
|┃| ┃||| | \ / | ∨∨∨∨| |
|┃| ┃||| | \___/ | ||┃| | |
>>615 613!=602 && 613!=609 です。
window.open() したページのリファラはどうなのか、知りたかっただけなので…
>>616 IE6の右下の所に「イントラネット」と表示された状態で確認したのですが、
それでも、リファラは空になるのでしょうか?
>>602 僕も超初心者で、同じことがやりたくて小一時間ほど
調べたり考えたりしたんですが、
@window.toolbar = false;は一部のNNでしか動かなくて
Aはじめに仮のindexページを作り、そこでブラウザ判定して、
BjavascriptがOKな人には仮のindexページからwindow.open("","","toolbar=no,****");で本当の
indexページに飛ばす。
C本当のindexページが開いたら自動的に仮のindexページを閉じる。
DjavascriptがNGの人には、、、?
あれ、ってことは仮のindexページっていうより、そこでユーザーに
javascriptがOKかNGか選んでもらうほうが楽チンってこと?
でも、違うんだよね、toolbarとかがないページが、「ぱっ」て開くページにしたいんだよね。
ううう、どなたかお知恵を貸してください。
オシエテ && 長文スマソ
toolbarなどをいじるのをあきらめる。
そういうのを身も蓋もないという。
うざいだけなんだよアフォ
http://www.makoto3.net/DHTML_IE_NEO3/neo3-0004.html の画像表示する部分をHTMLに変えたいのですが
function dispImg(image,text){
photoArea.innerHTML = "<img src='" + image + "'><br><br><div style='font-size:9pt;text-align:center;'>" + text + "</div>"
window.status = photoArea.innerHTML
をどう変えたら良いか分かりません
お願いします、教えてください
624 :
Name_Not_Found :02/08/11 22:42 ID:Tm+fADP2
>>623 どういうHTMLに変えたいの。そもそも「...innerHTML = '...';」の中に突っ込むだけだと思うが。
画像表示の部分を、webページにかえるでした、 「...innerHTML = '...';」の中に何を入れるんですか? URLですか?
>>625 javascriptじゃなくてiframeの出番と思う
使いたくないんです、iframe
628 :
Name_Not_Found :02/08/11 22:57 ID:Tm+fADP2
>>627 「...innerHTML = '<iframe src="URL"><\/iframe>';」って感じでも嫌?
photoArea.innerHTML ='<iframe src="URL"><\/iframe>'; こうですか?
対応タグはこれですか? onclick= "dispImg('index.html','')" onkeypress="dispImg('index.hml','')"
onclick= "dispImg('index.html')" onkeypress="dispImg('index.html')" function dispImg(URL){ photoArea.innerHTML = "<iframe src='" + URL + "' width='***' height='***'></iframe>"; window.status = photoArea.innerHTML; 思いっきりiframeだけどかまわないの? というか正直わざわざこうする意味がわからん
iframeなしの方法ありますか?
>>632 object (w
それより
>>631 みたいにする理由がわからん。
クリックするリンクによってiframeの横幅や高さを変えるつもりならともかく
表示するページを変えるだけならinnerHTML使って書き換える意味がないと思う、、、
(何か大事なこと見逃してるのかな、自分、、、、)
そういうHP作りたいんですが 技術がなかった為 教わりに来ました
635 :
Name_Not_Found :02/08/12 00:49 ID:KRCbJs6B
あのー すいません、上のやつでtextだけ表示出来るやつってありますか? 出来ればリンクとかバナーとかも表示したいのですが どうでしょうか?
>>635 言ってることが意味不明です
「上のやつ」とはここまでのスレの流れで
>>623 ことかと思うんだけど、
「textだけ表示」と書いておきながら、次の行で「バナーとかも表示したい」
いったい何がしたいの?
637 :
Name_Not_Found :02/08/12 01:03 ID:KRCbJs6B
リンクとバナー、textを表示出来るようにしたいです
>>623 のスクリプトを元に左の枠のメニュー押したら、右の枠のなかにバナーとテキストが表示されて
バナーにはリンクが貼ってある。
こういうこと?
読解力ないからあなたの書いてることだけではどうしたいのかよくわからん。すまんな。
function dispImg(url,image,text){
photoArea.innerHTML = "<a href='"+ url +"'><img src='" + image + "' border='0'></a><br><div>" + text + "</div>"
window.status = photoArea.innerHTML
}
<span class="photoItem" onclick="dispImg('
http://www.2ch.net/ ','2ch.gif','2ちゃんねるへのリンクです')">*****</span>
* dispImg('リンク先のURL','バナーの画像のURL','テキスト')
テキストだけ表示したいのなら
function dispImg(text){
photoArea.innerHTML = "<div>" + text + "</div>"
window.status = photoArea.innerHTML
}
<span class="photoItem" onclick="dispImg('テキスト文章')">*****</span>
* dispImg('テキスト')
639 :
:02/08/12 04:19 ID:6kXPu1vt
test = new Array(0,1,2); と test = [0,1,2]; は、全く同じなのでしょうか?
見た目が違うので全くおなじではありましぇん
641 :
ようへい :02/08/12 07:15 ID:l/z/WZga
頑張ってみたのですがどうしてもうまくいかないので質問させてください。 <html> <head> <META http-equiv="Content-Style-Type" content="text/css"> <title>メニュー</title> <script language="JavaScript"><!-- vType = ["hidden","visible"]; function pdMenu(mName) { Menu = document.all[mName].style; Menu.visibility = vType[Menu.visibility.indexOf("hidden") + 1]; } // --></script> </head> <body> <B><FONT size="+1" onMouseover="pdMenu('Menu1')">メニュー</FONT></B> <DIV style="top : 15px;left : 10px; position : absolute; z-index : 1; visibility:hidden; width : 94px; height : 52px; background-color : #ccffff; " id="Menu1" onmouseout="pdMenu('Menu1')"> <FONT size="+1" color="#00ff33"><B><a href="" >メニュー</a><br> <a href="">メニュー1</a><br> <a href="">メニュー2</a><br><a href="">メニュー3</a> </B></FONT></DIV> <P><BR> <BR> </P> </body> </html> 上のようにメニューの上にマウスをおくとメニュー1・2・3と出て <DIV>〜</DIV>の範囲からマウスを離すと メニューが元に戻るようにしたいのですが、 このままだとマウスを離してもメニュー1・2・3が 出たままになってしまうことがあります。 これを防ぐにはどうしたら良いのでしょうか? 何か良い方法があればお教え下さい。よろしくお願いします。
642 :
Name_Not_Found :02/08/12 08:13 ID:KRCbJs6B
>>638 そのとうりです
テキストだけのものと、リンクのものを同じページで適用したいのですが
区別する方法ありますか?
643 :
Name_Not_Found :02/08/12 08:56 ID:31pEzxZo
すみません教えてください。javascriptで簡単なアンケートを取る予定です。 「指定のメールアドレスに送信」かつ、「感謝のページを開く」 のアクションを取りたいのですが、どうすればよいでしょうか? <form name="form1" method="post" action="mailto:***@***.ne.jp ; window.open('thanks.htm')" enctype="text/plain"> thanks.htmにフレーム等の指定をしていない場合、 window.openのnameには何を入れればよいのでしょうか? 過去ログ見ながらやってみましたが、やはりうまくいきません。 よろしければご教授をお願いいたします。
644 :
Name_Not_Found :02/08/12 09:58 ID:/yK11C1p
>>643 「action="..."」に書くのはURIであってJavaScriptのコードは不可でっせ。
「onsubmit="setTimeout('locatin.href=\"thanks.htm\"', 3000); return true"」とか?
645 :
643 :02/08/12 10:12 ID:31pEzxZo
>>644 回答ありがとうございます!
自分は全然見当違いのコトをしていたんですね。反省。
ですが、上記タグのコピペではうまくいきませんでした・・・。
申し訳ないです・・・。
自分でもjavascriptの入門サイトを探してみます。
もしお手数でなければ引き続きご教授をお願い致します。
<script type="text/javascript"> function pdMenu(i,v){ document.all(i).style.visibility=v; } </script> <table border="0" cellpadding="0" cellspacing="0"> <tr> <td> <a href="#" onMouseOver="pdMenu('menu1','visible')" onMouseOut="pdMenu('menu1','hidden')">メニュー</a> </td> </tr> <tr> <td> <div id="menu1" style="visibility:hidden;background:#ccffff;" onMouseOver="pdMenu('menu1','visible')" onMouseOut="pdMenu('menu1','hidden')"> <a href="#">メニュー1</a><br> <a href="#">メニュー2</a><br> <a href="#">メニュー3</a> </div> </td> </tr> </table>
>>646 普通、visibleじゃなくてinheritだろ。
>>646 ありがとうございます。
思っていたとおりのことが出来るようになりました。
本当にありがとうございました。
649 :
Name_Not_Found :02/08/12 13:33 ID:QuxgYT6i
質問です。 フレーム内のページのアクセス解析でparent.document.referrerを指定したのですが 親フレームとサーバーが違うため、ページでエラーが発生してうまくいきません。 サブドメインの転送サービスを使用しているので、親フレーム側を操作するのは不可能です。 parent.document.referrer以外で親フレームのリファラーを取得することは可能でしょうか? どなたかご教授ください。よろしくお願いします。
>647 css2未実装のブラウザの場合どうすんだ?
>>650 転送サービス挟んでるんだったら無理ちゃうかな−。
質問します。 <SCRIPT Language="JavaScript"><!-- var set_url="index.html"; var xx=600; var yy=500; function open_newwin(set_url,xx,yy){ window.open(set_url, 'subwindow','width='+xx+',height='+yy+',toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes');} // --></SCRIPT> と、 <a HREF="#" onclick="JavaScript:open_newwin('***.txt',800,600)">リンク先</a> を使って、すっきりした小さな別窓を開くように設定しているのですが、 そのリンク先のtxtファイルが右端で改行されるように設定する事は出来ないのでしょうか。 右端で改行してくれないので、延々とスクロールしないと読めなくて困っています。 文章そのものの改行はしたくないのですが・・・・・
>>653 リンク先をhtmlファイルにすればよいと思う
655 :
Name_Not_Found :02/08/12 17:41 ID:nbFbGMZK
フラッシュでボタンを作ってそれを押すと子ウィンドウが2個 開くようにしたんですが、macで見るととちゃんと開いてwindowsで 見ると1つしか開かない。どうしてなのでしょうか?
>>655 ソースも見ないで答えられるようなやつはいない
657 :
Name_Not_Found :02/08/12 17:51 ID:nbFbGMZK
>656 失礼しました。 <!--// function open01() {window.open("/c-flash/link.html","link","toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=no,resizable=no,Width=150,Height=380");} function open02() {window.open("/c-flash/index.html","clickbox","toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=no,resizable=no,Width=680,Height=510,left=168");} //--> </script> です。winではfunction open02()しか開きません。
659 :
Name_Not_Found :02/08/12 17:58 ID:nbFbGMZK
>658 お待たせしました。 on (release) { getURL("javascript:open01()", "_self"); getURL("javascript:open02()", "_self"); } です。
>>659 getURL()よりfscommand()の方が良いと思われ
661 :
Name_Not_Found :02/08/12 18:12 ID:aGfeS5mK
Javascriptのhistory.back()で戻ると フォームの内容が復元される場合と されない場合があって、違いがよくわかりません。 どなたか教えてくだしあ。
1)onmouseover="+++.innerText='+++'" と 2)onmouseover='this.style.backgroundColor="#FFDDDD", this.style.color="#444444",this.style.fontSize=13' を ├<span class="1" onclick="dispImg('1')" onkeypress=" ( '1')" onmouseout='this.style.backgroundColor="black",this.style.color="red",this.style.fontSize=13'>1</span> で1)2)を有効にする方法教えてください、1)を入れると2)が動かなくなります その逆も然り よろしくお願いします
とりあえずコロンをセミコロンに直そうや
コロン= : セミコロン = ; コンマ = , アンパサンド = &
<SCRIPT LANGUAGE="JavaScript"> <!-- var str=navigator.appVersion; var ver=parseInt(str.substring(0,3)); var ie4=navigator.appName=="Microsoft Internet Explorer" && ver>=4.0; var nn4=navigator.appName=="Netscape" && ver>=4.0; var flg=new Array(20) var i; for(i=1;i<21;i++){flg[i]=0} function txtDsp(tn){ if(ie4){ target="txt"+tn; if(flg[tn]==0){document.all[target].style.display="inline"} if(flg[tn]==1){document.all[target].style.display="none"} flg[tn]=(flg[tn]+1)%2 } else{alert} } これをスイッチできるようにして、尚且つ指定したIDの場所 <td> <div id="0" style="background-color:black;color:#FFFFDD;font-size:9pt;width:290;height:360;padding:10;border:3 groove whit> </div></td> に表示したい どうすればいいですか?
666 :
Name_Not_Found :02/08/12 20:52 ID:UF3yk4tf
>>644-645 「locatin」は当然「location」の間違いだがなおした?
>>665 確認だけど、要するに表示非表示を切り替えたいわけね?
で、どういう場合にスイッチしたいわけ?
分類でT1を押すと表示され、T2を押すと入れ替わる 逆でも同じようになるように作りたいんです
T1,T2なんて何処にあるの?
あっち
<A HREF="javascript:txtDsp(1)"> T1</A> <span id="txt1" STYLE="display:none"> hasaki </span> <A HREF="javascript:txtDsp(2)"> T2</A> <SPAN ID="txt2" STYLE="display:none"> tsumasaki これです
.
.
sage
>>650 転送サービスで登録できるページのTITLEに、
タグを忍ばせれば可能。
クロスサイトスクリプティングって奴ね。
675 :
Name_Not_Found :02/08/12 22:28 ID:pKdK9iWP
>>667-670 まだわからん。最初は両方表示されていなくて、T1が押されると片方が
表示され、そのときT2側がもし表示されていれば消える。逆にT2が押さ
れると他方が表示されるが、そのときT1側がもし表示されていれば消える。
これであっていますか。「入れ替わる」という日本語の意味が難しいね。
で、上の解釈であっていたとすると
function txtDsp(i) {
document.getElementById('txt' + i).style.display = 'inline';
document.getElementById('txt' + (3-i)).style.display = 'none';
}
>>675 同意、日本語が難解。
なぞなぞかよ(w
なんで?
>664 スマソ、素でコロンとカンマ間違った。鬱打氏脳……
>>675 それで、hasakiやtsumasakiだけを指定した<div>(この時テーブル使用)
に表示することは出来ますか?
>678 それでもどうしようもありませんでした
もうあきらめますね。 もういいです。
682 :
Name_Not_Found :02/08/13 01:59 ID:jhqDqCod
<html lang="ja">
<head>
<meta http-equiv="Content-type" content="text/html; charset=euc-jp">
</head>
<form method="get" action="
http://dic.yahoo.co.jp/bin/dsearch " name="search">
<input type="hidden" name="p" value="">
<input type="hidden" name="t" value="f">
</form>
<script type="text/javascript">
var pwin = external.menuArguments;
var str = new String(pwin.document.selection.createRange().text);
document.search.p.value = str;
document.search.submit();
</script>
</html>
683 :
Name_Not_Found :02/08/13 02:01 ID:eapHo3IL
>>682 はIEの右クリックサーチなのですが、同じウィンドウで開くにはどのようにすればいいでしょうか?
よろしかったらお願いします。
javascriptならこのスレかなと思いまして…
<script> function test(s){ document.getElementById('aaa').innerHTML=s; } </script> <a href="#" onClick="test('hasaki')">T1</a> / <a href="#" onClick="test('tsumasaki')">T2</a> <div id="aaa"></div> 指定した場所にhasaki,tsumasaki。
onmouseover='this.style.backgroundColor="#FFDDDD",this.style.color="#444444",this.style.fontSize=13' onmouseout='this.style.backgroundColor="black",this.style.color="#ffff66",this.style.fontSize=13' これを外部ファイルに入れて、span class="2"で使えるようにしたいです
onmouseover='this.style.backgroundColor="#FFDDDD",this.style.color="#444444",this.style.fontSize=13' onmouseout='this.style.backgroundColor="black",this.style.color="#ffff66",this.style.fontSize=13' これを外部ファイルに入れて、span class="2"で使えるようにしてください お願いします
691 :
Name_Not_Found :02/08/13 09:55 ID:xrDFbzG4
久々に来たが…性格悪そうなの増えたな…
>689
<span class=2
onmouseover=test(this,'#ffdddd','#444444') onmouseout=test(this,'black','#ffff66')>hoge</span>
外部ファイル
function test(a,b,c){
a.style.backgroundColor=b;
a.style.color=c;
}
後はこういうとこで
http://tohoho.wakusei.ne.jp/js/index.htm
>>691 言い方が違いました
<span class="2">hoge</span>
で外部にjsを置いて、spanで囲んだ部分に適用してください
出来ますか?
出来たらよろしくお願いします
javascriptを作らせるスレはここで宜しいでしょうか?
あんたさ、675さんや686さんが書いてくれたものに対して 「動いた」「駄目だった」の一言もなし? 691さんには間違ってたから書き直せってか?
<FORM action="***.cgi" method="POST"> <INPUT type="image" name="hoge" value="ボタン" src="***.gif"> </FORM> こうやってサブミットを画像ボタンにしてる時に、ロールオーバーを使うにはどうしたらいいですか。
すごいな・・・ 態度がデカイだけなのか真性・天然なのか人間と接触したことがないのか・・・
>697 <script> function func(g){ document.forms[0].elements[0].src=g; } </script> <FORM action="***.cgi" method="POST"> <INPUT type="image" name="hoge" value="ボタン" src="0.gif" onMouseOver="func('1.gif')" onMouseOut="func('0.gif')"> </FORM> やってみて。
ここの人たちは口だけで能力が伴なわないようです。 情けないですね。
701 :
Name_Not_Found :02/08/13 14:15 ID:RlRQkRJ7
>>696 もっかいあんたのやりたいというふうに読めることを記述する。
「特定のspan要素について、マウスが上に乗った時と外れた時に文字と
背景の色を指定したものに変化させる。ただし設定は外部JSファイルで
のみ行なう。」
これなら簡単だよ。しかしid属性ではなくclass属性で指定してい
るというのはなぜ?次のようなことがしたいの?
「指定したclass属性を持つspan要素全部について、そのどれかに
マウスが乗った時と外れた時に一斉に文字の色と背景の色を変化
させる。ただし設定は外部JSファイルでのみ行なう。」
これもできる。または次のこと?
「指定したclass属性を持つspan要素全部について、それぞれ、その
上にマウスが乗った時とそこから外れた時にそのspan要素のみのついて
文字の色と背景の色を変化させる。ただし設定は外部JSファイルでのみ行う。」
これでもできるよ。そのどれでもないという可能性もある気がしてきた…
とにかく日本語がわからなすぎて回答のしようがないことは理解して欲しい
もんだ。3種類も作るほどお人好しじゃないんで。
>>699 レスありがとうございます。
やってみたんですがエラーが出てしまいました。
ライン:11
文字:1
エラー:'document.forms.0elements0' は Null またはオブジェクトではありません。
コード:0
ライン11は「document.forms[0].elements[0].src=g;」の行のようです。
>702 オレのIE5ではロールオーバーしたけど、ネスケはならなかった。 うーん、、、、
<INPUT type="image" name="hoge" value="ボタン" src="0.gif" onMouseOver="this.src='1.gif'" onMouseOut="this.src='0.gif'"> これでどう?
出来ました! ありがとうございました。
706 :
Name_Not_Found :02/08/13 14:33 ID:RlRQkRJ7
>>703 ネスケってN4? N4はあんまり期待できないかもね。
>>702 そのエラーメッセージはもとのソースと全然違うけど何かコピペ
まちがいがあるんじゃないの?
>>701 idを使うようにして、一番最初の解釈で作ってみました。
----- main.html ----
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript" src="a.js"></script>
</head><body>
<span id="s0">Test...</span>
</body></html>
---- a.js ----
function setColors(id, fg1, bg1, fg2, bg2, fs) {
var e = document.getElementById(id);
if(e.addEventListener) {
e.addEventListener('mouseover', function() {
e.style.forgroundColor = fg1; e.style.backgroundColor = bg1;
e.style.fontSize = fs; }, true);
e.addEventListener('mouseout', function() {
e.style.forgroundColor = fg2; e.style.backgroundColor = bg2;
e.style.fontSize = fs; }, true);
} else {
e.onmouseover = function() {
e.style.forgroundColor = fg1; e.style.backgroundColor = bg1;
e.style.fontSize = fs; };
e.onmouseout = function() {
e.style.forgroundColor = fg2; e.style.backgroundColor = bg2;
e.style.fontSize = fs; };
}
}
window.onload = function() {
setColors('s0', '#ffdddd', '#444444', 'black', '#ffff66', 13);
}
>>701 指定したclass属性を持つspan要素全部について、それぞれ、その
上にマウスが乗った時とそこから外れた時にそのspan要素のみのついて
文字の色と背景の色を変化させる。ただし設定は外部JSファイルでのみ行う
これです
お願いします、作ってください
つくらないよ。
分かりました、お手数かけました
710 :
f031adsl92.coara.or.jp :02/08/13 15:03 ID:SlJLKrmd
a
711 :
Name_Not_Found :02/08/13 15:04 ID:RlRQkRJ7
>>707 ホレ。N6/N7/Mozilla/IE。
--- main.html ---
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript" src="a.js"></script>
</head><body>
<p><span class="2">Test...</span><span class="3">Test...</span>
<span class="2">Test...</span></p>
</body></html>
---- a.js ----
function setColors(elt, cls, fg1, bg1, fg2, bg2, fs) {
var a = document.getElementsByTagName(elt);
for(var i = 0; i < a.length; ++i) {
var e = a[i]; if(e.className == cls) set1(e, fg1, bg1, fg2, bg2, fs);
}
}
function set1(e, fg1, bg1, fg2, bg2, fs) {
if(e.addEventListener) {
e.addEventListener('mouseover', function() {
e.style.forgroundColor = fg1; e.style.backgroundColor = bg1;
e.style.fontSize = fs; }, true);
e.addEventListener('mouseout', function() {
e.style.forgroundColor = fg2; e.style.backgroundColor = bg2;
e.style.fontSize = fs; }, true);
} else {
e.onmouseover = function() {
e.style.forgroundColor = fg1; e.style.backgroundColor = bg1;
e.style.fontSize = fs; };
e.onmouseout = function() {
e.style.forgroundColor = fg2; e.style.backgroundColor = bg2;
e.style.fontSize = fs; };
}
}
window.onload = function() {
setColors('span', '2', '#ffdddd', '#444444', 'black', '#ffff66', 13);
}
>>682-683 アドバイスお願いできないでしょうか。
以前このスレで教えて戴いたのを改造して、URLエンコードの為に<form>経由にしたのですが、
また別のウィンドウ(1枚)が開くようになってしまいました。
714 :
Name_Not_Found :02/08/13 18:24 ID:GnqeNUy/
>>713 その窓に名前をつけるようにして、form要素にtarget属性でその窓の
名前を指定する。これじゃJavaScriptと関係ないかな。またはURL
エンコードを自前で(JavaScriptの関数で)やる。ただし日本語がある
と思ったように行かないかも。関数としては、escape()とかencodeURIComponent()
とかが使えると思うけど。
715 :
682-683 :02/08/13 19:28 ID:eapHo3IL
>>714 さん
レスありがとうございます。
窓に名前は付いてるみたいです。
2枚以上開かないので。
HTMLみたいにtarget="_top"としても駄目でした。
しかも↑は検索のたびに新規ウィンドウを開いてしまう…。
IEの拡張だから難しいのかも。
エンコードに関してはおっしゃる通りで、
javascriptでやろうとすると違ってきてしまうんですよね。ショボーン
>>713 しょうがないから特別におしえてあげるわよ。
右クリックで呼び出されたファイルは、
新しく、見えないmodalDialogの窓として扱われるの。
その窓に対してページを表示させようとしちゃうからダメなのよ。
だから、insertAdjacentHTMLかAppendChildでexternal.menuArguments窓
に作ったformでsubmitするか、external.menuArguments窓のlocationを直接
http://ime.nu/dic.yahoo.co.jp/bin/dsearch?p= …&t=f とすればいいってわけ。
>>713 エンコードしたいならVBScriptのAscB関数を使えばいい。
>>716-717 ありがとうございます。
当方の知識不足の為、完成まで少しお時間を戴くかもしれません。
素人が手を出したばかりに、お手数かけてすみません。
719 :
Name_Not_Found :02/08/14 13:37 ID:F0gOpjH9
720 :
Name_Not_Found :02/08/14 16:50 ID:Y/VdPeuX
JavaScript初心者で恐縮なのですが、 新しくウィンドウを開く時、ウィンドウ幅 = そこに表示する画像の幅+50px になるようにしたいのですが、 画像の大きさが不定な場合、どうやって動的にウィンドウ幅を調節したらよいでしょうか? 初歩的な質問で申訳ありませんが、よろしくお願いします。
721 :
Name_Not_Found :02/08/14 17:22 ID:ZNLTy3Ad
>>720 あなたはなぜその問題が「初歩的な質問」だと分かるのかな。
質問内容がどれくらい難しいかどうか判断できるなら初心者とは
言えないと思うのだけどね。そんなの簡単だと言われた時の予防線
としていつでも「初歩的」と書くんだったらそんなのやめて欲しい。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function openImg(img) {
var w = window.open('', 'image', 'toolbar=no');
w.document.writeln('<html><head><title>???<\/title><\/head>');
w.document.writeln('<body onload="opener.change(window)">');
w.document.writeln('<p><img src="' + img + '" id="i0"><\/p><\/body><\/html>');
w.document.close();
}
function change(win) {
var e = win.document.getElementById('i0');
// window.alert(e.offsetWidth + 'x' + e.offsetHeight);
win.resizeTo(e.offsetWidth + 50, e.offsetHeight + 50);
}
</script>
</head><body>
<div><a href="javascript: openImg('test.png')">test...</a></div>
</body></html>
>>721 自分はW3C信者だと誇らしげに言わんばかりに、
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
などと書くのはやめてほしい。
質疑応答と関係なく、着目する必要の無い文を書き込むのは、
着目点をわかりにくくするので、良い回答とは言えない。
それに、W3Cに従えと言っているようなものなので、
相手に不快感を与えることがあることを理解してほしい。
723 :
Name_Not_Found :02/08/14 17:44 ID:ZNLTy3Ad
>>722 さいですか、しかし間違ったHTMLのまま出すのは嫌なのでね。
ですから自分としてはやめる気はないです。あしからず ^_^;
そんなこと気にせずJavaScriptの話題した方がいいんじゃないの。
信者対非信者の戦いならよそのスレがあるし(自分は興味なし)。
>あなたはなぜその問題が「初歩的な質問」だと分かるのかな。 >質問内容がどれくらい難しいかどうか判断できるなら初心者とは >言えないと思うのだけどね。そんなの簡単だと言われた時の予防線 >としていつでも「初歩的」と書くんだったらそんなのやめて欲しい。 「初歩的」と書いただけでここまで言わんでもいいだろ。 むかついたなら放置すりゃいいし。
>>723 質問者がHTML4.01 Strictで書いてるとは限らないから、
(間違った宣告になってしまう)
ここで使うのはあまり(・A・)イクナイと僕も思います。
726 :
725 :02/08/14 18:14 ID:iAA9stkm
sageたらID出ないのか(鬱
>>723 Stric厨は専用スレにカエレ!(・∀・)
729 :
Name_Not_Found :02/08/14 18:37 ID:joNmLMzl
720です。 すみません。。。JavaScriptはあまり経験ないので、自明の質問だったら申訳ないと思いましたので・・・ でもご回答ありがとうございます。スクリプトお借りしますね。
>729 君、ええ奴や。
感情的にならない
何の説明なく決め付ける文はよい印象を与えない。
また態度の大きい人は嫌われる。
ex) 答えられねぇんなら黙ってろ!!! <お前だけだよ>
弱気な表現は避ける
弁解じみた表現は良くない。また、まわりくどい。
ex) 超初心者で何もわかりませんが……
<わからないなら
>>3-5 ,
>>23 を読めよ>
表記ミスに注意
内容がどんなにすばらしくても
文字使いにミスがあると誤解を招く。
曖昧文は書かない
いくつにも解釈できる文章は絶対に書かない。
ex) ここではきものをぬいでください。
「」など無駄な強調は避ける
読みにくい。♪や顔文字も同様である。
情報を小出しにしない
読み手は馬鹿にされた気分になる。
無駄な倒置も不要だ。
使用したブラウザ、バージョン、OSくらい書こう。
>>731 初心者板から引っ張ってこればいいのに。
ex) ここではきものをぬいでください。 <いやん服は脱げないよ♥>
>いくつにも解釈できる文章は絶対に書かない。 絶対なんて不可能なことを要求しない♪ >初心者板から引っ張ってこればいいのに。 表記ミスに注意だなー
予防線として「初歩的」と書くのは止めて欲しいとは思う。 2chでは何も予防できないし 「この程度は当然初歩的なことだろ?わからん奴は初心者。」ともとれるからね。
まま、細かいことは気にしないで楽しく逝こう。
JAVA
読み終わってないimgの前にimgを表示したいんですが(Now Loading等) そのソースを教えて欲しいです。
function size1(url) { w = window.open(url, '','width=100,height=100'); } function size2(url) { w = window.open(url, '','width=200,height=200'); } こんな感じで数種類の、大きさの違う別ウィンドウを開きたいんだが、 ターゲットを同じにしてるんで、後から開いた方のウィンドウサイズは無視される。 function size1(url) { w = window.open(url, '','width=100,height=100'); w.window.resizeTo(100,100); } みたいにリサイズ入れたらいいのかな〜って思ったんだがエラー出ます。 何かいい方法ありますか? リサイズの仕方がマズいのかな?
741 :
Name_Not_Found :02/08/15 00:21 ID:n3rGQsup
>>740 それ、変数wに入れているものが既にwindowオブジェクトなんですよ。ですから
「w.resizeTo(100, 100);」でしょう。でも、開く前にリサイズしようとしても
タイミングが早すぎるという可能性があるかもね。その場合は少し時間を遅らせ
てやってみるとかさ。
742 :
Name_Not_Found :02/08/15 00:31 ID:n3rGQsup
>>739 こういう感じですかね。ちなみに自分はStrict厨ではないです。なぜなら
フレーム使うときはTransitional指定するもん。フレーム、JavaScriptでは
基本でしょ? (w
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function init() {
var img = new Image();
img.src = 'large.png'; img.onload = function() {
document.getElementById('i0').src = img.src;
}
}
</script>
</head><body onload="init()">
<div><img id="i0" src="loading.png" alt="show image here..."></div>
</body></html>
>>739 <img src="img.jpg" lowsrc="loading.gif">
>>742 おばか
なーるほどそれでいいのか。でもJavaScriptじゃないね… まっもう落ちます。
745 :
740 :02/08/15 00:47 ID:???
>>741 いろいろ、ありがとうございます〜!
「w.resizeTo(100,100);」でやってみましたがダメでした。
タイミングが早いってのを考慮して、
function openwin(url) {
w = window.open(url, '','width=100,height=100');
while(!w){
}
w.resizeTo(100,100);
にしてもダメでした。。。う〜ん。
>>745 そりゃ駄目ですよ。時間待ちすんなら
setTimeout(function() { w.resizeTo(100, 100); }, 5000);
とかかな。あれ、100x100で開いて100x100にリサイズしたら
変わらないよ…まあそれは大丈夫なんでしょうけどね。
>>744 コテハンにして専用スレ立ててみる気はないですか?
748 :
740 :02/08/15 01:11 ID:???
>>746 100x100で開いて、100x100でリサイズの意図は、
200x200でウィンドウ開いたあとで、
同じターゲットのウィンドウを100x100で開きたいってダケです。
で、setTimeoutでやってみましたが、
5秒後にエラー出るだけでした。
>>747 コテハンじゃなくてもコードの書き方から個人を特定できる罠。
751 :
740 :02/08/15 01:29 ID:???
>>749 IE5.5ですが、「ページでエラーが発生しました」とだけ。
というか、別ウィンドウ開いてる時点で、
function rsz() {
w.resizeTo(100,100);
}
このファンクションを動かしてもエラー出てしまう。
>>751 そのときステータスバーをダブルクリックすると多分ダイアログボックスが出てくるから、
その内容を教えて。
もしそれが「アクセスは拒否されました。」だった場合、現在の方法では(恐らく)無理なので。
大文字混じってるぞ。これはコピペミスか?
>>750 そっち行けってことかも・・・(((((((( ;゚Д゚)))))))ガクガクブルブルガタガタブルガタガクガクガクガクガク
全角文字の間違いだ、すまん
756 :
740 :02/08/15 01:43 ID:???
>>752 「アクセスは拒否されました」でした。
というか、
window.open(url)
のurl部分、画像ファイルのアドレスを指定してたんですが、
これがhtmlファイルのアドレスなら、すんなり動く模様。
そーいう仕様なのかな。。。
>>756 外部のドメイン下にある画像ファイルを指定してたりしない?
今現在実行できているスクリプトと、その呼び出し部分を晒してくれません?
759 :
744 :02/08/15 07:13 ID:???
>>747 専用スレにしてもいいことないと思います…基本的に、このスレ
見物しててちょっと面白そうな質問あったら書いてみる、という
姿勢でやりたいんで。vol.3くらいから居ついてますけどコード
貼ったらその癖で誰だか分かるっていうのは当然だと思ってます。
strictの人は人の言葉尻をつかんでは小姑のように難癖付けやがりますけど、 javascript構築力は大したもんだと思うな、ボクは。 ∧ ∧ |1/ |1/ / ̄ ̄ ̄`ヽ、 / ヽ / ⌒ ⌒ | | -=・=- -=・=- | / | / | { | ヽ、 ノ | ``ー――‐''" | / | | | | .| | | | .| し,,ノ | !、 / ヽ、 / 、 ヽ、 、 /ヽ.ヽ、 | | | ヽ.ヽ、 (__(__| ヽ、ニ三
761 :
744 :02/08/15 07:49 ID:???
な、難癖ですか…すいません…いくらかでも性格良くなる ように努力はしようと思います… ^_^;
>>762 ああ、そっちはね…サンプルソースにDOCTYPE宣言書いてあるのが
気に食わないって、そんなことWeb製作板で書くかって感じ。
S t r i c t 厨 房 必 死 だ な ( w
765 :
Name_Not_Found :02/08/15 14:10 ID:MjXPsv6G
だから別にフレーム使うときはTransitionalかFramesetですが何か?って(w それよりそんなスレ違いな話題じゃなくてJavaScriptの話題しようよー。 それともJScriptとECMA-262で戦うとかさ(w 今日は何か面白い質問ないの???
766 :
コギャルとHな出会い :02/08/15 14:10 ID:KNnD5EPP
http://kado7.ug.to/net/ 朝までから騒ぎ!!
小中高生
コギャル〜熟女まで
メル友
i/j/PC/対応
女性の子もたくさん来てね
小中高生大歓迎です
全国デ−トスポット情報も有ります。
全国エステ&ネイル情報あります。
激安携帯情報あります。
ageたりsageたり大変です。
別にsagaりはしないのに。
>>765 どーせ戦うなら JavaScript vs. JScript の方が面白げ。
# で各バージョン間の差異とかをまとめられたらすげー有意義だ。
770 :
Name_Not_Found :02/08/15 19:06 ID:iz/FaDrv
>>769 最新版基準で行くとコア言語仕様そのものはそんなに差はないん
だよね。JavaScript 1.5で加わったものというとsetter/getter
とかかな。とにかくJScriptはあの謎のリファレンスしかないから…
>>770 その「謎のリファレンス」に載ってる「ECMA に準拠しない JScript の機能」
とかって俺使ったことないんだけど、どうなんだろうとか思ったりするんだよね。
あと、言語仕様というよりも実装上の差異だけど
ベンダーのマニュアルに載ってない部分でアレ?って思うことってない?
>>771 いやー、自分はMozillaな人で普段はJavaScript使っているから
ねえ。その謎の仕様とかって具体的に何よ?
innertextの中身を改行したいのですが<br>などのタグでは出来ないんです スペース空けて改行出来たんですがページが重くなっちゃいます 方法教えてください
innerHTML使えば?
778 :
Name_Not_Found :02/08/15 22:56 ID:kVArpvln
>>776-777 またはpre要素にしておいて改行したいところは '\n' を入れるとか。
>>778 ありがとうございました!!
しっかり改行されました
本当に感謝感謝です
780 :
779 :02/08/15 23:29 ID:???
あのですね innertextの中にリンクや画像貼るってできますか? innertextだけでなんですけど・・・
頑固やね。
>>775 俺もMozillaな人だけど、たまにIEで動かすと
ワケ解らんところでエラーになることがあるんだよ。
↓Mozilla と IE で比較してミソ。
マニュアルおーざっぱすぎてバグだか仕様だか解らん。
<script type="text/javascript">
a = 0x7FFFFFFF;
a++;
alert(a);
</script>
<script type="text/javascript">
function f () {};
f.prototype = new Array ();
a = new f;
a.length = 1;
alert(a.length);
</script>
<script type="text/javascript">
function f () {
var B;
alert(B);
a = function B () {};
}
f();
</script>
785 :
呆 :02/08/16 06:27 ID:???
すいません。教えて下さい。 フレームで3分割しているのですが、 リンクで2つフレームを同時に変えたいのですが、 上手くいきません。ご教授願います。 IEです。 仕事で直ぐにはレス出来ない事をお許し下さい。
786 :
Name_Not_Found :02/08/16 08:57 ID:r5XOARHF
>>785 仮に変更したいフレームの名前が「f1」「f2」だとしよう。
<a href="#" onclick="window.frames.f1.location.href='行き先1';window.frames.f2.location.href='行き先2'">...</a>
しかしこれはJavaScriptオフだとどこにも飛ばなくなるからせめて片方救済
<a target="f1" href="行き先1" onclick="window.frames.f2.location.href='行き先2'">...</a>
787 :
655 :02/08/16 11:48 ID:tZWDOghx
すみません
>>660 でgeturlよりfscommandを使った方がいいと言われたの
ですが、fscommandに変えるとjavascriptの方はどう変更すればよいのでしょうか?
※呼び出す方
on (release) {
fscommand("javascript:open01()");
fscommand("javascript:open02()");
}
※スクリプトの方
<!--//
function open01()
{window.open("/c-flash/link.html","link","toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=no,resizable=no,Width=150,Height=380");}
function open02()
{window.open("/c-flash/index.html","clickbox","toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=no,resizable=no,Width=680,Height=510,left=168");}
//-->
</script>
お願いします。
788 :
Name_Not_Found :02/08/16 12:36 ID:OFMiT8S+
>>782 ECMA-262 ed.3 で調べてみたよ。
a = 0x7FFFFFFF; a++; alert(a);
・Mozilla 1.1 → 「2147483648」、IE6 → 「エラー: aに割り当てられません」
・ECMA-262では絶対値が 2^53 未満の整数は正しく扱えなければ
ならない。よってIE6の動作はECMA-262から逸脱。
function f () {};
f.prototype = new Array ();
a = new f; a.length = 1; alert(a.length);
・Mozilla 1.1 → 「1」、IE6 → 「0」
・ECMA-262ではプロトタイプにあるプロパティを上書きしたら
手前のオブジェクトにそのプロパティが作られ値が入る。よって
IE6の動作はECMA-262から逸脱。
function f () { var B; alert(B); a = function B () {}; }
f();
・Mozilla 1.1 → 「undefined」、IE6 → 「function B () {}」
・ECMA-262では関数式(関数リテラル)の名前は外側スコープには
格納されてはならない。よってIE6の動作はECMA-262から逸脱。
別にJScriptがどうだろうといいんだけどECMAに準拠しているという嘘
を宣伝するのはやめて欲しいし、言語仕様をきちんとチェックできる文
書がナイというのは困る。JavaScript 1.5ならば少なくともこういうと
ころはECMA-262を参照すれば済むという感じ。
>>788 > 言語仕様をきちんとチェックできる文書がナイというのは困る。
これなんだよねぇ、まさに。実装から推測するしかないような部分がある。
前にJScriptで関数の入れ子がいつから可能になったのか調べようと思ったら
そもそも関数の入れ子についての記述かない(;´Д`)
もしかしてJScriptとしては今でも非公式な用法なんだろうか?
それとも自明なものとして可能? 誰か知ってたら教えてくだちい。
790 :
Name_Not_Found :02/08/16 15:23 ID:qiXwpUia
>>788 function f () {};
f.prototype = new Array ();
a = new f; a.length = 1; alert(a.length);
・Mozilla 1.1 → 「1」、IE6 → 「0」
これはプロトタイプにあるプロパティを上書きしようとしているのではなく、
プロトタイプ自身を上書きしようとしているので話は別。
791 :
Name_Not_Found :02/08/16 15:36 ID:qiXwpUia
>>788 function f () { var B; alert(B); a = function B () {}; }
f();
・Mozilla 1.1 → 「undefined」、IE6 → 「function B () {}」
これはステートメントの実行順序の問題。
IEでは事前にfunctionステートメントが処理される。
function f(){
A('ok');
var X=function A(s){alert(s);}
}
f();
// IE → 「ok」
function g(){
B('ok');
var B=new Function('s','alert(s)');
}
g();
// IE → 「エラー」
792 :
Name_Not_Found :02/08/16 15:45 ID:OFMiT8S+
>>790 えー、そうなんですか? なぜ「a.length = 1」がプロトタイプ
自身の上書きになるのか判りません。解説キボーン。なお、ECMA-262
の該当個所は次のところだと自分は考えましたが。
8.6.2.1 [[Put]](P, V)
1. Call [[CanPut]] method of O with name P.
2. If Result(1) is false, return. ← [[Put]]はできるので成立せず
3. If O doesn't have property with name P, go to step 6.
←aはまだlengthプロパティを持っていないのでこの条件成立
6. Create a property with name P, set its value to V and give it empty attributes.
7. Return.
ああ、
>>778 の自分の書き方が悪かったです。とにかくプロパティを
設定しようとすればそのオブジェクトに書き込まれるのだから、1を
設定したら1になっていなければいけない。というつもりでした。
>>792 f.prototype = new Array ();ってとこがプロトタイプ自身の上書き
普通はf.prototype.ぷろぱち=ふにふに って感じに使うでしょ
794 :
Name_Not_Found :02/08/16 16:00 ID:OFMiT8S+
>>792 ECMA-262的にはfunctionステートメントというものは存在しない。
関数定義か関数式(関数リテラル)かどっちか。関数定義であれば
実行コードの入口でその関数名のプロパティが作られる。関数式
であればたとえ名前がついていても外側環境にその名前のプロパティ
を作ってはいけない。この辺の実行順序はちゃんと規定されていて
「適当に決めていい」ものではない。ECMA的には、ね。
>>788 のその例、「a =」を削除するとIE6でもMozilla 1.1でも同じ
「function B () {};」が表示される。そのときの動作はECMAの規定
に合っている。IE6は名前のついた関数式を関数定義と同じに扱って
しまうという「手抜き実装」でECMAを逸脱したんだろうね。
795 :
Name_Not_Found :02/08/16 16:04 ID:OFMiT8S+
>>793 ああ、コンストラクタのprototypeプロパティを差し替えることを
「プロトタイプ自身の上書き」と呼んでいるのですね、了解しました。
その用語づかいは自分的には違和感あるですけど、まあそれはそれで。
796 :
Name_Not_Found :02/08/16 18:05 ID:OFMiT8S+
>>780 なぜそこまでinnerTextにこだわるのか見ている我々には
判らないんだけど、説明してみない?そもそも画像を入れる
って、どういうふうにして画像を指定するっていうイメージ
で考えているわけ?
以下説教。
798 :
呆 :02/08/16 20:43 ID:???
>>785 ID:r5XOARHFさん、丁寧で救済処置迄考えて下さって有難う御座います。
早速、利用させて頂きます。
色んなサイトを見て、勉強しましたが、駄目でしたので、
最後の綱頼みでカキコ致しました。
有難う御座いました。感謝致します。
799 :
呆 :02/08/16 20:45 ID:???
801 :
796 :02/08/16 21:06 ID:???
自分では親切かつ丁寧に尋ねているつもりなのですが、 これが説教みたいなのでしょうか… ^_^;; どうしたもんか。
いや、詰問に見えた。
803 :
796 :02/08/16 21:30 ID:???
うーん、2ちゃんねるで詰問したってしょうがないですよね。 コテハンでもないのに。誰が詰問されてるとも知れないし。 だから「興味があるからなぜinnerTextなのか教えて」「テキスト だけで書くのにどうやって画像を指定するつもりなのか教えて」 ということなんだけどなー。
>>803 いちいち反応するから遊ばれてるだけだよ。無視しる。
>>805 ファイルによる画像は貼れないけど、
AAや絵文字による画像なら貼ることができるぞ。
もう少し考えてから断言しようよ。
@`,<>,@'
810 :
Name_Not_Found :02/08/17 12:50 ID:sd3taiNl
ウィンドウサイズの横幅を固定したいので、 ↓のように書いているのですが これだと最大化以外のリサイズができません。 リサイズ可能で、なおかつ縦幅は任意にしたい場合は どうしたら良いのでしょうか。 (600のところに*を入れたらスクリプト自体が機能しなくなりました・・・) <script Language="JavaScript"><!-- resizeTo(800,600); // --></script>
812 :
Name_Not_Found :02/08/17 13:39 ID:0zkcWkWR
>>810 そのコードを読み込んだ時に800x600になるだけでその後で窓の
大きさをリサイズするのは自由だと思うけど。っつかやってみた
ら当然ながらそうなったけど。
縦幅を変えたくないなら現在の縦幅を取得してそれを指定するとか。
どうやって取得するかくらいは自分で調べてねー。
813 :
f :02/08/17 13:47 ID:4h4cLPAs
求人女子限定 かなりおいしいバイト!!
●喫茶店で30分男性客とお茶するだけで五千円の収入!
●月収100万円も可能です。脱がない、触らせない、やらせないので安心して働けます。
●簡単に言えばデートのお店です。初心者未経験大歓迎!年令容姿不問です。
●自宅待機で結構ですので、面倒くさい店での待機もしなくて大丈夫。副業としてもOKです。
●普段OLなどやってる方でも大丈夫。秘密厳守。許可済み店なので本当に安心して働けます。
●風俗総合商社MTTどこでも!
http://www.mttdocomo.jp/
814 :
810 :02/08/17 15:24 ID:???
>>812 >その後で窓の大きさをリサイズするのは自由だと思うけど。
>っつかやってみたら当然ながらそうなったけど。
そうですよね・・・何故か自宅の環境(win98,IE5.5)ではならなくて・・・
しばらく格闘&他の環境で確認してみます。
ありがとうございました。
質問なんですが、ここのスレでは、JavaScriptで作ったプログラムを評価してもらう、ということはできますか?
816 :
Name_Not_Found :02/08/17 16:06 ID:0zkcWkWR
>>815 別にいいと思うけど。長いものはどっかにアップロードして
リンクだけ貼ってね。評価してくれる人がいるかどうかは運
しだい。
817 :
815 :02/08/17 16:11 ID:???
>>812 普通にリサイズ可能に開いて、横幅変わったら800に戻してやるとか(w
すごいウザいだろうけど、実現するにはそれくらいしかないような。
819 :
Name_Not_Found :02/08/17 17:21 ID:0zkcWkWR
>>818 作ってみたよ。あんまりウザいんで爆笑した(w
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
var targetWidth = 800, count = 5, tid = 0, delta = 0;
window.onresize = function() {
count = 5; delta = targetWidth - document.body.clientWidth;
if(tid == 0) tid = setInterval(step, 50);
}
function step() {
if(--count > 0) return;
window.resizeBy(delta, 0); clearInterval(tid); tid = 0;
}
</script>
</head><body>
<h1>Test...</h1>
</body></html>
820 :
Name_Not_Found :02/08/17 17:36 ID:n1Wb22ra
拾ってきたカレンダーですが、これの背景色を変えるのと、特定の日にちに リンクを貼る方法を教えてください。よろしくお願いします。 ▼HEAD内 <SCRIPT LANGUAGE="JavaScript"> <!---祝日設定 function shuku(x,n,m,d){ var now = new Date(n,m,d); var seijin = 100 + 14 - (now.getDay() + 5) % 7; var shunbun = 300 + Math.floor(20.712662+0.242199*(n-1996)-Math.floor((n-1996)/4)); var shuubun = 900 + Math.floor(23.130023+0.242199*(n-1996)-Math.floor((n-1996)/4)); var taiiku = 1000 + 14 - (now.getDay() + 5) % 7; if (x == 101 || x == seijin || x == 211 || x == shunbun || x == 429 || x == 503 || x == 504 || x == 505 || x == 720 || x == 915 || x==shuubun || x == taiiku || x == 1103 || x==1123 || x == 1223) { return 1; } } //end ---> </SCRIPT>
821 :
820です :02/08/17 17:36 ID:n1Wb22ra
▼BODY内(表示したいところ) <SCRIPT LANGUAGE="JavaScript"> <!---カレンダー表示 var table_c = '#eeeeff'; var today_c = '#ffff00'; var day_td = '<TD align=right><SMALL>'; var day_tde = '</SMALL></TD>'; var dispnum = 1; var kyujitu = 0; var furikae = 0; var now = new Date(); var nen = now.getYear(); if (nen < 2000) { nen = nen + 1900; } var tuk = now.getMonth() + 1; var nit = now.getDate(); var nowmon = new Date(nen,tuk-1,1); var day1 = nowmon.getDay(); var maxmon = new Array(0,31,28,31,30,31,30,31,31,30,31,30,31); var strmon = new Array("","January","February","March","April","May","June" ,"July","August","September","October","November","December"); if (((nen % 4 == 0) && (nen % 100 != 0)) || (nen % 400 == 0)) { maxmon[2] = 29; } document.write("<table border=1 cellspacing=0 cellpadding=2 bgcolor="+table_c+"><tr><td>"); document.write("<TABLE BORDER=0 CELLSPACING=1 CELLPADDING=2><TR>"); document.write("<TD COLSPAN=5>",strmon[tuk],"</TD><TD ALIGN=right COLSPAN=2>",nen,"</TD></TR>"); document.write("<TR>",day_td,"<FONT COLOR=red>SUN</FONT>",day_tde+day_td,"MON",day_tde); document.write(day_td,"TUE",day_tde+day_td,"WED",day_tde+day_td,"THU",day_tde); document.write(day_td,"FRI",day_tde+day_td,"<FONT color=blue>SAT</FONT>",day_tde,"</TR>"); for(i=1 ; i<7 ; i++) { document.write("<TR>"); for(j=1 ; j<8 ; j++) { if(dispnum == nit && day1 < 1) { document.write("<TD BGCOLOR=",today_c," align=right>"); } else { document.write("<TD align=right>"); } if(day1-- > 0 || dispnum > maxmon[tuk]) { document.write("</TD>"); } else { kyujitu = shuku(tuk*100+dispnum,nen,tuk-1,1); if(j == 1 || kyujitu || furikae) { document.write("<FONT COLOR=red>",dispnum++,"</FONT>"); if(j == 1 && kyujitu) { furikae = 1; } else { furikae = 0; } } else { if(j == 7) { document.write("<FONT COLOR=blue>",dispnum++,"</FONT>"); } else { document.write(dispnum++); } } } document.write("</TD>"); } document.write("</TR>"); } document.write("</TABLE></td></tr></table>"); //end ---> </SCRIPT>
>>818 ,819
さ、さすがにそれはウザイのでやめておきます(笑)。
テーブルの都合上、横は800にしたいのですが
縦は見やすければいくつでも良いので・・・
>>817 かちゅ〜しゃに使わせてもらうよ。
もう少し軽くして殻ね。
>>822 ん?
>>819 のソースは窓の横幅だけいじって縦はユーザが設定
したまま手をつけないようになっているんだが…動かしてみた?
>>820-821 もしかしてそのソースが全く読めないの?セルの色はTDにbgcolor
属性を指定すればできるし、リンクにするにはAタグを使うかセル
にonclickを指定するんだと思うが。それが分らず、ソースも読め
てない、それじゃ回答しても面倒なだけだと思ってみんな引いてい
るんじゃないかな。
document.write("<TD BGCOLOR=",today_c," align=right>"); これって document.write("<TD BGCOLOR="+today_c+" align=right>"); これと同じ働きなの?
>>826 どっちでも同じに動く処理系もあるし、引数1個でないと駄目な(つまり
「+」で連結する必要がある)場合もある。リファレンスなんか見ると
引数1個が正式ぽいので、自分は「+」で連結するようにしている。
>>827 サンクス、ベンキョになった。
<TD BGCOLOR=",today_c," align=right>
こう言う書式初めて見たもんで。
>>828 それは何か勘違いしてるんじゃない?大丈夫?
document.write('aaa' + 'bbb' + 'ccc'); → aaabbbccc を出力
という普通の書き方のかわりに
document.write('aaa', 'bbb', 'ccc'); → aaabbbccc を出力
でもできるか、という話、つまりdocument.write()に複数の引数を
渡したらそれが順番に出力されるか、とう話をしていたつもりだけど。
830 :
Name_Not_Found :02/08/18 08:45 ID:ObEU+Vzr
始めまして…。苦しんで苦しんで何度も何度もいじってみたのですが
どうしてもサブウインドウが開きません。
何が悪いのでしょうか…もし宜しければ、どなたか教えていただけないでしょうか。
<HTML>
<HEAD>
<TITLE>(略)</TITLE>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html;CHARSET=x-euc-jp">
<META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW">
<script language="javascript"><!-- function OpenWindow3(){window.open("
http://www.geocities.co.jp/ ○○○/▲▲▲/×××.html","bunsho","width=500,height=600,toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=no");} //-->
</script>
<STYLE type="text/css"><!-- A:LINK{ text-decoration : none;}
A:VISITED{ text-decoration : none;}
A:hover { color:#999999; position:relative; top:1px; background-color : #EEEEEE;}
BODY{ background-attachment : fixed;} --></STYLE>
</HEAD>
<BODY TEXT="#999999" BGCOLOR="#FFFFFF" LINK="#999999" ALINK="#999999"
VLINK="#999999" background="bg.gif">
<P><A HREF="javascript:OpenWindow3();">文書</A></P>
(略)
</HTML>
…ちなみにスタイルシートの方は普通に動作します。
ジオはサブウインドウが無効なのかもしれませんが…、その記述も見当たらなかったので
ジオでもサブウインドウが開くのではないかと思ったのですが…間違っていますか?
831 :
Name_Not_Found :02/08/18 09:36 ID:CZfs7/ji
>>830 まずブラウザのエラーメッセージを確認しているか?必ず確認すること。
そして間違いだけど。
<script><!-- function .. //--></script>
これじゃあ全部コメントになってしまうよ。JavaScriptでは「行末まで
コメント」という約束なので、改行はちゃんと入れないといけない。
<script><!--
funciton ....
// --></script>
こういう風に最低3行にはすること。今は全部コメントにされてしまって
関数が定義できていないと見た。そういうエラーが出るはずだけど…
832 :
830 :02/08/18 09:48 ID:ObEU+Vzr
>831 できました! どうもありがとうございます。m(_ _)m 他の方のスクリプトを拝見した時は、いつも <!-- の後に 改行されているのを見て「?」と思っていました。改行は必須だったのですね。 中途半端な知識しか無くて、本当にすみません。 { とか半角or全角だとか、; だとか そのあたりばかりを必死でいじっていました。 改行すれば良かっただけなんて…。恥ずかしく思います。 これからもっとしっかり勉強して行きたいと思います。 本当にありがとうございました。
>>832 お礼はいいから、次からはブラウザのエラーメッセージをちゃんと見てよ。頼むよ!
834 :
830 :02/08/18 10:28 ID:???
あ、すみません。エラーメッセージが見られなかったので…。 プラウザはNN6.2なのですが…もし「あえて見る方法」があるのならすみません。
>>834 アドレスバーに、
javascript:
>>834-835 または「ツール」メニューの下のどっかの「JavaScriptコンソール」を選ぶ
(ただしN4にはない。N6/N7/Mozillaのみ)
837 :
830 :02/08/18 10:52 ID:???
なるほど…。 自分の無知さに呆れる思いです。 2chでこんなに親切に教えていただけるとは思いませんでした。涙出そうです(^_^) もっと頑張るぞ!**
838 :
Name_Not_Found :02/08/20 09:14 ID:VbnYfgdK
下がりすぎ!なんで質問が全然ないの?
>>849 JavaScriptの宿題だってありそうなもんだが…
841 :
Name_Not_Found :02/08/21 13:49 ID:k5Pswn6r
843 :
Name_Not_Found :02/08/21 15:21 ID:NLaQu1ec
>>842 いくらでもあるなら少しくらい披露してくれよ。
俺はCSSオン/オフを調べるのは限界があると思っているので。
質問なんですけど、 右クリック禁止のJavaScriptでウザったいんでアラート出したくないんですが、 アラート行をコメントアウトしたらメニューが出てしまいました。 アラート出さずに禁止できないんですか? onContextMenu="return false"以外の方法で。 function mouse_down(e){ if(document.all){ if(event.button==2){ //アラート } } else if(document.layers){ if(e.which==3){ //アラート } } }
NN4 なら return false; でいけると思うけど。
847 :
Name_Not_Found :02/08/22 04:00 ID:oqBxR9BF
レイヤオブジェクトを使わずに、任意のURLのソースを動的に取り込むことはできますか? 例えば、テキストフィールドにURLを入力して、ボタンを押すと、 そのURLのソースがアラートで表示されるというような。
848 :
Name_Not_Found :02/08/22 04:24 ID:3B+7O+r2
テーブルのセルをクリックしたら、 backgroundのカラーを変えたいんですが、 指定の仕方わかりません。 document.all.(tableid).? ?以降は何て書けばよろしいのでしょうか? またNNの場合も知っていたら教えて下さい。
849 :
Name_Not_Found :02/08/22 05:23 ID:z7K0FFUo
今ふと思ったんだけど、 w = window.open(); ↑ このウィンドウって、どのウィンドウ? このメソドを実行する時点ではまだ存在 しないオブジェクト(インスタンス)なのに、それに属するメソドを実行できてる ってのは、ちょと不思議だと思わない? おれ変なこと言ってる? つーか何言ってるかわかんないですか?
>>849 window.open() の window はスクリプトを実行しているウィンドウ。
(実行時には未だ存在しない)新規に生成されるウィンドウは
window.open() の戻り値。
851 :
Name_Not_Found :02/08/22 06:29 ID:z7K0FFUo
>>850 けど、そもそも個々のメソドというものは、自分の親であるオブジェクト
に対する操作のみをするものでなけらばばらばいのでは?
上の例でいうと、このOpenメソドは、スクリプトを実行しているウィンドウ(自
分の親オブジェクト)とは関係ない操作をしていませんか?
>>851 「windowの子ウィンドウを作る」と考えればいいじゃん。
853 :
Name_Not_Found :02/08/22 06:53 ID:z7K0FFUo
>>852 そうなると、子オブジェクト(子ウィンドウ)は、親オブジェクト(親ウ
ィンドウ)の一部(部品)になっていないとおかしくないですか?
けど実際の双方の在り方は完全に独立してますよね?
他のオブジェクトの親子関係と比べても不自然過ぎませんか?
855 :
Name_Not_Found :02/08/22 07:35 ID:qTCMpGhy
>>849-854 クライアント側JavaScriptではwindowオブジェクトは広域オブジェクト
であり、広域変数はそのプロパティ。つまり関数の外で「var x = 10;」
とやるのは「window.x = 10;」とやるのと等しい。だから
「window.open(...)」もグローバルな関数「open()」を呼んでいるだけ。
ただ、他のオブジェクトでopen()を持っているものがあるので混同され
ないように「window.open(...)」と書く。
856 :
Name_Not_Found :02/08/22 07:39 ID:qTCMpGhy
>>848 document.getElementById(テーブルのID).style.backgroundColor = 'red';
とかね。これでN6/N7/Mozilla/IEともできる。document.allなんてやめとけ。
857 :
Name_Not_Found :02/08/22 07:44 ID:qTCMpGhy
>>847 レイヤでなくてもiframeとか別windowとか適当なフレームとかに
読ませてよければ。それもするなということなら知らない。
あと読み込むURLのサーバが別のサーバだとセキュリティ制約
が掛かるから読めても内容を取り出せない。
> そもそも個々のメソドというものは、自分の親であるオブジェクト > に対する操作のみをするものでなけらばばらばいのでは? 少なくとも JavaScript では、言語的にそういう制限は無い。 > 子オブジェクト(子ウィンドウ)は、親オブジェクト(親ウ > ィンドウ)の一部(部品)になっていないとおかしくないですか? 全然おかしくない。
860 :
Name_Not_Found :02/08/22 08:22 ID:z7K0FFUo
>>855 広域オブジェクトってなんですか?
なんの為にそういうものがあるのですか?
また、そういう役割をwindowオブジェクトが担うのは妥当でしょうか。
それと、クライアント側じゃないjavascriptは、また違うのですか?
861 :
Name_Not_Found :02/08/22 08:25 ID:z7K0FFUo
>>859 言語仕様の話ではありません。考え方の話をしているのです。おかしくないですか?
>>861 考え方とか言われると、人それぞれなのではとしか言いようがない。
一つ確認しておきたいんだが
「親オブジェクト」「子オブジェクト」ってどういうものを指して言ってる?
863 :
Name_Not_Found :02/08/22 08:42 ID:mS1NodkK
indexからjsで新ウインドウを固定サイズで開く形のページを運営しているのですが 中身のページをgoogleなどの検索エンジンに登録させつつも、indexを開かせるような jsはないでしょうか?検索エンジンには拾ってもらいたいのですが、途中のページから だとサイズが可変になってしまうもので。スレ違いかもしれませんがよろしくお願い 致します。
>>860 855 じゃないけど。
> 広域オブジェクトってなんですか?
グローバルオブジェクト。
> なんの為にそういうものがあるのですか?
グローバル変数をプロパティとして格納するため。
> また、そういう役割をwindowオブジェクトが担うのは妥当でしょうか。
グローバルオブジェクトのwindowプロパティは
グローバルオブジェクト自身を参照する、という表現の方が正確。
> それと、クライアント側じゃないjavascriptは、また違うのですか?
違うだろうね。
865 :
Name_Not_Found :02/08/22 09:02 ID:z7K0FFUo
>>862 人それぞれと言われるとそれまでなので、理屈抜きにおかしくないと思う
なら、それで結構だと思います。けどもし理屈があるなら教えて欲しいです。
ちなみに、いわゆるオブジェクト指向の考え方だと妥当なんだろうか、とう観点
で話をしています。ただ、オブジェクト指向を熟知して話をしているのではない
ことを断わっておきます。
親オブジェクトと子オブジェクトは、documentとformみたなものを指して話して
いました。
866 :
Name_Not_Found :02/08/22 09:22 ID:z7K0FFUo
>>864 つまりグローバルオブジェクトってのは、全オブジェクトの親玉って事で
いいですか? でそれは考え方(建て前?)としては、windowオブジェクトより
上位に位置しているが実質的には、windowオブジェクトがその役割を担っている
という事でいいですか? ん〜、すっきりしない仕組みのような気がしませんか?
867 :
Name_Not_Found :02/08/22 09:34 ID:qTCMpGhy
>>866 グローバル変数やグローバル関数の存在を否定するんならそれは
それで結構。否定しないんならそれを「どこに入れるか」とうい
問題にはどう回答するかね?
>866
だんだんスレ違いになっているような気はするけど…
俺も>866が「すっきりする仕組み」をちょっと挙げてもらいたいね。
たとえばwindow.open()での「すっきりしない」ところを解消するにはどうするんだろう?
言語仕様は無視していいから、その考え方をJavaScript'で例示してみてください。
>>863 リファラを見てサイト無いから来てなければトップに戻すとか。
JavaScriptのwindow.open()で開いた場合にリファラがつくかどうかは確認してないけど。
ただ、そもそも検索して引っかかった個々のページに直接飛んでくるような人が
indexページに突然飛ばされたら不愉快に感じるのではないかと思うけど…。
869 :
Name_Not_Found :02/08/22 10:34 ID:z7K0FFUo
>>867 今まで真剣に見たこともなかったオブジェクト階層図を見てみましたが、
http://user.ecc.u-tokyo.ac.jp/~t10521/ecmascript/tutorial/HTMLObjectTree.html windowオブジェクトより、navigatorオブジェクトのほうがグローバルオブジェク
ト(親玉)にふさわしくないですか? 現状だとウィンドウ毎にブラウザ情報を持
っている形になってますが、これは変だと思います。ブラウザが一つ存在して、そ
の配下に(中に)複数のウィンドウが存在しているのですから。その逆はあり得な
いと思います。
あと、グローバル変数・関数を否定する気はないです。
>>868 window.openメソドは、やはり、windowオブジェクトのメソドとしては
ふさわしくないと思います。navigatorオブジェクトをグローバルオブジェクトに
昇格させ、windowオブジェクトをそのすぐ下に位置させるように変更した上で、
「navigator.openWindow()」というようなメソドにしたらイイと思います。それか、
ArrayとかDateのように、「w = new Window(URL,Name,Option)」とかでもいい
かも知れません。
>>869 > 現状だとウィンドウ毎にブラウザ情報を持っている形になってますが、
いいかげんな階層図真に受けるな。navigator は window の子じゃないよ。
ブラウザ情報を表すオブジェクトは一つだけ。
各ウィンドウがnavigatorプロパティでそのオブジェクトを参照している。
windowがグローバルオブジェクトであることの理由として
変数や関数、オブジェクトは
窓単位で管理した方がよいという点が挙げられると思う。
>>869 で言うようなオブジェクトモデルの場合、
これが全ての窓で共有されることになりかねず、
誤動作も多いだろうし、セキュリティ的にも非常にまずい。
制限をつけてwindow内部にしかアクセスできないようにするくらいなら
最初からwindowをグローバルオブジェクトにしてしまった方がラク。
872 :
Name_Not_Found :02/08/22 11:20 ID:kzZyjIOQ
(V) ∧_∧(V) ヽ( ゚▽゚)ノ オシエマシェーンだ / / ノ ̄ゝ
オブジェクト指向をかじった馬鹿が暴走している。
でも俺もそういう頃あったな、昔。
875 :
Name_Not_Found :02/08/22 13:24 ID:z7K0FFUo
>>870 よくわかんないんですけど、navigatorプロパティを各ウィンドウが持っ
てるってる事は確かなんですよね? 実体(オブジェクト)がそこに存在するか
どうかは別にして。ならば、やはり仕組みがすっきりしない、という感想は変わ
りません。
>>871 >誤動作も多いだろうし、セキュリティ的にも非常にまずい。
それはその通りですね。そこまで考えが及びませんでした。
>制限をつけてwindow内部にしかアクセスできないようにするくらいなら
>最初からwindowをグローバルオブジェクトにしてしまった方がラク。
あのぅ、グローバルオブジェクト(親玉)って絶対必要なもんなんでしょうか。
opner.varA、parent.funcB() とか自分に関連あるウィンドウについてのみ
別ウィンドウの変数・関数へのアクセスが許されている様ですが、これは別に
親玉がいなくても、または、親玉がnavigatorオブジェクトであったとしても
支障なく実現出来るような気がするんですが。。
navigator.openWindow() や、new Window(U,N,O) も、別にそうして師匠ある
とも未だに思えない。。
徹夜明けなので少し寝ます。。
877 :
876 :02/08/22 13:32 ID:???
あ、ID出ないのか。。z7K0FFUoでした。。
Java、C++、ObjectPascalとか オブジェクト指向を使った言語でプログラミングしてから文句たれろ。 物を知らないアフォになにが分かる。
>>876 グローバルオブジェクトが無かったら、
a=0 としても識別子 a を解決できない。
window.open() としても識別子 window を解決できない。
JavaScriptは、変数も関数も関数内のローカル変数も
全て何らかのオブジェクトのプロパティになっていて
そういう前提で言語仕様全体が作られている。
グローバルオブジェクトの存在は、理屈抜きのJavaScriptの仕様。
2個のオブジェクト A,B があって、 A.p0=B, B.p0=A だったら、どっちが親?
body=document.body としたら、window.body で参照可能になる body 要素は
window の子オブジェクトになるか?
window.opener は親窓かつ window のプロパティだけど、それはおかしくないのか?
オブジェクトがそれぞれ表しているものには概念的に親子関係があるだろうけど
オブジェクト自身はプロパティを通してお互いを参照しあっているだけで
そこに親子関係は無い。グローバルオブジェクトも含めて。
JavaScriptみたいないつでもどこでも勝手なプロパティを自由に追加できる言語では特にそうだ。
とりあえずよーく寝てから考えろ。
880 :
Name_Not_Found :02/08/22 17:47 ID:8Gj8cgff
サーバーから時刻を取得して表示したいのですが可能でしょうか? 正確な時間を表示しなければならないので、クライアントから取得だと ちょっとまずいんです。 ご存知の方いたら教えてください。
882 :
Name_Not_Found :02/08/22 18:12 ID:8Gj8cgff
>>881 そうですね、言われてから気付きましたがどう考えても
クライアントサイドに求める機能じゃないですよね・・・。
ありがとうございました。
>>879 >グローバルオブジェクトの存在は、理屈抜きのJavaScriptの仕様。
じゃあグローバルオブジェクトを使う側に見せないというのはどうでしょう。
見せるとややこしいから、ないものとして使ってもらう。
>2個のオブジェクト A,B があって、 A.p0=B, B.p0=A だったら、どっちが親?
必要があって意図的にそういうオブジェクトを作った場合ですよね?
作った人なりの認識を持てばよいと思います。
>body=document.body としたら、window.body で参照可能になる body 要素は
>window の子オブジェクトになるか?
これも必要があって意図的にそういう参照をした場合ですよね?
body=document.body とした時点で、body は document の子で window の孫だ
という認識があるはずで、それをあえて window.body で参照したいなら構わな
いと思います。ただ、そういう参照(認識)は不自然だし、オブジェクトの階層の
概念にそぐわないとは思います。
>window.opener は親窓かつ window のプロパティだけど、それはおかしくないのか?
おかしいです。だから親玉を window とするのは妥当なのか? と思うのです。
navigator.window.opener というようなオブジェクト階層にすればなんとかつじつま
が合うような気がします。
>オブジェクトがそれぞれ表しているものには概念的に親子関係があるだろうけど
その概念こそ大事にしたいのです。
>オブジェクト自身はプロパティを通してお互いを参照しあっているだけで
>そこに親子関係は無い。グローバルオブジェクトも含めて。
それを言ったら終ってしまいます。使う側としては、中身がどうであっても概念が、
自然で理解しやすいものであることこそがありがたいのだと思うのです。
ひんしゅくを買ってるようなのでsageます。。
ていうかsageるのがマナーだったんですね。。
>>883 > じゃあグローバルオブジェクトを使う側に見せないというのはどうでしょう。
そういう実装があってもいいとは思う。不便だと思うが。
> body=document.body とした時点で、body は document の子で window の孫だ
> という認識があるはずで、
あるオブジェクトが他のオブジェクトのプロパティである、と
あるオブジェクトが他のオブジェクトの概念上の子である、は
全く別のことだ。
端的に言えば、document.bodyはdocumentの子ではない。
document.documentElementの子で、documentから見たら普通は孫だ。
これは、望ましくない解りにくい不自然なモデルか?
他にも、DOMノードは全て階層的に子供とはいえない
parentNode, nextSibling, ownerDocument のようなプロパティを持つ。
そして一つのオブジェクトを参照する方法がいくつもある。
どのノードからもownerDocumentプロパティでdocumentを参照できたら
documentはオブジェクトモデルの頂点としてふさわしくないだろうか?
ownerDocument プロパティは不自然で、作るべきではないんだろうか?
答えは否だ。理由は、そういうプロパティがあった方が便利だから。
オブジェクトが概念的に子でないオブジェクトを
プロパティとして参照することは、ごくありふれたことだと思うが、どうか。
オブジェクトが、自分は誰の子孫なのか、他のオブジェクトと何か関係があるのか
そういうことを知っていた方が便利に決まっているし、特に不自然とも思えない。
私信はメールでやれ
>端的に言えば、document.bodyはdocumentの子ではない。 >document.documentElementの子で、documentから見たら普通は孫だ。 ごめんなさい。何も知らずに適当に答えてました。 >これは、望ましくない解りにくい不自然なモデルか? 正直よくわかりません。 >他にも、DOMノードは全て階層的に子供とはいえない >parentNode, nextSibling, ownerDocument のようなプロパティを持つ。 >そして一つのオブジェクトを参照する方法がいくつもある。 知らない言葉がたくさんです。 >どのノードからもownerDocumentプロパティでdocumentを参照できたら >documentはオブジェクトモデルの頂点としてふさわしくないだろうか? >ownerDocument プロパティは不自然で、作るべきではないんだろうか? > >答えは否だ。理由は、そういうプロパティがあった方が便利だから。 > >オブジェクトが概念的に子でないオブジェクトを >プロパティとして参照することは、ごくありふれたことだと思うが、どうか。 だんだんそういう気がして来ました。 でも navigatorプロパティを各ウィンドウが持ってるのはまだ違和感が。。 >オブジェクトが、自分は誰の子孫なのか、他のオブジェクトと何か関係があるのか >そういうことを知っていた方が便利に決まっているし、特に不自然とも思えない。 内部の都合は解らなくても、外側からの見かけ上のルール(考え方)が 解り易ければ(受容れ易ければ)より使い勝手がいい、と言ってるのです。 正直受容れにくいです。 つーか、こんな馬鹿付き合うの疲れたでしょ? こっちはもうついて行けません。 このまま回線切って、後どうすればいいすか?
>>887 3年後、まだ覚えていたら、もう一度考えてみろ。
javascriptでアクセス制限かけられますか?
890 :
Name_Not_Found :02/08/23 01:52 ID:8gYukycM
教えてください。
仮にアクセスを制限しても、JavaScriptオフで回避できますが?
ガ━━ΣΣ(゚Д゚;)━━ン 忘れてたw
<noscript>の存在忘れてないか?
ハァ?
ああ、noscriptでアクセス制限な そりゃすげえや
<noscript>の間に<meta>のRefresh使って、 JavaScriptONにしてくれ とか書いたページに飛ばせば良いんじゃないの? という程度のことですが。
で、javascript onにしたらしたで飛ばされる、と。
>>896 それ昔朝鮮系の方のMac関連サイトで見たことある。
背景が真っ赤で巨大文字で何か書いてある嫌がらせページに飛ばされた。
戻ってソース見たらnoscript書いてあって、なるほどなーと。
>>896 <noscript>内に<meta>って書けない事になってるんだけど
そのやり方ってどのUAでも大体通用するの?
セキュリティの設定で自動的に移動しないようにすれば、 metaのやつも無効に出来ますが。
クライアント側の機能を使ったアクセス制限は ユーザによる設定変更が可能なので限界があるってことか。
902 :
Name_Not_Found :02/08/23 10:24 ID:48NfXqRF
<HTML> <HEAD> <TITLE>テスト</TITLE> <script language="JavaScript"> <!--// function test(){ document.write("test<br>"); setTimeout("test()",3000); } test(); // --> </SCRIPT> </HEAD> <BODY> </BODY> </HTML> こんなかんじで、定期的に呼び出す関数を作ったんですけど 一度目は実行されるのですが、それ以降はエラーが出てしまいます。 testという字が3秒ごとに現れるというのをイメージしていたのですが上手くいきません。 document.writeではなくalert("test")にした場合は上手くいきました。 どうすればイメージ通りに実行されるのでしょうか。
3秒後とに現れる…? こんな感じ? <script type="text/javascript"> <!-- window.onload = function() { setInterval(function() { document.getElementById("d1").innerHTML += "test<br>"; }, 3000); } //--> </script> <div id="d1">test<br></div>
904 :
902 :02/08/23 10:57 ID:48NfXqRF
>>903 まさしくそんな感じです。
902のではなぜ駄目なのでしょうか?
見たこと無い単語がいっぱいなので、調べてきます。
JavaScriptって何するのに使ってますか?
>>904 document.write って、基本的には文書の読み込み中に使用するもの。
読み込み完了後に使うと、文書全体がクリアされない?
結果、test()自体が消滅して、setInterval からの呼び出しに失敗する。
909 :
902 :02/08/23 11:51 ID:48NfXqRF
910 :
Name_Not_Found :02/08/23 12:45 ID:a2oe+rEb
見れたよ。
912 :
:02/08/23 15:52 ID:???
文字のスクロールをネスケ、IEともにみれるようにしたいです。 その際、スクロールするものを二つ、置きたいのですけど jiji.comのものを利用しようと思ったのですけど二つ置くとうまくいきません かれこれ丸1日悩んでます 誰か教えてください!
913 :
超初心者 :02/08/23 15:53 ID:zYmgjpUI
はじめまして。 プルダウンリンクで新しくJAVAウィンドウを開くようにしたいんですが、 どのようにしたらよいでしょうか? 「プルダウンリンクで新しく普通のウィンドウを開く」とか、 「単にJAVAでウィンドウを開く」というのはネット上に解説もあり分かったのですが、 この組み合わせがどうしても分かりません。 正直言って、私はJAVAスクリプトについては何も分かりませんが、 JAVAスクリプトを使えばどうやらこういうこともできそうだ、 ということでお聞きします。 よろしくお願いいたします。
ネタが続くね…
>>913 javaういんどうって?
window.openのこと?
>>超初心者 >>JAVAウィンドウ このスレでこう言うこと書くと…… はい、どうぞ↓
917 :
超初心者 :02/08/23 16:21 ID:zYmgjpUI
>>915 JAVAのウィンドウのこと、です・・・。
普通のブラウザとは違って、サイズとかも設定できる・・・、
正式な名前は知らないんです。すみません。
>>917 <script type="text/javascript">
function wo(){
var d=document.forms[0].elements[0];
if(d.selectedIndex==1){
window.open('window.html','','width=200,height=200');
}
}
</script>
<form>
<select onChange="wo()">
<option>
<option>開く
</select>
</form>
君のやりたいことかも知れん。
919 :
超初心者 :02/08/23 16:57 ID:zYmgjpUI
>>918 ありがとうございます。
私のやりたいことに少し近づいたと思います。
ですけど、
プルダウンのメニューが複数あって、
それぞれ違う場所のリンクを開きたい場合はどうすればいいんですか?
>>918 さんの例ですと、
'window.html'へのリンクしか出来ないのですが。
すごく初歩的なことを聞いているかもしれません。
すみません。
>どうすればいいんですか? 勉強する。
<script type="text/javascript"> function wo(w){ window.open(w.options[w.selectedIndex].value,'','width=200,height=200'); } </script> <form> <select onChange="wo(this)"> <option> <option value="first.html">1 <option value="second.html">2 <option value="third.html">3 </select> </form>
922 :
超初心者 :02/08/23 17:11 ID:zYmgjpUI
>>920 一応ネット上でいろいろ調べてみたんですが、
どうしても分かりませんでした。
手元にJAVAスクリプトの本などがあればいいんでしょうが・・・。
私が今やろうとしてることって、簡単なことですか?
>919 超初心者,初歩的とか書かんほうがいいみたいよ(w
924 :
超初心者 :02/08/23 17:18 ID:zYmgjpUI
>>921 ありがとうございます。
思っている通りにできました。
JAVAスクリプトの基本的なタグの意味が分かってないので苦戦していました。
今度、本か何かで勉強します。
本当にありがとうございました。
>>923 え、そうなんですか?
初心者は嫌がられますか・・・?
すみません。
927 :
超・・・ :02/08/23 17:29 ID:zYmgjpUI
あ、すみません、もう少しだけ。 一番上の「メニューを選んで下さい」的な行を選択したときにも ウィンドウが開いてしまうんですが、 こうならないためにはどうすればいいんでしょう。 あと、これは面倒ならいいんですが、 開くウィンドウは1つだけで、 2個目3個目は1個目と同じウィンドウで開く、という風にはできますか?
バカは死ぬと直るってよ。
929 :
Name_Not_Found :02/08/23 17:53 ID:asGwxR9o
function wo(w){ if(w.selectedIndex!==0){ window.open(w.options[w.selectedIndex].value,'win','width=200,height=200'); } }
ネスケ4.xならlayerかな。 6以上なら言わずもがな。
初心者とか言ってるやつは
>>4 を読んでそれなりに勉強してください。
「JAVAスクリプト」の語源はどこなんでしょうか?
935 :
Name_Not_Found :02/08/23 20:43 ID:gbMkdO4k
938 :
937 :02/08/23 20:56 ID:???
おもしろいね、ほんと。
941 :
Name_Not_Found :02/08/23 22:24 ID:k/Zrr3M8
テキストにマウスが乗ったときにそのテキストに応じた画像を テキストと違う場所に表示するようなことってできるでしょうか。 画像なら良く見るんですが、テキストでも可能でしょうか?
可能ですよ。
出張から帰って来たら初心者の大安売りだ。このスレだけでいいから 1から全部読め。あと950踏んだ人は新スレたてようね。そのとき 道場訓を増やすかどうか…「初心者」は免罪符にはなりません。とか。
371 名前:Name_Not_Found sage 投稿日:02/07/26 18:40 ID:??? JavaVMは知らんけど onClick="window.close()" って書くんでないの?
__,,,,_ /´  ̄`ヽ, / 〃 _ /ヘヽ li // / リ} l ヾ-/ '''ー {! l |//‐ー くー | lヤヽリ ´゚ ,r "_,,>、 ゚'} l_ }∂ ト‐=‐ァ' !l 丿j i i ヽ ` `二´' 丿l ,r=─--、rノ`''ー--‐f´:::i l /⌒ヽヽ、 \__ `7ニ´-n::i l /:| \\ `<⌒| ||\l く.: : :| ー-、_.}'´\_\|,..='}. | \_| | _``「_」´ _」 | ト、 .|\i_,..'´<\__.」.| / l. | / / | `ー-、. | `>.| \ | く ト、 .>| 〈 .| \〉 .\/ >ー'´ .」 \| \‐--‐'´〈. / ├l ├‐<7 ̄ l / ∧ l: : :| | / /./ ∧. |: :| 〉 / / .l | |. | :| / /./ l |. \,..-‐〈 〈,.-‐、/ /| l l |. |,.-‐、| :|,.-‐,|\ /.// l .| | |_ \丿 \ 、\ く // .l .| | .r'´ |_l_.l_.l 〉^〉//l.」 \`> / ./ l | / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄li \/ l. | li ̄ヽ、: : :__: : : : __: : : : __ : :`li \.| | `li: : :li`==ヘ.v==∧ ∨==ヘ.v==`li `ー-、L___,li: :`li: : : :\>: : : ̄: : : : :\>: :`li
/ヽ /ヽ / ヽ / ヽ ______ /U ヽ___/ ヽ | ____ / U :::::::::::U:\ | | / -‐ '''ー ::::::::::::::| | | | ‐ー くー U :::::::::::::|エンテ・アーラフ | | .| U,r "_,,>、 ゚' ::::::U::::|ヤニ・エ? | | | ト‐=‐ァ'.. ...∪::::::::::::::/>5.6 | |____ ヽ ` `二´'.....:::::::::::::::::::::::< マーラフシ・ハガ └___/ ̄ ̄ :::::::::::::::::::::::::| |\ | :::::::::::::::::::::::| \ \ \___ ::::::
てst
ジャバスクリプトのバージョンをしりたいんですけど どうしたらよいのでしょうか? どなたかお知恵を拝借ください
とりあえずガンガレ
がむがったけどもわかりませぬ。 なのでAGEてくだされ
旧スレをあげるな。新スレで質問してくれ。
958 :
Name_Not_Found :02/08/29 02:43 ID:dicPwx72
ウィンドウを閉じたら新しいウィンドウが開くっていうよくアダルトサイトとかにあるスクリプトはどういう風になってるんですか?
ageんな馬鹿
...