+ JavaScript の質問用スレッド vol.51 +

このエントリーをはてなブックマークに追加
━━━━━JavaScript質問スレ道場訓━━━━━
 一、礼節を重んじ常に努力精進すること
 一、ブラクラに打ち勝つ精神力を持つこと
 一、心身の優れたJavaScriptを学ぶこと
 一、雑草の如く生涯JavaScriptを貫くこと
 一、感謝と反省を忘れないこと
 以上
━━━━━━━━━━━━━━━━━━━━━━

このスレに書き込むことが許されるものは以下のとおり
・テンプレ/FAQ/過去ログ/関連資料を読める者。とくに>>2-10は必須!!!
・JavaScriptとJavaの違いを理解する者
・スクリプトを組むための最低限のHTML・CSSを理解する者
・ユーザーに迷惑となるスクリプトを書かない者
・「初心者です」を振りかざさず、質問を分かる日本語で説明できる者
・対象環境や使用技術は質問者の裁量であることを理解する者
 (質問/回答時はなるべく環境明記。WinIE5.5/N6未満と希少ブラウザは必須!)

[必読]過去スレ全集 http://user.ftth100.com/mirrorhenkan/javascript/
前スレ http://pc8.2ch.net/test/read.cgi/hp/1156128409/l50
まとめサイト http://web2ch.s31.xrea.com/?JS
FAQ・注意・過去ログ・関連資料・関連スレ>>1-10またはまとめサイト
2Name_Not_Found:2006/09/17(日) 14:15:42 ID:8wQIWeGm
米騒動
【質問を書く上で】
1)ユーザ(閲覧者)に迷惑がかかる性悪スクリプトは回答されない。
 例: 別窓開きまくり、閉じる/戻るのを妨害、全画面占有、etcは最悪。
 答えさせようと「分からねえんだろ」と煽っても無駄(過去スレが証明)。
2)言葉でぐだぐだ書かずにソースを貼る、ただし要点を整理して。
 そのまま貼って動かせると試してもらいやすい(ただし回答者に連結さすな!)
 長い(1レスに入らない)場合はアップロードしてURIを貼る。
3)初心者という言葉は危険なので使わない方がよい。
 初心者を言い訳に自力で調べない/考えない奴が最悪に嫌われる。
4)自分で調べたこと/試したこときちんと書く(調べもしない奴は最低)。
 ただ「動きません」「エラーです」は何も情報がないため嫌われる。
 エラーは「どの行で何のエラー」を書く(ブラウザをそのように設定すれ)。
 ブラウザの設定すらできんヤシはFFxのJavaScriptコンソールを使え!!!
 OS、ブラウザ、バージョン、うまく行かない条件を明記しエラー再現可能に。
5)特に古いバージョン限定の時は必ず明記! 回答もチグハグになり回答者に2度
 手間を食わせる可能性大(現行Ver.:IE5.5-6、N6-7、Opera7-8)
6)どういう時にどういう動作をさせたいのかを脳内にとどめずきちんと書く。
 例:「自動ポップアップしたい」←どういう場合(マウスオーバー、クリック、
 ボタン押し、select選択)に何(別窓、レイヤー、その他)が出るのか書け!
7)質問はまっとうな(他人に理解できる)日本語で。
 前項の例に限らず、他人に理解できない質問文は煽られるだけで時間の無駄
【FAQ】
Q1. 開いた別窓/フレームの内容にアクセスできないのですが…
A1. ページ内容が別サーバの場合セキュリティ制約により絶対無理です。
Q2. JavaScriptでローカルファイルを読み/書きたいのですが…
A2. Webではセキュリティ制約により絶対無理です。できたら恐ろしいことに…
Q3. document.write(...)でページ内容を追加したいのですが…
A3. 一度ページ表示完了後にwrite()すると内容はクリアされちゃいます。
 部分的に内容変更するには(1)他フレーム/iframe/別窓への表示、
 (2)textarea等への表示、(3)DOMでノード挿入、(4)innerHTMLのどれかで。
 innerHTMLは非標準ですがIE、Opera、Gecko(N6/N7/Moz等)で対応済。
Q4. table/tbody/tr要素のinnerHTMLを書き換えるのがうまく行かないのですが…
A4. IEはそれらの要素のinnerHTMLは変更不能。DOMを使って書き換えるしかない。
Q5. Aタグのonclickで動作指定してるのですが時々動きません…
A5. 「onclick="...;return false"」としないとページ移動しちゃうから。
Q6. 変数w1、w2…を順にループで(番号をiに入れて)設定/参照したいのですが…
A6. グローバル変数はwindowのプロパティだからwindow['w'+i]を読み書きすれ。
Q7. フォーム部品名を変数にした「...myform.変数名.value」が動きません…
A7. 「document.forms.myform.elements[変数名].value」でどぞ。
 JavaScriptでは一般に「obj.x」と「obj['x']」は同じ意味です。
 例:「obj.p0=obj.p1=...=obj.p8=0;」⇔「for(i=0;i<9;i++) obj['p'+i]=0;」。
Q8. CSSで設定した背景色がe.style.backgroundColorで取得できないのですが…
A8. IEではe.currentStyle、Geckoではwindow.getComputedStyle()を使います。
Q9. 100*1.15の結果が114.999…998となってしまうのですが…
A9. コンピュータの実数計算は全て近似値だと思え。誤差が嫌なら整数で計算。
Q10. 任意のデータをサーバ(別鯖ではない)から取り寄せたいのですが…
A10. Geckoのnew XMLHttpRequest()、IEのnew ActiveXObject("Microsoft.XMLHTTP")
 を使えばできる。古いブラウザだと隠しフレームに読むなどのワザが必要。
【主張の対立:他人の嗜好は尊重。損得の議論は歓迎】
・仕様を読む:回答者なら仕様の該当部分は読んでいるべき。質問者でも
 仕様を読まずうだうだ書く奴は注意されて当然。読み間違いは生温く指摘。
・英文文書:翻訳の努力を惜しむべからず。 読めないなら和訳を探し、
 なければあきらめよう。翻訳サイトを知っている人はうまく誘導してあげて。
・IE専用/アンチIE/クロスブラウザ:「○○は不要」「○○だけであと
 は無視」は不毛。質問者が分かって選択していれば尊重する。無知か
 らIE専なのは指摘してあげると親切。
・標準準拠 vs 使えればよい:標準はブラウザが変わっても維持される
 可能性大。非標準機能も損得を分かった上で使うならよい。
・MS vs アンチMS:MS固有の情報はMSのサイトで見ないと分からないが、
 そこだけ見ているとIE専になる。あとは上2件と同様。
・別窓、イベント抑止など:一般には迷惑スクリプトだが質問者に正当
 な理由があることも。尋ねて分かってないようなら煽っても可(w
・innerHTML vs DOM:それぞれに長所/弱点があるので理解した上で選
 択するべき。一概にどちらは駄目、とは言えない。
・on属性 vs addXXX():ハンドラが1つだけと分かっていればon属性
 で簡単にハンドラを設定もあり。上書きが心配ならaddXXX()。
【標準規格・リファレンス】
規格を読まずにどうなってるか分からんとか質問しないこと!

まとめサイト
http://web2ch.s31.xrea.com/?JS

ECMA-262
http://www.ecma-international.org/publications/standards/ECMA-262.HTM
http://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/ (和訳)

W3C Document Object Model Technical Reports
http://www.w3.org/DOM/DOMTR

E4X (ECMAScript for XML)
http://141.30.92.52/cubetto/download/ECMA-357.pdf

MSDN Library JScript / DHTML (現在日本語版は古杉)
http://www.microsoft.com/japan/msdn/library/ja/script56/html/js56jsoriJScript.asp
http://msdn.microsoft.com/workshop/author/dhtml/reference/dhtml_reference_entry.asp

Mozilla Gecko DOM, Netscape devedge
http://www.mozilla.org/docs/dom/domref/
http://www.mozilla-japan.org/docs/dom/domref/ (和訳)
http://web.archive.org/web/20040822074426/devedge.netscape.com/central/javascript/
【チュートリアルサイト・サンプルサイト】
規格が読めないならまずはチュートリアル。サンプルサイトも沢山ある。

ECMAScriptチュートリアル (アクセスできないとの説あり)
http://www.axis.t.u-tokyo.ac.jp/~shunak/ecmascript/

MetaGraphic Cell
http://www2u.biglobe.ne.jp/~oz-07ams/prog/

どら猫本舗のリファレンスカウンター
http://www.doraneko.org/

はぎさんちのページ Mozilla's DOM Sample Project
http://cgi.din.or.jp/~hagi3/JavaScript/JSTips/Mozilla/mds.cgi

Dynamic Scripting
http://www.interq.or.jp/student/exeal/dss/

JavaScript深層
http://www.hawk.34sp.com/
【検索】
キーワード『…』で検索しろ」「ぐぐれ」と言われた場合はこちらへ
http://www.google.co.jp/

【関連スレ】
板違い、スレ違いに注意!サーバ側での処理はWebProg板へどぞ!

Webサイト制作初心者用スレ Part 172
http://pc8.2ch.net/test/read.cgi/hp/1157790159/l50

CSS /* CSS・スタイルシート質問スレッド【60th】 */
http://pc8.2ch.net/test/read.cgi/hp/1157985465/l50

CSS/DHTMLバグ辞典スレッド 【第5版】
http://pc8.2ch.net/test/read.cgi/hp/1144494359/l50

役に立つ書籍は? 3冊目
http://pc8.2ch.net/test/read.cgi/hp/1142829968/l50
9Name_Not_Found:2006/09/17(日) 14:39:15 ID:???
>>1-8
お湯
10Name_Not_Found:2006/09/17(日) 14:49:32 ID:???
>>1
>>3-8
お湯!
11Name_Not_Found:2006/09/17(日) 14:58:29 ID:???
>>1-8
超お湯
12Name_Not_Found:2006/09/17(日) 16:12:18 ID:???
>>1-8
ちべたいちべたい!
13Name_Not_Found:2006/09/17(日) 17:29:19 ID:???
        _
       / jjjj    _
     / タ     {!!! _ ヽ、
    ,/  ノ      ~ `、  \
    `、  `ヽ. _,,..,,,,_  ,‐'`  ノ 
     \  V ;' 3  `" .ノ/ >>1お湯
        ヽ.      )r '
         ( ┌┐ '、
         |  |  \ \
         |  |   \ \
         |  )    |  )
         / /     / /
         / /     L_\
        L_\       ̄
           ̄
14age:2006/09/17(日) 17:48:48 ID:???
selection.createRange().text って
テーブルの中の文字は取得できない?
15Name_Not_Found:2006/09/17(日) 22:10:31 ID:???
>>14
まずアンタがやってるのはIE専だというのは分かっているのかね?
FFxでIE専を試してるとかじゃないよな?普通にできると思うけどね。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
</style>
<script type="text/javascript">
window.onmouseup = function() {
if(window.getSelection) alert(window.getSelection().toString()); // Gecko
else alert(document.selection.createRange().text); // IE
};
</script>
</head><body onload="init()">
<table border="2" summary="test"><tbody>
<tr><th>a</th><th>b</th><th>c</th><th>d</th><th>e</th></tr>
<tr><th>a</th><th>b</th><th>c</th><th>d</th><th>e</th></tr>
</tbody></table>
</body></html>
16Name_Not_Found:2006/09/17(日) 22:13:15 ID:???
げげ、なぜか消し忘れた</style>が…
17Name_Not_Found:2006/09/17(日) 22:24:39 ID:???
>>16
なぜか
消し忘れた
</style>が…

日本語おかしくない?なぜかって言った直後に消し忘れたってネタバレしてるし…
18Name_Not_Found:2006/09/17(日) 22:59:50 ID:???
はいはいすまそ。ちなみにonload="init()"も消し忘れている。
19Name_Not_Found:2006/09/17(日) 23:00:14 ID:???
スクリプト書くのに10年近くM$のメモ帳使ってきた。エディタはウザイ気がして。
色が邪魔だな。カラーTVを初めて買った感じ。それとCtrl+Sが使いづらい。
みんなもエディタ使ってるの?
20Name_Not_Found:2006/09/17(日) 23:21:25 ID:???
メモ帳使うならEmEditor
21Name_Not_Found:2006/09/17(日) 23:21:25 ID:???
メモ帳はエディタとは言わないの?
俺はvim使ってる
22Name_Not_Found:2006/09/17(日) 23:25:30 ID:???
>>15
スイマセン!事故解決できました。
selection.createRange().textを
onselectで動かしてたのですが、
onmousemoveにしたら取得できました。
onselectではフォーム、もしくはHTMLでマークアップされていない
文字しか取得できませんでしたね。
選択部分を取得するのだからonselectだろうという固定観念でした。
ホントすいまソん。
23Name_Not_Found:2006/09/18(月) 11:22:26 ID:???
M$純正notepadなんて使いもんにならね
俺はsakuraだな
2419:2006/09/18(月) 12:04:35 ID:???
全くだな。洩れはもう何万回<script></script>やfunctionって打ってきたかな。
今はsと打つとscriptって入れてくれる。でも最初からこれ使ってたら便利すぎ
て逆に打てなくなるね。notepad利用者は本職でも結構多いよ。
25Name_Not_Found:2006/09/18(月) 12:41:26 ID:uvhF048d
こんにちは。
<script>var hs="こんばんは"</script>
<script src="konban.js"></script>
というように変数を先に出してあとの外部jsファイルで定義した関数を呼び
出してここにdocument.writeさせるように書いているのですが、試みに文法
チェックに掛けてみたところ、2番目のscriptタグは「ここには置けません」
と指摘されました。
なぜ文法的にまちがいなのでしょうか。
26Name_Not_Found:2006/09/18(月) 15:17:33 ID:???
ん?
27Name_Not_Found:2006/09/18(月) 15:19:11 ID:???
1、「他サイトから」、javascript をとってくる。
2、ちょっと加工して、eval() する。

これ、どーやってやろう。
1の条件がなければ xmlHttpRequest で一発だし、
2の条件がなければ、<script src=> でOKなんだけど、
1と2、両方とも、となると、お手上げ。
なんかいいアイディアないですか?
JSON とかならできるのかな?
28Name_Not_Found:2006/09/18(月) 16:07:19 ID:VMEwfHtH
>>19
>色が邪魔だな。カラーTVを初めて買った感じ。

この例えが実感出来る世代の人はココには殆ど居ないと思いますよ、人生の大先輩。
29Name_Not_Found:2006/09/18(月) 16:11:28 ID:???
>>24
あほかw script, function くらいスペル補完機能あっても忘れんわ

本職でも結構多いってさ、JAVAとかCになるとIDEとかじゃないと辛くね?
notepadはHTMLでさえも不便に感じる
30Name_Not_Found:2006/09/18(月) 16:19:26 ID:???
[00-aa][01-ab][02-ac]のような[0-9]のない[a-z]までの26進法つくり
左側を右側に、右側を左側に相互変換したいのですが、どうしたらいいのですか?
31pom:2006/09/18(月) 16:23:28 ID:whcQLjS6
はじめまして。
2ちゃんカキコミ初めてで緊張してるんですが。
今サイトを作ろうと思っているのですが、
ログインフォームと登録フォームをhtmlで作ろうと頑張って
るのですが、調べていくうちにJavaScriptやらcgiやらが
必要になってくるのかうまく作れません。カキコミが許され
ない人間なのかも知れませんが、宜しくお願い致します。
32Name_Not_Found:2006/09/18(月) 16:39:33 ID:???
>>31
pomよ、お前のカキコミは俺が許す。
まず2chに登録するためにfusianas(ry
33pom:2006/09/18(月) 16:46:24 ID:whcQLjS6
>>32
ありがとうございます><
道場訓を一つだけ自身持ってクリアしたものがあります。
ブラクラに打ち勝つ勇気だけはありました。
(その後、ハードディスクが壊れたのか7万の修理代とメッセの友人
を無くしました)
すみません。。fusianas<登録したいのですが、わかりません泣
34Name_Not_Found:2006/09/18(月) 16:46:42 ID:???
>>31
pomさんはじめまして^^
ここはJavascriptスレなので、
何がしたいのかもうちょっと具体的にね
丸投げは受け付けてないお。

あと、今度からfusianasa(ry
35pom:2006/09/18(月) 17:03:24 ID:whcQLjS6
>>34
はじめまして^^
はい、すみません。
具体的に書きますと、
会員制HPを作りたく作成途中なのですが、
まず、会員IDとパスワード・名前・メアドetc
などを登録するフォームの作成
IDとPASSを入れるフォームの作成。
を作ろうとしています。
なんとなく自分がカキコミしたのは場違い
な気がして(cgiスプリクトとか言う物と間違っ
てたら本当に申し訳ないです。)
ならないのですが、何か一つでも次に進め
ると思いカキコしました。
是非、教えてください。宜しくお願い致
します。

fusianasa(ry

すみません。何ですかこれはw
36Name_Not_Found:2006/09/18(月) 17:07:56 ID:???
HTTP://www.google.co.jp/search?hl=ja&q=fusianasa%28ry&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=lang_ja
37pom :2006/09/18(月) 17:23:56 ID:whcQLjS6
騙り防止機能っていうものですか!?
38Name_Not_Found:2006/09/18(月) 17:51:37 ID:KLUUTZSh
訳あってラジオボタンが使えないんだが、
チェックボックスAをクリックするとBのチェックが外れ
チェックボックスBをクリックするとAのチェックが外れるように
したいんだけど、
<head>
<SCRIPT language="JavaScript" type="text/javascript">
<!--
function sousin(){
var form2=document.MYFORM.ck1;
var form3=document.MYFORM.ck2;

if(form2.checked){
form3.checked=false;
}else{
if(form3.checked){
form2.checked=false;}}}
-->
</SCRIPT>
</head>
<body>
<form name="MYFORM">
<input type="checkbox" name="ck1" value="A" onclick="sousin()"/>A<br>
<input type="checkbox" name="ck2" value="B" onclick="sousin()"/>B<br>
<input type="submit" value="検索"/>
</form>
</body>
</html>
と書くと、
Bチェック済み→Aクリック B外れる
Aチェック済み→Bクリック A外れず Bチェック出来ず
になるんだが、どう書けばいいのか教えてくれないか('A`)
過去ログに似たようなのがあったけど、同じ挙動になるんだ。
39Name_Not_Found:2006/09/18(月) 17:52:09 ID:???
スマン
あげてしまった。
40Name_Not_Found:2006/09/18(月) 18:16:36 ID:cg3fwPrL
<html lang="ja">
<head>
<SCRIPT language="JavaScript" type="text/javascript">
<!--
function chk(){
var checks = new Array(document.MYFORM.ck1, document.MYFORM.ck2)
for(var i=0;i<checks.length;i++)checks[i].checked = false;
event.srcElement.checked = true;
}
-->
</SCRIPT>
</head>
<body>
<form name="MYFORM">
<input type="checkbox" name="ck1" value="A" onclick="chk()"/>A<br>
<input type="checkbox" name="ck2" value="B" onclick="chk()"/>B<br>
<input type="submit" value="検索"/>
</form>
</body>
</html>
41Name_Not_Found:2006/09/18(月) 18:29:51 ID:???
本筋からそれるが、scriptタグの中に2つ書くのはよろしくない。
4227:2006/09/18(月) 20:09:10 ID:???
おしえてん。
43Name_Not_Found:2006/09/18(月) 20:18:11 ID:???
>>38
<head>
<SCRIPT language="JavaScript" type="text/javascript">
<!--
function sousin(obj){
var form2=document.MYFORM.ck1;
var form3=document.MYFORM.ck2;

if(obj=="a"){
form3.checked=false;
}
if(obj=="b"){
form2.checked=false;
}
}
-->
</SCRIPT>
</head>
<body>
<form name="MYFORM">
<input type="checkbox" name="ck1" value="A" onclick="sousin('a')"/>A<br>
<input type="checkbox" name="ck2" value="B" onclick="sousin('b')"/>B<br>
<input type="submit" value="検索"/>
</form>
</body>
</html>

引数で判断すればいい。
44Name_Not_Found:2006/09/18(月) 20:43:48 ID:UttkhhbM
>>27
どの関数を加工するか分かっているなら、その関数を
toString()して加工して再定義することはできるね。
45Name_Not_Found:2006/09/18(月) 20:48:15 ID:???
elm=document.getElementsByTagName('input');
for(i=0;i<elm.length;i++){
elm[i].setAttribute("onclick", new Function('alert(str[i][3]);'));
}
としたいのですが、エラーになります。
どうすればいいのでしょうか?よろしくお願い申し上げます。
46Name_Not_Found:2006/09/18(月) 20:52:11 ID:cg3fwPrL
47Name_Not_Found:2006/09/18(月) 20:52:57 ID:???
>>45
どの行でどういうエラーが出ているのか書け。それができないなら帰れ。
ちなみにIEではsetAtrributeでonclickハンドラをつけることはできないから。
48Name_Not_Found:2006/09/18(月) 21:10:27 ID:???
>>35
会員のデータ登録とかは JS じゃできないから CGI でおk
フォームの作成は HTML でおk
49Name_Not_Found:2006/09/18(月) 21:13:44 ID:???
elm[i].onclick = new Function('alert(str[' + i + '][3]);');
かな?
50Name_Not_Found:2006/09/18(月) 21:14:42 ID:???
elm[i].setAttribute("onclick", new Function("alert('test');"));
はOK
elm[i].setAttribute("onclick", new Function('alert(i);'));
もOK
elm[i].setAttribute("onclick", new Function('alert(str[i]);'));
はundefined
elm[i].setAttribute("onclick", new Function('alert(str[i][3]);'));
だと
'str[...]3'は Null またはオブジェクトではありません。
とでます。どうかよろしくお願い申し上げます。
51Name_Not_Found:2006/09/18(月) 21:15:26 ID:???
ねぇ、 new Function っての使うメリットってなーに?
52Name_Not_Found:2006/09/18(月) 21:17:59 ID:???
>>49さん
出来ました。有り難うございます。やった!。
>>51さん
無名関数だと動きませんので。
53Name_Not_Found:2006/09/18(月) 22:04:25 ID:???
>>52
無名関数でできないのは自分の腕前の問題だろ。洩れはnew Functionなんて
数年来使ったことがないよ。
54Name_Not_Found:2006/09/18(月) 22:17:07 ID:???
> 無名関数だと動きませんので。

動きます><
55Name_Not_Found:2006/09/18(月) 22:18:16 ID:???
もちろんあのnew Function()が自力で書けない奴は無名関数だって
書けないだろうとも。もう終了しよ。
56Name_Not_Found:2006/09/18(月) 22:25:37 ID:???
どう
57Name_Not_Found:2006/09/18(月) 22:51:11 ID:EtNXdwI5
これはどう読めばよいのでしょうか。ちょっとした日本語でお願いします。
var Prototype = {
Version: '1.4.0',
ScriptFragment: '(?:)((\n|\r|.)*?)(?:<\/script>)',
emptyFunction: function() {},
K: function(x) {return x}
}
58Name_Not_Found:2006/09/18(月) 23:02:53 ID:???
>>57
ヴぁープロとてぃぷ は、 
ヴぁーじょん ころん 1.4.0
すくりぷとふらぐめんと ころん ごにょごにょ
えんプリティふぁっくしょん ふぁっくしょんかっこ
けい、 ふぁんくしょん かっこえーっくす、 れつるん えっくす
59Name_Not_Found:2006/09/18(月) 23:09:46 ID:???
ちょwwwwwww
60Name_Not_Found:2006/09/18(月) 23:13:45 ID:???
ごにょごにょ と来たかw
6157:2006/09/18(月) 23:23:24 ID:???
余も老けて参りました。真面目にお願いします。
62Name_Not_Found:2006/09/18(月) 23:24:57 ID:???
大音量でお楽しみください
63Name_Not_Found:2006/09/18(月) 23:32:32 ID:???
>>58
ヴィトゲンシュタインも言っているが、
Sie wollen mich abzocken.を
ずぃー ヴぉれん みっひ あっぷつぉっけん。
といってもそれは決して日本語ではない。
トマトが魚でないのと同じである。
64Name_Not_Found:2006/09/18(月) 23:35:32 ID:???
>>61
だからオブジェクトイニシャライザでVersion, ScriptFragment等の
プロパティにそれぞれ値を設定したオブジェクトを作り変数Prototype
に格納している。それ以上説明しようがないな。あとはどこでどう使う
か次第だと思うがね。
65Name_Not_Found:2006/09/18(月) 23:42:44 ID:???
質問

HTMLでホームページを制作しています


<A href="・・/index A.html"><B>index A.html</B></A><BR>
<A href="・・/index B.html"><B>index B.html</B></A><BR>
<A href="・・/index C.html"><B>index C.html</B></A>

以上の内容を書いているのですが、
この3つは別のフレームに表示するとこまではできたのですが
自動で何秒後かに、これらを巡回表示するように設定するには
どのようなコード、プログラムを組んだらよいでしょうか?

なるべくHTMLのコードがいいのですが、無可能なら
パールやジャバでもいいです。
66Name_Not_Found:2006/09/18(月) 23:55:55 ID:???
>>65
お前にホームページを制作する資格は無い

無可能キタコレ
67Name_Not_Found:2006/09/18(月) 23:56:38 ID:???
>>63
ヒント:ちょっとした日本語
トマト:ちょっとした魚

>>65
どっかで見た質問だけどまあいいや。
HTMLだけでは無可能。javascriptをつかえばおk
ヒント:SetTimeout
68Name_Not_Found:2006/09/19(火) 00:06:29 ID:???
>>65
index A.html とやらのソースをいじれるなら
html の範囲内でできるでそ

http://www.htmq.com/html/meta.shtml
69Name_Not_Found:2006/09/19(火) 00:07:37 ID:???
>>67
サンクス!!!!!「
全身全霊を持ってヒントをググってみます!
70Name_Not_Found:2006/09/19(火) 00:08:38 ID:???
>>68
以下同文
71Name_Not_Found:2006/09/19(火) 00:10:09 ID:???
IDが表示してない、、
>>69=>>70です

ほんとありがと、じゃばの板なのに
72Name_Not_Found:2006/09/19(火) 00:23:40 ID:???
じゃばじゃないもん
73Name_Not_Found:2006/09/19(火) 02:54:26 ID:???
すくりぷとだもん
74Name_Not_Found:2006/09/19(火) 09:06:36 ID:eQQui1Iy
質問です。
ずっと思っていたのですが昨日またぶち当たりました。
document.form1.select1
というoptionリストがあったとき、
document.form1.select1.value
に値(実際はindex値)をいれると、それがあたかも
formObj.select1.options[form1.select1.selectedIndex].valueと
同じに振る舞うのはどういう理屈なのでしょうか。
optionリストではvalueは常にindexが「0」という暗黙の了解(?)
がJavaScriptの元コードの中であるのでしょうか。
ご意見お聞かせください。
7538:2006/09/19(火) 09:18:05 ID:???
>>40>>43
おお(゚∀゚)
二人ともありがd!感謝!!
二つともやってみるよ。

>>43
引数で判断するのか。勉強になりました。

>>41
<SCRIPT language="JavaScript" type="text/javascript">
       ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
これのことかしら
76Name_Not_Found:2006/09/19(火) 11:16:42 ID:???
>>74
そのブラウザがたまたまそのように作られただけで
その動作には何の保証もない。別ブラウザだったり
バージョンが替わったら動かないかも知れない。
洩れはだからそういう「たまたまの」動作には興味も
関心もない。まあせいぜい好きなだけ探求すれば。
77Name_Not_Found:2006/09/19(火) 11:20:11 ID:???
>>76
いやそうとは言えないのでは。DOM2 HTMLの記述。
value of type DOMString
The current form control value (i.e. the value of the currently
selected option), if multiple options are selected this is the
value of the first selected option.
だから現在選択されている項目の値が設定できると規定されている
ものと読める(valueはreadonlyではないしね)。
78Name_Not_Found:2006/09/19(火) 11:26:03 ID:???
>>77
なるほどそう読めるね。スマソかった。
79Name_Not_Found:2006/09/19(火) 11:42:55 ID:???
> if multiple options are selected this is the
> value of the first selected option
役に立たない仕様だな…
80Name_Not_Found:2006/09/19(火) 12:35:47 ID:???
後付け仕様なんてそんなもんさ
81Name_Not_Found:2006/09/19(火) 18:14:07 ID:???
<meta http-equiv="???" url=aaa.htm">

の中にTargetを組み込んで
ジャンプする前のページのフレーム内に表示することはできますか?
82Name_Not_Found:2006/09/19(火) 18:25:52 ID:???
>>81
それはフレームの使い方として向かない
83Name_Not_Found:2006/09/19(火) 18:46:38 ID:???
質問があります。よろしくお願いします。

ポートフォリオ形式のサイトを作るにあたって、
リストになっている画像ボタンを押すと、隣のボックスにある大きな画像が変わる
という状態のものをつくりたいと思ってます。
どうにかそれらしきjava scriptを入れ込んだのですが、ターゲットにしたかった大きな画像ではなく
リストの真上にあるタイトル画像が変わってしまいます。
どうやってターゲット先を指定するのでしょうか。
HTMLとCSSは大丈夫ですが、java scriptはまだ初心者です。
よろしくお願い致します。
84Name_Not_Found:2006/09/19(火) 19:22:35 ID:???
>>83
そういう曖昧な質問を受けても君は的確に答えられるのか?
最低限のソースも貼れないヤツは、こちらへ ∩( ´∀`)∩ドウゾ (っ´∀`)っ))ヨロシク

手取り足取り教えるJavaScriptスレpart4
http://pc8.2ch.net/test/read.cgi/hp/1155954169/
85Name_Not_Found:2006/09/19(火) 19:36:52 ID:???
答えられないのでここに来たのですが、お忙しい所申し訳ありません。
ソースが必要ならここに全部貼ってしまっていいのでしょうか。java script の部分だけで解りますか?
こういった場所での質問が初めてなもので。
回答ありがとうございました。
86Name_Not_Found:2006/09/19(火) 19:56:20 ID:???
>>85
テンプレも読めないアホは帰れ
87Name_Not_Found:2006/09/19(火) 20:06:49 ID:???
そうします。お騒がせ致しました。
8874:2006/09/19(火) 21:52:08 ID:???
>>77
ありがとうございました。あながち間違いではないんですね。
標準規格という問題もあるでしょうけれど。
89Name_Not_Found:2006/09/19(火) 23:12:45 ID:???
すいません、アルゴリズムを教えてもらいたいです
90Name_Not_Found:2006/09/19(火) 23:28:29 ID:???
91Name_Not_Found:2006/09/19(火) 23:36:01 ID:???
<A href=""><IMG src=""></A>
イメージタグの挟まったアンカータグのみを残して
removeChildかremoveAttribute('href')
したいのですがどうマッチさせればいいのでしょうか?
ご教授よろしく御願いします。
92Name_Not_Found:2006/09/19(火) 23:57:47 ID:???
>>91
文字列で行く?
ドムで行く?
93Name_Not_Found:2006/09/20(水) 00:07:11 ID:???
ドムで御願いします。
94Name_Not_Found:2006/09/20(水) 00:10:46 ID:???
var es=document.getElementsByTagName("img");
for(var i=0;i<es.length;++i){
if(e.parentNode.nodeName=="a"){
e.parentNode.removeChild(es[i]);
e.removeAttribute("href");
}}

みたいな?
95Name_Not_Found:2006/09/20(水) 00:12:16 ID:???

3-4行目のe.はes[i].の間違い。
5行目のe.はes[i].parentNodeの間違い。
4行目と5行目は逆。
96Name_Not_Found:2006/09/20(水) 00:24:59 ID:???
JSONについて教えてください。
(1) 読み方はジェイソンですか、ジェイエスオーエヌですか?
(2) { "foo" : "bar" } と { foo : "bar" } どちらの書き方が正しいですか?
97Name_Not_Found:2006/09/20(水) 00:28:28 ID:???
>>96
(1)当然ジェイソン
(2)前者
98Name_Not_Found:2006/09/20(水) 00:29:02 ID:???
>>95
tagName.match(/img/i)とやってダメだったのですが
nodeName.match(/img/i)で動きました。
有り難うございました。

99Name_Not_Found:2006/09/20(水) 01:07:43 ID:???
>>97
ありがとうございました。
(2)で僕はいつも後者で書いているのですが、後者だと何か問題ありますか?
100Name_Not_Found:2006/09/20(水) 01:14:22 ID:???
>>99
今のところ、javascriptのevalで使うくらいだろうから、問題ないと思う。
仕様に厳しく正しく従うJSONパーサが出てきたら、問題。

でも、そんなパーサでも(2)でも動くように作ると思うけど。
101Name_Not_Found:2006/09/20(水) 02:39:37 ID:???
>>100
ありがとうございました。
102Name_Not_Found:2006/09/20(水) 07:28:37 ID:CHEZ0gkb
テーブルのセルの空欄部分にJavaScriptで斜めの線を引くことはできませんか?
103Name_Not_Found:2006/09/20(水) 08:08:51 ID:???
(第2章)上につかった、a, b, c など算数の未知数のようなものを、
プログラミングの世界では 変数といいます。
www.aanda.co.jp/VIPRoom/vsdoc/seminner/step2.htm

そうなの?
104Name_Not_Found:2006/09/20(水) 08:19:02 ID:???
>>103
その説明はあんまりよくないと思うけどね。a=a+1みたいなのの
説明ができないからね。
>>102
斜め線の画像を用意してそのセルに埋めるのが一番素直かな。
105Name_Not_Found:2006/09/20(水) 08:50:28 ID:???
a=a+1は代入だから問題なくね?
106Name_Not_Found:2006/09/20(水) 09:01:06 ID:???
ちょー初歩的質問いいですか?
10の2乗を2進法で表わすとどうして4なんですか?
2進法って0と1だと習ったのに。
parseInt(String(Math.pow(10,2)),2) //<--4
こんな感じです。
107Name_Not_Found:2006/09/20(水) 10:13:05 ID:dU4uHqFI BE:142859647-2BP(433)
addEventListnerで、オブジェクトのメンバ関数をコールバックする
ことってできないのでしょうか?

addEventListner("onclick",this.func,false)

みたいなことをやりたいのですが。
Firefox1.5だとエラーないのですが、
func内の this が、自分自身への参照ではなく、
イベントの発生Nodeへの参照になってしまいます。
108107:2006/09/20(水) 10:16:29 ID:??? BE:30613032-2BP(433)
すいません。
×onclick
○click
109Name_Not_Found:2006/09/20(水) 10:29:10 ID:???
>>106
勘違いしとるよ。
2進で100は10進で4。
そういう関数。
110Name_Not_Found:2006/09/20(水) 10:54:45 ID:???
>>107
thisから関数funcだけ取り出して登録したらthisは
呼ばれる時には行方不明になってるだろ。
addEventListener('...',function(x){return function(){x.func();};}(this),false)
なぜこれでいいかは自分で勉強すれ。
>>105
「未知数」といった場合、いくつかは分からないが「ある決まった
数」という意味になるよね。aとa+1が等しいような「ある数」
ってないじゃん。だから未知数という教え方はよくないと思うね。
111Name_Not_Found:2006/09/20(水) 11:12:30 ID:???
>>107
>func内の this が、自分自身への参照ではなく、
>イベントの発生Nodeへの参照になってしまいます。

それは偶然。
112106:2006/09/20(水) 11:27:19 ID:???
>>109 すいません大ボケでした。thx

113Name_Not_Found:2006/09/20(水) 12:27:57 ID:???
TABLEのROWを削除するコードで
obj.removeChild(obj.rows[i]);
としたんですが、ここ↑で引数が無効だとエラーが出ます。
書き方悪いでしょうか?
114Name_Not_Found:2006/09/20(水) 12:49:19 ID:???
>>113
TR要素はTBODY要素の中に入っているのでそのTBODYから
removeChildしないと駄目よ。HTMLを勉強すれ。(前にもめた
ので書いておくと、HTMLの記述上はTBODYタグは省略できるが、
省略してもTABLE要素の下にTBODY要素が補われて作られる。
だからTBODY要素が必ず存在するということに変わりはない。)
DOM操作するならタグの省略するとワケワカになるから全部
きっちり書く方を勧める。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function test() {
var t0 = document.getElementById('t0'), t1 = document.getElementById('t1');
t1.removeChild(t0.rows[1]);
}
</script>
</head><body>
<table id="t0" border="2" summary="test"><tbody id="t1">
<tr><th>0</th><th>b</th><th>c</th><th>d</th><th>e</th></tr>
<tr><th>1</th><th>b</th><th>c</th><th>d</th><th>e</th></tr>
</tbody></table>
<p><button onclick="test()">Test</button></p></body></html>
115Name_Not_Found:2006/09/20(水) 13:00:44 ID:???
obj.deleteRow(obj.rows[i]);
116Name_Not_Found:2006/09/20(水) 13:06:02 ID:???
>>115
deleteRow()だったら「行の番号を」指定するんでは。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function test() { document.getElementById('t0').deleteRow(1); }
</script>
</head><body>
<table id="t0" border="2" summary="test"><tbody id="t1">
<tr><th>0</th><th>b</th><th>c</th><th>d</th><th>e</th></tr>
<tr><th>1</th><th>b</th><th>c</th><th>d</th><th>e</th></tr>
</tbody></table>
<p><button onclick="test()">Test</button></p></body></html>
117Name_Not_Found:2006/09/20(水) 13:27:12 ID:???
>>116
あ、そうか。うっかりしたわ
118113:2006/09/20(水) 13:43:55 ID:???
>>114
ホレさま、できました!ありがとうございました。
119Name_Not_Found:2006/09/20(水) 15:28:07 ID:???
var にはどんな役割があるのでしょうか。
あと、ブロック内で、グローバルな変数を宣言
するにはどうすればいいのでしょうか?
120107:2006/09/20(水) 15:52:52 ID:??? BE:183676649-2BP(433)
>>110
なるほど、こうすればいいのですね。。
ありがとうございました。
121Name_Not_Found:2006/09/20(水) 16:48:45 ID:???
>>119
var は変数の宣言。省略可能。
var a = 0; var b = 0;
function f(){
    var a = 1;
    window.b = 1;
}
f();
// a -> 0;
// b -> 1;
122Name_Not_Found:2006/09/20(水) 16:50:04 ID:???
ごめん、うそ書いたかも。
123Name_Not_Found:2006/09/20(水) 17:12:32 ID:???
>>121の補足
globalスコープ(=関数内でない場所)では、varをつけずに変数が使えるが、
関数内では必ずvarをつけないといけない。

globalスコープの変数は、すべてwindowオブジェクトの扱いになる。
たとえば、var a=0; と window.a=0; は同じ

関数内の変数は、その関数内の宣言以降のシーケンスならどこでも使える。
宣言をしない変数は使えない。
124119:2006/09/20(水) 17:55:05 ID:???
ありがとうございます。
125Name_Not_Found:2006/09/20(水) 18:05:59 ID:???
>>123
宣言なしでも関数内で使えるんじゃ
126Name_Not_Found:2006/09/20(水) 18:13:26 ID:???
関数内で宣言なしで使うとグローバルになる
127Name_Not_Found:2006/09/20(水) 18:19:39 ID:???
厳密に言えば引数リストに現れる名前の場合引数になる(笑)
12889:2006/09/20(水) 20:47:11 ID:???
data = [
{level:0,value:"あ"},
{level:1,value:"い"},
{level:1,value:"う"},
{level:2,value:"え"},
{level:3,value:"お"},
{level:2,value:"か"},
{level:2,value:"き"},
{level:3,value:"く"},
{level:4,value:"け"},
{level:1,value:"こ"}
];
上記のような、階層レベルと値の組の配列が与えられたとき、
下記を出力するアルゴリズムが知りたいんです。

┣い
┣う
┃┣え
┃┃┗お
┃┣か
┃┗き
┃  ┗く
┃    ┗け
┗こ

今考え中の方法は
まず、階層レベルの数値から再帰処理とかで何とかして段々な構造の配列を作る。
この配列の中に入れる物は何でもいいから空っぽでいい。[[],[[[]],[],[[[]]]],[]]が出来る。(配列の構造じゃなくてもただの文字列でいいかも?)
今度は再帰処理でこの配列を全部見る。でカレントが配列の最後なら┗、そうでないなら┣みたいに分岐。
その頭の┃か  は、子供配列に潜るときにそれを含んでいた場所が配列の最後かどうかで分岐。
そうして何とかして["","┣","┣","┃┣","┃┃┗","┃┣","┃┗","┃  ┗","┃    ┗","┗"]を作る。
最後に普通のforでそのツリー文字とデータの値とを連結しながら書き出す。
129Name_Not_Found:2006/09/20(水) 21:15:40 ID:???
>>128
それでいいから。
130Name_Not_Found:2006/09/20(水) 21:49:23 ID:???
┣¨┣¨┣¨┣¨┣¨・・・
131Name_Not_Found:2006/09/20(水) 22:26:04 ID:???
>>128
自分も、先週そんなコードをRubyの練習として書いてた。
描画にも再帰使ってるのでかなり遅いけど。

自分自身の兄弟ノードが自分より後に無いかどうかさえ判定出来ればいいんで
そう難しくはないんだけど、もっとスマートな方法があるような気がしてならない。
JavaScript スレで言うことじゃないけど、誰か知っていたらヒントでもいいので下さい。
気になる。
132131:2006/09/20(水) 22:30:15 ID:???
ん、よく読んだら微妙に違うな。
同じ考えなら、解析と描画にそれぞれ一度再帰を使うだけで最後のループとかはいらない。
133Name_Not_Found:2006/09/21(木) 00:28:18 ID:???
>>128-132
なんか大幅に方針が間違っているように思えるんだが。ちょっと手抜き版だけど。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
</head><body>
<pre><script type="text/javascript">
var data = [{level:0,value:"あ"},{level:1,value:"い"},{level:1,value:"う"},
{level:2,value:"え"},{level:3,value:"お"},{level:2,value:"か"},
{level:2,value:"き"},{level:3,value:"く"},{level:4,value:"け"},
{level:1,value:"こ"}], a = new Array(data.length);
for(var i = 0; i < a.length; ++i) {
a[i] = new Array();
for(var j = 0; j < data[i].level; ++j) a[i].push(' ');
a[i].push('┗'); a[i].push(data[i].value);
}
for(var i = a.length-2; i > 0; --i)
for(var j = 0; j < a[i].length; ++j)
if((a[i+1][j]=='┗' || a[i+1][j]=='┃' || a[i+1][j] == '┣')
&& !letter(a[i][j])) a[i][j] = (a[i][j]=='┗')?'┣':'┃';
for(var i = 0; i < a.length; ++i) document.writeln(a[i].join(''));
function letter(c) { return c >= 'あ' && c <= 'ん'; }
</script></pre>
</body></html>
134Name_Not_Found:2006/09/21(木) 00:31:06 ID:???
げげ、letter()とか要らんね。!letter(a[i][j]) を a[i][j]==' ' に直す。
135Name_Not_Found:2006/09/21(木) 00:33:52 ID:???
げげ、>>134では違うな。まあいいや元のままが分かりやすいかもね。
136Name_Not_Found:2006/09/21(木) 00:59:30 ID:???
◎ < おまえは鬼太郎か!
137131:2006/09/21(木) 01:10:08 ID:???
>>133
なるほど。先に修飾部分を作っちゃうのか。
勉強になりました。ダメもとで聞いてみてよかった。

自分の場合は tree コマンドを Ruby で作ってみたかったってだけだから
>>128の場合とは入力そのものが違うんだけど、ちょっと応用してみます。

ありがとうございました。
138Name_Not_Found:2006/09/21(木) 05:37:27 ID:???
designMode = on にしたときのIEの挙動で本格的にはまってしまったので、
ここで質問させてください。

<html><head><title>test</title><script>
test = function() {
var iframe = document.createElement("iframe");
iframe.style.width = "900px";
iframe.style.height = "600px";
document.body.appendChild(iframe);
iframe.contentWindow.document.designMode = "on";


setTimeout(function() {
iframe.contentWindow.document.body.innerHTML = "<div style='width:100px;height:100px;background-color:red;visibility:hidden;display:block'></div>"
iframe.contentWindow.document.designMode = "on";
}, 0);
}
</script></head><body>
<a href="#" onclick="test();return false">test</a><br>
</body></html>

designMode = "on" の状態で、削除をさせたくないDIVがあるのですが、どうしても削除出来てしまいます。
iframeのbodyの中身に、visibility:hidden のDIVが一つありますが、IEではこれが見えてしまい、削除も出来ます。
ありえないことに、display:none にしても見えてしまうんです。designMode = "off" にすればもちろん見えません。
Firefoxでは当然見えなくて削除も出来ないのですが、どうすればIEで削除させないことが出来るでしょうか。

どなたかお助けください。よろしくお願いします。
139Name_Not_Found:2006/09/21(木) 08:44:26 ID:???
designMode = 'on'の挙動なんてブラウザにおまかせなんだから
それ以上どうにかできるとは思えないけどね。
140Name_Not_Found:2006/09/21(木) 11:37:46 ID:???
>>139
designModeには色々とテクニックがあるんだけどね
141Name_Not_Found:2006/09/21(木) 11:59:22 ID:???
>>140
ふーん知らない。だったらぜひご教示を。
142Name_Not_Found:2006/09/21(木) 12:18:26 ID:???
document.createElementを使って新しく作ったIFRAMEの中で
勝手にフォントの書体やサイズが変わるのが嫌なんですが、
外のBODYと全く同じ概観にすることって出来ますか?
143Name_Not_Found:2006/09/21(木) 12:19:09 ID:???
>>141
何が聞きたいの?
144119:2006/09/21(木) 12:26:49 ID:???
>>142
var obj = document.createElement("iframe");
obj.document…
みたいにしてなんとかするんじゃまいか?
ドメイン違ったら
145Name_Not_Found:2006/09/21(木) 12:56:42 ID:???
>>143
「テクニック」がないとひっかかりがちな罠をいくつか。
簡単なら解決方法も。
146Name_Not_Found:2006/09/21(木) 14:23:54 ID:???
>>145
たとえばIEで、designMode=onでは扱えなくてcontentEditable=trueだと扱えるスタイルがある。逆も。
138のvisibilityやblockもそうだし、floatなどは逆で存在する。
147Name_Not_Found:2006/09/21(木) 17:46:14 ID:???
>>146
うへぇそんな罠が。てか138はそれで解決?

If this attribute is applied to a BODY element, it has the same
effect as setting the designMode property of the document object.

うーむ…MSめ。
こういうのは地道に調べるしかないんかね。
最近は圧縮流行でソース参照しづらくて困る。
148Name_Not_Found:2006/09/21(木) 17:59:50 ID:???
>>147
人のソースを参照しようという心構えがいかんのだよ
149Name_Not_Found:2006/09/21(木) 18:03:34 ID:???
圧縮ツールがあるなら解凍ツールもあるのだよ
15089:2006/09/21(木) 18:40:58 ID:???
>>133
ありがとうございます!
コードを少し変えたりしてこんな感じでちゃんと実装できました。

var data = [{level:0,value:"あ"},{level:1,value:"い"},{level:1,value:"う"},{level:2,value:"え"},{level:3,value:"お"},
{level:2,value:"か"},{level:2,value:"き"},{level:4,value:"く"},{level:4,value:"け"},{level:1,value:"こ"}],
a = new Array(data.length),treeCharset = new Array(" ","┗","┃","┣");
for (var i=0; i<a.length; i++) {
a[i] = new Array();
for (var j=0; j<data[i].level; j++) a[i][j] = Number(j==data[i].level-1);
}
for (var i=a.length-1; i--;)for (var j=0; j<a[i].length; j++)if(a[i+1][j]) a[i][j] = Number(a[i][j]==1)+2;
for (var i=0; i<a.length; ++i) {
for(var j=0;j<a[i].length;j++) document.write(treeCharset[a[i][j]]);
document.writeln(data[i].value);
}

ツリー文字は、文字列で比較したり代入したりすると重いはずなので、
代わりに数字で管理し書き出すときに文字に置き換えるようにしてみました。
結果、処理が30%ほど高速化しました。

どうも、本当に助かりました。
151Name_Not_Found:2006/09/22(金) 10:03:38 ID:iM0y5fRS
google suggest ttp://www.google.com/webhp?complete=1
の真似をしようと思い、フォームに値が入力された時に自身の位置(top、left)を取得して
その下に一覧ボックスをDIVで出力させようと考えました。が上手く取得できません。
テキストボックスの横に「擬似プルダウンメニューのボタン」を置いてそこをクリックさせ、
クリックイベントから座標引っ張る、っていう力技くらいしか思いつかないんですが
スマートな方法無いでしょうか

<html><head><head><body><form>
<input type="text" onclick="window.alert(this.style.top)">
</form></body></html>
152Name_Not_Found:2006/09/22(金) 10:55:57 ID:???
>>151
style.top等は「自分で設定した値」は参照できるがブラウザが
決めた値を取るのには使えないぞ。FAQにもあるだろうがボケ!
位置を知るためのプロパティは別にある。過去ログでも探せば。
(すぐ教えてやる気にならんのであしからず。)
153Name_Not_Found:2006/09/22(金) 12:13:46 ID:???
>>151
offsetTopは?
154151:2006/09/22(金) 13:35:35 ID:???
>>152>>153
いけましたありがとう!

<html><head>
<script>
function displaylist(obj){
x = obj.offsetLeft;
y = obj.offsetTop;
w = obj.offsetWidth;
h = obj.offsetHeight;
o=obj;
x += o.offsetParent.offsetLeft;
y += o.offsetParent.offsetTop;
while(o.offsetParent.offsetParent){
x += o.offsetParent.offsetParent.offsetLeft;
y += o.offsetParent.offsetParent.offsetTop;
o = o.offsetParent.offsetParent;
}
document.getElementById("searchresult").style.top = y+h;
document.getElementById("searchresult").style.left = x;
document.getElementById("searchresult").style.width = w;
document.getElementById("searchresult").style.display = "block";
}
</script>
</head><body style="">
<input type="text" onclick="displaylist(this)">
<input type="text" onclick="displaylist(this)">
<div id="searchresult" style="display:none;position:absolute;background-color:#00ff00">
<ul><li>result1</li><li>result2</li><li>result3</li></ul>
</div>
</body></html>
155Name_Not_Found:2006/09/22(金) 14:19:39 ID:???
>>154
それは期待通りになるだろうけど、間違えているね。
156Name_Not_Found:2006/09/22(金) 14:42:49 ID:???
確実にチラシの裏だが聞いてくれ

var obj = {};
var x = 1;

obj[x] = something;

上のなんの変哲もないコードで、Opera8系列が「極稀に」クラッシュすることを突き止めた。
理由はさっぱりわからないが、数字をキーにしてオブジェクトへアクセスすることを繰り返すと
頻繁に落ちてしまうようだ。obj["a" + x] に変更したところ完全に問題なく動いている。

特に理由が無い限り、Operaサポートする宿命を負った哀れな人は、上のようなコードを避けることを強くお勧めする
157Name_Not_Found:2006/09/22(金) 15:04:44 ID:???
var obj = [];
158Name_Not_Found:2006/09/22(金) 15:38:42 ID:???
>>157
つprototype.js 汚染問題
159Name_Not_Found:2006/09/22(金) 16:09:31 ID:???
prototype.js//感染拡大
160Name_Not_Found:2006/09/22(金) 16:59:42 ID:???
prototype.js//害毒蔓延
161Name_Not_Found:2006/09/22(金) 19:07:00 ID:???
IE6で
document.fileUpdatedDateが出てこないのですが、何故ですか?
162Name_Not_Found:2006/09/22(金) 19:20:25 ID:???
>>161
そのIE専なプロパティのリファレンスをよく読めアホ!
fileUpdatedDate Property
Retrieves the date the file was last updated.
Syntax
HTMLN/A
Scripting[ sDate = ] IMG.fileUpdatedDate
Possible Values
sDateString that receives the date of the last update.
For example, Monday, December 08, 1997.
The property is read-only. The property has no default value.
Standards Information
There is no public standard that applies to this property.
Applies To
IMG ←IMG要素にしか使えないと明記されているぞボケ!
163Name_Not_Found:2006/09/22(金) 19:20:42 ID:???
document.fileUpdatedDateなんてプロパティ初めて見た
164Name_Not_Found:2006/09/22(金) 19:33:28 ID:???
>>162
アリガット
Kilroy Was Here.
165Name_Not_Found:2006/09/22(金) 20:28:34 ID:???
2ちゃんねるの「ひろゆき」失踪…掲示板閉鎖も
訴状などは東京・西新宿の古アパートに送られるが西村氏はいつも不在イン
ターネットの巨大匿名掲示板「2ちゃんねる」の管理運営者「ひろゆき」こ
と、西村博之氏(29)が失踪状態にあることが22日までにわかった。同
掲示板は西村氏個人が管理している。当局が不適切な書き込みの削除や投稿
者の情報を求めようにも行方知れずで放置され、裁判所からの呼び出しにも
応じていない。ネット社会の象徴的な存在でもある「2ちゃんねる」は最悪
の場合、「掲示板閉鎖」という事態まであり得る情勢だ。
ttp://www.zakzak.co.jp/top/2006_09/t2006092201.html
166Name_Not_Found:2006/09/22(金) 22:58:05 ID:???
(´・ω・)ス
167Name_Not_Found:2006/09/23(土) 03:49:10 ID:???
(´・ω・)キ
168Name_Not_Found:2006/09/23(土) 12:38:06 ID:???
(´・ω・)ス
169Name_Not_Found:2006/09/23(土) 19:06:35 ID:???
(´・ω・)キ
170119:2006/09/23(土) 21:22:44 ID:???
(´・ω・)ス
171Name_Not_Found:2006/09/23(土) 21:26:23 ID:???
(´・ω・)キッ
172Name_Not_Found:2006/09/23(土) 22:13:44 ID:???
(´・ω・)ス
173Name_Not_Found:2006/09/23(土) 22:14:16 ID:???
(´・ω・)キ
174Name_Not_Found:2006/09/23(土) 22:14:56 ID:???
(´・ω・`)アイシテル
175Name_Not_Found:2006/09/23(土) 22:52:08 ID:???
(*´・ω・`*)javascript
17675:2006/09/23(土) 23:17:23 ID:???
またしても質問なんだが、

チェックボックス AとBは二択
チェックボックス Zは個別
で、
チェックした項目がテキストエリアに表示されるようにしているんだけど、
このソースはこれ以上簡単にならないのかな(´・ω・)
※訳あってラジオボタンは使えない

うp
ttp://www.uploda.org/uporg525196.txt.html
passは目欄
177Name_Not_Found:2006/09/23(土) 23:27:17 ID:???
<AREA shape="circle" href="a.html" onmouseover=alert("foo")>
みたいなコードを入れている。

これで困るのが、そのエリアにマウスカーソルを
おきっぱなしにすると、
怒涛の alert 攻撃が始まって、ぜんぜん終わらないこと。

なんとかして!!!!。
178Name_Not_Found:2006/09/23(土) 23:28:53 ID:???
うわあい・・・(´・ω・)
179Name_Not_Found:2006/09/24(日) 00:12:30 ID:???
<html>
<head/>
<body>
<form name="MYFORM">
<input type="checkbox" name="ck0" value="ZZZ " onclick="document.MYFORM.search.value=(this.checked?this.value:'')+
(document.MYFORM.ck1.checked?document.MYFORM.ck1.value:'')+(document.MYFORM.ck2.checked?document.MYFORM.ck2.value:'')"/>ZZZZZZZZZZZZ<br>
<input type="checkbox" name="ck1" value="AAA" onclick="if(this.checked)document.MYFORM.ck2.checked=false;
document.MYFORM.search.value=(document.MYFORM.ck0.checked?document.MYFORM.ck0.value:'')+(this.checked?this.value:'')+(document.MYFORM.ck2.checked?document.MYFORM.ck2.value:'')"/>A
<input type="checkbox" name="ck2" value="BBB" onclick="if(this.checked)document.MYFORM.ck1.checked=false;
document.MYFORM.search.value=(document.MYFORM.ck0.checked?document.MYFORM.ck0.value:'')+(document.MYFORM.ck1.checked?document.MYFORM.ck1.value:'')+(this.checked?this.value:'')"/>B<br><br>
<textarea name="search" rows=3 cols=30 readonly></textarea>
<input type="submit" value="検索"/>
</form>
</body>
</html>
180Name_Not_Found:2006/09/24(日) 11:43:50 ID:???
>>114

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function test() {

// countはid="t1"の小ノードの数
count = document.getElementById('t1').childNodes.length;
count -= 1; //配列を考慮して-1で調整。

var t0 = document.getElementById('t0').t1 = document.getElementById('t1');
t1.removeChild(t1.rows[count]); //一番最後の小ノードを削除

}
</script>
</head><body>
<table id="t0" border="2" summary="test"><tbody id="t1">
<tr><th>0</th><th>b</th><th>c</th><th>d</th><th>e</th></tr>
<tr><th>1</th><th>b</th><th>c</th><th>d</th><th>e</th></tr>
</tbody></table>
<p><button onclick="test()">Test</button></p></body></html>

尻から削除するなら上の方法、
頭からでいいなら単純にt1.removeChild(t1.rows[0]);でいい。
解決したようだけど、皆さんの参考になれば。
181Name_Not_Found:2006/09/24(日) 11:55:56 ID:???
>>177
ならんだろ
<AREA shape="circle" href="×.html" onmouseover=alert("foo") alt="円形" coords="197,69,54">
182Name_Not_Found:2006/09/24(日) 17:55:25 ID:???
document.getElementsByTagName('br');
文中の<br>タグを削除するにはどうすればいいのですか、お願いします。
183Name_Not_Found:2006/09/24(日) 17:59:56 ID:???
>>182
var br = document.getElementsByTagName("br");
for(var i=0 ; i<br.length ; i++){
    br[i].parentNode.removeChild(br[i]);
}

スタイルシートで
br { display: none; }

とした方が簡単かもしれない。
184Name_Not_Found:2006/09/24(日) 18:26:20 ID:???
ありがとうございました。
185Name_Not_Found:2006/09/24(日) 18:52:16 ID:???
>>183
それうまくいかないんじゃない?やるんなら
while (br.length) br[0].parentNode.removeChild(br[0]);
186Name_Not_Found:2006/09/24(日) 20:34:55 ID:???
現在約180レスのこのスレで計測。

var brs = document.getElementsByTagName('br');
var s = new Date;
while (brs.length) brs.item(0).parentNode.removeChild(brs.item(0));
alert(new Date - s);// 531

var brs = document.getElementsByTagName('br');
var s = new Date;
try {
  while (true) brs.item(0).parentNode.removeChild(brs.item(0));
} catch (NO_BRS) {
}
alert(new Date - s);// 250
187Name_Not_Found:2006/09/24(日) 20:55:57 ID:???
>>183-186
計測してないけど
var br = document.getElementsByTagName("br");
for(var i = br.length-1; i >= 0; --i){
var e = br[i]; e.parentNode.removeChild(e);
}
が読みやすくて速いんじゃないの。
188Name_Not_Found:2006/09/24(日) 21:43:28 ID:???
>>185
そのとおりです。ごめんなさい。
189Name_Not_Found:2006/09/25(月) 00:00:51 ID:???
>>186
try なんかしなくても
while (brs[0]) brs[0].parentNode.removeChild(brs[0]);
これでいいやん
190Name_Not_Found:2006/09/25(月) 07:44:06 ID:???
>>189
だからそれはのろいというのが>>186の指摘でしょ。
191Name_Not_Found:2006/09/25(月) 11:25:59 ID:???
>>186 は brs.length 遅ぇ、って指摘してるだけでそ
192Name_Not_Found:2006/09/25(月) 13:32:27 ID:???
var len = brs.length;
とかしたらいいんじゃね?
193Name_Not_Found:2006/09/25(月) 13:39:16 ID:???
>>192
コード読んでないだろ阿呆。それじゃ無限ループになるって。
194Name_Not_Found:2006/09/25(月) 13:41:56 ID:???
195192:2006/09/25(月) 13:51:46 ID:???
よく見てなかったけど、もちろんforで使うって意味だった
でもケツから削除してくのは遅いかな
196Name_Not_Found:2006/09/25(月) 17:26:53 ID:SABw46Bg
http://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/7_Lexical_Conventions.html

「構文的な文法内に、除算および RegularExpressionLiteral の両方が構文的文法によって許されるコンテキストが存在する」
ってあるけど、これって例えばどんな時?
197Name_Not_Found:2006/09/25(月) 19:08:39 ID:???
ある要素hogeに名前空間fooである属性barがあるんですが、
hoge.getAttributeNode("foo:bar")のように直接foo:barと書いてもうまく属性を取得できません。
名前空間が異なる属性を取得するにはどうすればいいでしょうか。
198Name_Not_Found:2006/09/25(月) 19:26:09 ID:???
>>197
getAttributeでいんじゃね?
199Name_Not_Found:2006/09/25(月) 19:45:12 ID:???
>>197
ふつうにgetAttributeNodeNSでできるが、何を聞いているんだ?
200Name_Not_Found:2006/09/25(月) 20:18:04 ID:???
正規表現は聞いたらダメですよね?
201Name_Not_Found:2006/09/25(月) 20:26:44 ID:???
正規表現そのものについては、
正規表現の中の人に聞いた方がいいと思う。
JavaScriptでの正規表現の扱いについてはこのスレでおk
202Name_Not_Found:2006/09/25(月) 20:28:26 ID:???
ありがとうございます。
203Name_Not_Found:2006/09/25(月) 20:43:30 ID:???
フォーカスがあたっている要素情報ってとれますか?
204Name_Not_Found:2006/09/25(月) 20:57:17 ID:???
>>203
前にもその質問あったけど全部にonfocusつけて追跡して記録とか
しかないという話になった記憶が。
205Name_Not_Found:2006/09/25(月) 21:18:59 ID:???
onfocusで検索してみましたが...どれがそうなのか分かりません。
フォーカスがあたっているいるところのvalueとnameがほしいのですが、
出来そうならYes出来なさそうならNoでお答えください。
206Name_Not_Found:2006/09/25(月) 21:25:46 ID:???
検索も出来ないお前さんにはNoと答えよう
207Name_Not_Found:2006/09/25(月) 21:32:25 ID:???
ごくふつうに、document.activeElementでWinIEはいけるだろ。
他は、document.addEventListener('focus',...,...)して、リスナーの中でイベントオブジェクトに問え。
全部にonfocusなんて、今時のブラウザシェアを考えれば、ナンセンスだよ。
208Name_Not_Found:2006/09/26(火) 00:05:26 ID:oVALTzWd
ファイル選択ダイアログで、ファイルの種類のコンボボックスは編集できますか?
拡張子 "jpg"しか選択できないみたいな。
209Name_Not_Found:2006/09/26(火) 00:10:23 ID:???
できない
210Name_Not_Found:2006/09/26(火) 00:11:45 ID:???
 ttp://allabout.co.jp/internet/javascript/closeup/CU20020529/
↑このHPにあるポップアップ式カレンダー入力を利用してHPを作っているのですが
<select>タグだけカレンダーの上に重なって表示されてしまいます。
他のtype=inputやbuttonは後ろに隠れるのですが
style=z-indexなども試みてみましたがうまくいかず・・・
 ttp://www.kawa.net/works/js/jkl/calender.html
↑のやつに変えてみたりもしましたが、やはり<select>が上に表示されます。

ポップアップしたときにカレンダーを最前面に表示するにはどうしたらいいでしょうか。
よろしくおねがいします。
211Name_Not_Found:2006/09/26(火) 00:44:34 ID:???
↑それってIEの話だろ?
select要素がz-index無視して、一番手前に表示されるのは
多くの人がムカついてるIEの挙動の一つで、結局、邪魔な時は
selectのstyleいじって隠すってのが、一つの手。
Lightbox系のライブラリは大抵そうしてるみたいだ。
212Name_Not_Found:2006/09/26(火) 02:01:55 ID:???
z-indexをいじるのは不安だな。
SafariやOperaの対応の駄目さ加減が泣ける
213Name_Not_Found:2006/09/26(火) 08:38:56 ID:???
カレンダーをIFRAMEに入れたら
214210:2006/09/26(火) 08:41:55 ID:???
>211
ご回答ありがとうございました。
有名なバグだったんですね(;´Д`)

JSでナントカできないか頑張ってみたいと思います。
本当にありがとうございました。
215Name_Not_Found:2006/09/26(火) 08:55:23 ID:???
JavascriptをUAによって読み込ませたいのですが、
これは見栄えの違いはあってもすべての環境でエラーなく実行させるのに
合理的な方法ですか?
216Name_Not_Found:2006/09/26(火) 09:14:06 ID:???
日本語でおk
217Name_Not_Found:2006/09/26(火) 09:29:35 ID:VYLBo7wg
質問です。
var q=''; //global
function Q() {
q='Q()';
alert('Hello World');
}
のとき、
<input type="button"value="test"onclick="q">
で関数を呼び出そうとしたのですができません。functionの中を
どう書けばよいのでしょうか。
218Name_Not_Found:2006/09/26(火) 09:48:01 ID:???
( ゚д゚ )
219Name_Not_Found:2006/09/26(火) 09:57:11 ID:???
( ^д゚ /☆パチッ
220Name_Not_Found:2006/09/26(火) 10:49:00 ID:???
>>217
まずHTMLの文法がおかしい。正しく空白をあけろボケ!
次にアンタのコードでは最初にqに''が入っていて、Q()が
呼ばれるとqに'Q()'という文字列を入れるようになってるが、
どこからもQ()を呼んでないから永遠にqは''のままだろボケ!
最後に、変数qに関数Qを入れてq経由で呼び出したいのなら
設定する方は「q=Q;」、呼び出す方は「onclick="q()"」だボケ!
221Name_Not_Found:2006/09/26(火) 14:01:45 ID:???
(゜Д゜)ポカーン
222Name_Not_Found:2006/09/26(火) 14:20:40 ID:???
function abc() { }

window.abc = function() { }

window abc = new function() { }
の違いを教えてください。
223Name_Not_Found:2006/09/26(火) 14:31:51 ID:???
>>222
1番目と2番目はほとんど違わないが1番目のものは
呼び出す箇所より後ろにあっても大丈夫。そして3番目
は構文エラーつか滅茶苦茶だぞ!!! 文法が分かるまで
2度と来ないでくれ。
224Name_Not_Found:2006/09/26(火) 14:32:05 ID:???
ついでにオイラにも
abc.prototype.x=function(){]
との違いも教えてくんなまし。
225Name_Not_Found:2006/09/26(火) 14:35:25 ID:???
>>224
テメエも構文エラーだボケ! それを直したとして
new abc()で作るオブジェクトのxというメソッドを定義する。
この説明で分からなければ地道に本でも買って勉強し直せ。
226Name_Not_Found:2006/09/26(火) 14:59:16 ID:???
>>223
最後のはタイプミスです。
window.abc = new function() { }
227Name_Not_Found:2006/09/26(火) 15:07:11 ID:???
^o^/^O^/^0^/^_^/^o^/^O^/^O^/^_^/^|^/^0^/^O^/
228Name_Not_Found:2006/09/26(火) 15:09:25 ID:???
>>223
オイラもタイプミスだった。
abc.prototype.x=function(){ }
ありがと、先コーよ。
229Name_Not_Found:2006/09/26(火) 15:30:32 ID:???
>>226
エラーになるか、何だかよく分からないオブジェクトが
作られてそれがabcに入るか、どっちか。ホント真面目に本などで
勉強し直せって。ここでそんなアホなこと聞いてたら煽られる
だけで時間の無駄だと思う。
230Name_Not_Found:2006/09/26(火) 15:42:21 ID:???
入門書とかのわりと最初の方でよく出てくるね。

var abc = new function("a","b","return a+b");

みたいなのが。
231Name_Not_Found:2006/09/26(火) 16:09:22 ID:???
>>230
おいおい、それは何だよ、煽り?小文字で始まるfunctionは
予約語だっつーの。ともかくnew Function(...)なんてまず
出て来るような入門書は捨てるべきだな。普通使わないだろ。
232Name_Not_Found:2006/09/26(火) 16:18:15 ID:???
実行内容が空っぽの関数オブジェクト作るときはコンストラクタでやるけどな
233Name_Not_Found:2006/09/26(火) 16:25:34 ID:???
>>229
なんでエラーになると思ったの?
お前も勉強しなおしたら?
234Name_Not_Found:2006/09/26(火) 16:50:32 ID:???
>>233
うんエラーにはならないね。function(){;}の
[[Construct]]プロパティがどうなるかまでリファレンスを
読まずに書いたから。スマソかった。
235Name_Not_Found:2006/09/26(火) 16:54:28 ID:???
>>233-234
「何だか分からないオブジェクト」じゃなくnew Object()と
同等のオブジェクトじゃないのかな。
236Name_Not_Found:2006/09/26(火) 16:59:51 ID:???
そんでまあこの流れで言える事は、
このスレにはC++やJAVAもスラスラなコーダーもいれば
HTMLすらアヤフヤなPC初心者レベルまで幅広くいる
ってこったな。
237Name_Not_Found:2006/09/26(火) 17:48:09 ID:???
<a href='javascript:window.open("http://hoge/page","f","width=460,height=400");void(0);'>javascript:window.open</a><br>
のようなリンクを
<a href='http://hoge/page'>javascript:window.open</a><br>
にするには
Obj.href.replace(/JavaScript:window.open\((\"?|\'?)(.*?)(\"?|\'?),?.*\);?.*;?/ig,'$2')
ではうまくいきません。
よろしくお願いします。
238Name_Not_Found:2006/09/26(火) 17:52:05 ID:???
日本語でおk
239Name_Not_Found:2006/09/26(火) 17:55:50 ID:???
日本語でおk

ってか、意味は分かるけどコードじゃなく言葉で質問できるようになれ
240Name_Not_Found:2006/09/26(火) 18:26:43 ID:???
ご指摘Спасибо。御願いします。
241211:2006/09/26(火) 18:51:13 ID:VWYIxMoc
>>210,212
レス遅れたけど、「styleいじって〜」って言ったのは
z-indexいじるんじゃなくて、JavaScriptからselectのstyle属性の
visibilityをhiddenにする って意味だよ。
カレンダーをポップアップさせる時だけ、そうやって邪魔なselect要素を
隠すわけ。
242Name_Not_Found:2006/09/26(火) 23:06:21 ID:9MZUf+OT
<b id=xx onClick=f(xx)></b>
<script>
function f(p){
alert(p.toString())
}</script>

alert(p.toString())の部分をxxが表示されるように直してください。
243Name_Not_Found:2006/09/26(火) 23:20:07 ID:???
日本語でおk
244Name_Not_Found:2006/09/26(火) 23:20:53 ID:???
アンタが勉強するためのスレだからね。洩れは書かないよ。
分からないことがあるならその分からないことを日本語で
質問しなよ。
245Name_Not_Found:2006/09/26(火) 23:32:41 ID:9MZUf+OT
>>244>>243
お前ら馬鹿だな。2バイト書けば済むことなのに。
246Name_Not_Found:2006/09/26(火) 23:36:35 ID:???
>>241
安心しろ、俺には通じてる。多分zIndexをいじっても隠れないと思うしね
247Name_Not_Found:2006/09/26(火) 23:52:02 ID:???
>>242が引数にidを代入しているからalert(p)でFAな件について。
248Name_Not_Found:2006/09/26(火) 23:54:30 ID:???
<b id=xx onClick=f(this)>あああ</b>
<script>
function f(p){
alert(p.id)
}</script>

引数がIDですらない
249Name_Not_Found:2006/09/26(火) 23:55:28 ID:???
>>242
関係ないが、HTMLの属性値に ) や ( を直に書く時には、
属性値を囲む引用符を省けない。
250Name_Not_Found:2006/09/26(火) 23:59:46 ID:???
HTMLとして正しく、かつ、関数fを変更せずに、
onclick="f(id)"
と書くのが最短だろう。
251Name_Not_Found:2006/09/27(水) 00:00:30 ID:???
JSON
252Name_Not_Found:2006/09/27(水) 00:07:08 ID:???
すいません、質問です

あるイベントリスナが要素(EventTarget)に
登録されているかどうかを知るには
どうしたらいいのでしょうか?

具体的には
elm.addEventListener("click", hoge, false);
if (elmにhogeが登録されていれば) {
elm.removeEventListener("click", hoge, false);
}
のようにイベントリスナが登録されているか調べて、
登録されていればremoveEventListenerで取り除きたいのですが…
253Name_Not_Found:2006/09/27(水) 00:10:58 ID:???
>>252
elm.addEventListener("click", hoge, false);
flag = true;

if (flag) {
elm.removeEventListener("click", hoge, false);
flag = false;
}

登録と同時にflagを立てて管理する
254Name_Not_Found:2006/09/27(水) 00:13:02 ID:???
つか、別に調べないで取り除けばいいんじゃね?

Calling removeEventListener with arguments which do not identify any currently registered EventListener on the EventTarget has no effect.

なんだから。
255Name_Not_Found:2006/09/27(水) 00:31:14 ID:???
>>253
>>254
調べなくても良かったんですね…
お二方ともありがとうございました
256Name_Not_Found:2006/09/27(水) 00:44:11 ID:???
イベントリスナの解除は確か、Firefox1.0で正常に動作しないバグがあったよね。
登録されたほかのリスナをすべて解除してしまうとかという、割と致命的なの。
可能であれば使わないことをお勧めします
257Name_Not_Found:2006/09/27(水) 01:09:34 ID:???
>>256
ありがとうございます。

そうなんですか、知りませんでした
ちゃんと取り除かないとメモリの解放なんかで
問題になるかな、と思ったんですが
バグがあるなら(Firefox 1.0では特に)控えたほうがいいかもしれませんね
258Name_Not_Found:2006/09/27(水) 01:36:04 ID:???
>257
> ちゃんと取り除かないとメモリの解放なんかで
> 問題になるかな

クロージャを使った実装ならIEのバグでメモリ開放が失敗する可能性はあるが、
うまく動かない問題の方がよりクリティカルだしね
259Name_Not_Found:2006/09/27(水) 01:42:25 ID:bGEcu8Cx
便乗で申し訳ないんですが教えて下さい。
イベントリスナーを付けた要素自体をDOM操作もしくはinnerHTMLの上書きで消去してしまう場合、要素を消去する前に、その要素に付けられたイベントリスナーは解除しておくべきでしょうか?

動的に書き換えるdivの中の要素にイベントリスナーを付ける事を検討しているところです。(タブでページを切り替えるようなインターフェイスを考えています。)
260Name_Not_Found:2006/09/27(水) 02:08:41 ID:???
>>259
どっちでもいいんじゃない?
261Name_Not_Found:2006/09/27(水) 03:05:29 ID:???
質問です。JavaScriptで音を鳴らす方法を教えてください。

鳴らすと決めてからタイムラグなく鳴らしたいので、
プリロードは必須になってしまいます。
可能であれば再生の制御もしたいですが、とりあえずは鳴らすだけでも十分です。
262Name_Not_Found:2006/09/27(水) 06:48:04 ID:???
>>261
まさかググってはみたんだろうな。ググりもしないのなら相手にされないぞ。
263Name_Not_Found:2006/09/27(水) 08:25:18 ID:???
>>262
調べたことを書かずにすみませんでした。
<BGSOUND>タグを使った実装は色々ありましたが、
Firefoxで使える方法を探しています。
264Name_Not_Found:2006/09/27(水) 08:55:37 ID:???
>>263
ここでも勉強するのがいいんでないの。
ttp://kb.mozillazine.org/Windows_Media_Player
265Name_Not_Found:2006/09/27(水) 09:16:00 ID:???
Operaでも使おうと思ったらFlash使うしかないね
266Name_Not_Found:2006/09/27(水) 09:28:01 ID:???
>>263
Firefoxとか全く知らないが、
ググったらFirefoxはembed対応とあったけど。

<head>
<SCRIPT language="JavaScript" type="text/javascript">
<!--
function bgm(obj){
//document.getElementById('ms').setAttribute("src","");
//document.getElementById('ms').setAttribute("width","100");
//document.getElementById('ms').setAttribute("height","100");
document.getElementById('music').innerHTML = '<embed src="音声ファイル" id="ms" autostart="true" width="0" height="0">';
}
-->
</SCRIPT>
</head>
<body>
<ul>
<li><a onmouseover="bgm()">洗濯1</a></li>
<li><a onmouseover="bgm()">洗濯2</a></li>
<li><a onmouseover="bgm()">洗濯3</a></li>
</ul><br>
<div id="music"></div>
</body>

御気に召しませんかね。
対応していれば、形だけは成り立つと思う。
コメントアウトの残骸は関係ないので。
setAttributeで変更したかったがsrc属性だけ変更できなかった。
267Name_Not_Found:2006/09/27(水) 09:37:25 ID:???
<object> でできなかったっけ?
<embed> なんてのはできれば使いたくないねえ。

プリロードは、パラメータで再生しないようにしつつ、あらかじめいくつか埋め込んでおけばいいんじゃね。
268Name_Not_Found:2006/09/27(水) 09:47:15 ID:???
>>267
> <embed> なんてのはできれば使いたくないねえ。
同意なんだけど、なんでだろう?
269Name_Not_Found:2006/09/27(水) 10:10:42 ID:???
>>268
理由もなくなんとなく同意するなおww
270Name_Not_Found:2006/09/27(水) 10:16:55 ID:???
<embed> は非推奨要素だしなあw
まあ今のところ全てが <object> でできるわけじゃないから使いにくいってのはあるけど。

<object> とか <applet> なんかの外部オブジェクトは src とかパラメータ変えても反映されないから、
innerHTML とか DOM 使って要素作り直すしかないんよね。
<embed> はテストしたことないけど、これもそうなのかもしらんね。
271Name_Not_Found:2006/09/27(水) 10:23:11 ID:???
>>269
なにをいう、直感は大切じゃないかw
272Name_Not_Found:2006/09/27(水) 10:37:54 ID:???
直感にも2通りあるぞ。使いものになる直感は膨大な経験知に担保された直感だ。
273Name_Not_Found:2006/09/27(水) 13:15:47 ID:???
<embed> は非推奨要素とは初めて聞いた。
でも



どっちでもいいじゃないの。
274Name_Not_Found:2006/09/27(水) 14:08:50 ID:???
非推奨という言葉からして、HTML仕様の話と考えられるが、
どうも、色んな仕様が頭の中でごちゃまぜになっているのではないかな?
既にHTMLの解析段階じゃあないから、遠慮なく使って構わない。
出来上がったDOMを再度検証するとか、
自動的に検証されるメソッドやプロパティを使っている
などというなら話は別だが、
少なくとも今の話題ではそんなことやってないだろ?

まあ、そもそも、HTMLEmbedElementは
DOM仕様には存在した事さえないみたいだねえ。
Geckoその他が拡張しているだけのようだ。
この点は、innerHTMLと似ているな。
なんか使えるみたいだから使ってるだけという。
275Name_Not_Found:2006/09/27(水) 14:16:49 ID:???
>>274
後半ナイス情報
276Name_Not_Found:2006/09/27(水) 15:54:13 ID:???
非推奨じゃなくて独自拡張。HTML4.01の仕様にはembed要素はない
marqueeなんかと同じ類
277Name_Not_Found:2006/09/27(水) 17:31:05 ID:???
>>274
前半ちょっと突っ込むとHTML4ではスクリプト実行後も
DTDに適合していなければいけない。
ttp://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/interact/scripts.html#h-18.2.4
まあそれ以上やるならストリクトスレ行けって話題だが。
278Name_Not_Found:2006/09/27(水) 17:49:37 ID:???
http://www.realworldmultimedia.com/
このページのmore infoクリックでスクロールする仕掛けどうなってるのか解る人いたらヒント欲しい気持ちいっぱい。
こういうスクリプトの配布先とか無いでしょうか?
279Name_Not_Found:2006/09/27(水) 17:53:20 ID:???
>>278
どこにもmore infoというのがないなあ。スクロールだったら
JavaScriptで色々できるけど。過去ログに山程あるよな。
280Name_Not_Found:2006/09/27(水) 18:11:06 ID:???
配布されているスクリプトってそのままだと使いにくくてしょうがないイメージがある
ソースが見られるからそれでいいけど
281Name_Not_Found:2006/09/27(水) 18:21:06 ID:???
こういうの苦手なのでできればそのソースの箇所と簡単な説明もらえたら超嬉しいんだけど〜
お願い!
282Name_Not_Found:2006/09/27(水) 18:42:13 ID:???
>>278
<a>more info</a>
<div>説明</div>

<div>を初期状態でdisplay:none;にしておく。
setTimeoutで<div>のheightを0.01秒(100)に1pxづつ増やす。
指定の高さに達したら処理を停止。
283Name_Not_Found:2006/09/27(水) 21:00:31 ID:???
(´・ω・`)なにも見えんがな
284Name_Not_Found:2006/09/27(水) 21:05:35 ID:HTS1CtLv
お忙しい所すいません。
下記のHTMLでフォーム内に入力がなかったらエラーメッセージを出す
というのをやりたいのですがどうするのかお教えいただけますと
ありがたいです。

<form method="POST" action="rent_2.cgi">
<input type=text name="NAME">を
<input type="submit" value="借りる"></form>

返答をいただけますとありがたいです。
285Name_Not_Found:2006/09/27(水) 21:09:53 ID:???
>>284
onsubmit
286Name_Not_Found:2006/09/27(水) 21:41:33 ID:???
>>284
別に答えたい奴が答えるだけだから意味なく謝らん方がいいよ
(よっぽどの厨房かと勘ぐられるだけだから)。
まず入力欄の名前に「NAME」というヤケクソなのはやめた方が。
トラブルで泣くのは自分だよ。フォームにも名前をつける。
チェックする関数は別に分ける。
<form onsubmit="return check()" ...>
で、チェックする関数は
function check() {
if(document.forms.フォーム名.elements.フィールド名.value == '') {
alert('メッセージ'); return false;
} else {
return true;
}
}

287Name_Not_Found:2006/09/27(水) 21:58:57 ID:???
>>282
の続き
長くて書き込めないので3回に分けて書く。
<head>
<SCRIPT>
function inr(ev){
disp = document.getElementById(ev).style.display;
if(disp == 'block'){
document.getElementById(ev).style.display = 'none';
timer = setInterval("heith('down')", 10);
}else{
document.getElementById('contents').style.backgroundColor = 'aqua';
timer = setInterval("heith('up')", 10);
}
}
288Name_Not_Found:2006/09/27(水) 22:00:00 ID:???
>>287
の続き
function heith(jj){
var h;
h = document.getElementById('i').innerHTML;
if(jj=='up'){h = h * 2}
if(jj=='down'){h = h / 2}
document.getElementById('contents').style.height = h;
document.getElementById('i').innerHTML = h;
if(h > 50000){ // 500〜
document.getElementById('rv').style.display = 'block';
document.getElementById('contents').style.height = "";
clearInterval(timer);
}
if(h < 1){
document.getElementById('rv').style.display = 'none';
document.getElementById('contents').style.height = "";
document.getElementById('i').innerHTML = "1";
clearInterval(timer);
}

}
</SCRIPT>
</head>
ヘッダはここまで。
289Name_Not_Found:2006/09/27(水) 22:01:07 ID:???
>>288
の続き
<body>
<a href="javascript:inr('rv');">more info</a>
<div id="contents" class="1">
<div id="rv">
<p>In versions earlier than <br>
(ここに縦に長い文を書いてみる。)
document.</p>
</div>
</div>
<SCRIPT>document.getElementById('rv').style.display = 'none'</SCRIPT>
<div id="i">1</div>
<SCRIPT>document.getElementById('i').style.display = 'none'</SCRIPT>
</body>

簡易版だからイマイチだが。
引数をうまく回せなかったので汎用性に欠けてしまった。
290Name_Not_Found:2006/09/28(木) 00:24:46 ID:S7eu+A2N
質問です。
<div id="obj" onclick="x()">clickMe</div>

<script>
objx=document.getElementById('obj');
objx.prototype.x=function(){alert('hello')}
</script>
これはどうしてx()が呼ばれないのでしょうか。
291Name_Not_Found:2006/09/28(木) 02:58:43 ID:???
>>82
>>87 - >>89

本当にありがとう、よく読んで試作してみます。
javascriptはDWの基本機能やビヘイビアばっかりに頼って、ちゃんと打ち込みしてないので、やはり一度覚えようかな。
292Name_Not_Found:2006/09/28(木) 03:33:40 ID:???
タイマのイベントで、たとえマウスカーソルがウィンドウ外にいても
そのときのマウスのスクリーン座標を取得したいのですが、
どのようにすればよいのでしょうか。
293Name_Not_Found:2006/09/28(木) 03:40:26 ID:???
>タイマのイベント
↑なにこれ?
294Name_Not_Found:2006/09/28(木) 04:00:33 ID:???
>>293
すみません、setTimeout()やsetInterval()で指定した関数の中で、と
読み替えてください。
295Name_Not_Found:2006/09/28(木) 04:18:54 ID:???
大麻のイベント = ドラッグパーティーかと思ったよ〜
ASは基本的にプレーヤーのウインドウ内で動くものだから、できない。
座標もウインドウの大きさを元にしたコンテンツ内の絶対座標、OSから見ると相対座標だからさ。
それを、OSからの絶対座標を収得するとなると、新たにオブジェクトをセットして、その中で表示解像度を収得、ドキュメント内の座標クリア、収得した座標軸の代入、
という手続きが必要かと。勿論オブジェクトは関数オブジェクトで、仮想オブジェクト。
296Name_Not_Found:2006/09/28(木) 04:23:09 ID:???
Flashだと思って誤爆したw
javascriptは、よく知らないけど、何となく似てるよね。
で、html内に読み込むわけだから、やはり同じように仮想の領域を生成してやる必要があると思うの。
(できるかできないかは解らない、ごめん)
297Name_Not_Found:2006/09/28(木) 04:40:41 ID:???
誤爆で回答とか自分以外ではじめて見たw

まあできないと思う。むしろできたら困るというか。
298Name_Not_Found:2006/09/28(木) 07:48:19 ID:???
>大麻のイベント
劇藁た。
>>290
あんたねえ、>>224-225 は読んだのかね。「そのオブジェクト
の」prototypeプロパティをいじっても何の役にも立たないだろ。
DOMオブジェクトのプロトタイプを取る方法は(少なくとも公式
には)ないから。
299Name_Not_Found:2006/09/28(木) 08:08:07 ID:???
まあ、仮に大元の要素の HTMLElement オブジェクトとかがあったら
HTMLElement.prototype.hoge = function(){ 〜 };
とかできれば便利なのにナーとか思ったことはあるけどね。
そしたら addEventListener を IE でも定義して使えるし、getElementsByClass とかも簡単にできるし。
300Name_Not_Found:2006/09/28(木) 08:16:08 ID:in3Y9xSf
よろしくお願いします。
関数を
setTimeout(function(){...}',500);
でいつまでも呼び出して実行させているとメモリーリークになりますか?
リアルタイム時計のようなものはエンジンにとって酷なスクリプトなので
しょうか。
301Name_Not_Found:2006/09/28(木) 08:21:31 ID:???
>>300
ならないよ。それだけじゃリークするようなとこないじゃん。
ところで「'」が余計だけど…
302300:2006/09/28(木) 08:54:31 ID:???
>>301
ありがとうございます。
関数内にclearTimeout()を入れないとリークするって言われたんですけど
ガセですか。でもリアルタイム時計の場合、千ミリ秒ごとに関数を呼び出して
いて、ページを閉じるまでの間メモリー解放はどうしてるんでしょうか。
ちょっと気持ち悪いんですが。
303Name_Not_Found:2006/09/28(木) 08:58:29 ID:???
>>302
大嘘だね。あんたも嘘つきが知合いだと大変だね…
ところで「ガベージコレクション」って知らないわけ?
(知らないなら説明はしないので検索でもして勉強してね)
304Name_Not_Found:2006/09/28(木) 09:01:22 ID:???
Flashを使ったCOMETとJavaScriptで実装されたCOMETの違いってどんなところだろう?

Flashを使ったらパケットが使えるから、コネクションを張りっ放しにしなくてすむのかな?
305Name_Not_Found:2006/09/28(木) 10:15:24 ID:???
>>303
知らないなら説明しない、知っているなら説明する。
これは永遠に知的格差の縮まらない不条理ではあるまいか。
306Name_Not_Found:2006/09/28(木) 10:47:06 ID:???
>>305
おいおい、ここでGCの説明をはじめてどーするよ。
探すべきキーワード示してやったら十分親切だろ。
それともアンタがGCの説明するかい。叩いてあげるよ。
307Name_Not_Found:2006/09/28(木) 10:51:39 ID:???
>>306に同意
しかしsetTimeoutが自動的に開放されるのは実装の問題であって
微妙にGCとは違うんじゃないかと思ってみる
308Name_Not_Found:2006/09/28(木) 10:55:26 ID:???
setTimeoutでつけた関数とかは一回発火したら
もう不要なのでどこでも覚えていない→GCで回収、
とか思っていたんだけどね。その関数を別の変数でも
保持してたら解放できないわけだしさ。
309Name_Not_Found:2006/09/28(木) 11:04:04 ID:???
>>308
質問がclearTimeout使わなくても…という話だったから、一度も発火していない話かと
310300:2006/09/28(木) 11:24:49 ID:???
>>303
みなさんいろいろお騒がせしています。>>300,302の投稿者です。
おまえ、2ちゃんで大嘘呼ばわりされてるぞ、とその知人にいってやりました。
ぼくも悔しかったので。そしたらその知人メールで曰く。何も知らないのはそ
いつの方だろ。もっと勉強しろといっとけ、と。で、根拠があるならぼくには
っきりと示してほしいと聞いたら、オレはこの問題の専門家だ、ガベジコレク
ションと何の関係がある、糞。といって瓜を1つ付けてくれました。
ttp://chaichan.hp.infoseek.co.jp/qa1000/qa1193.htm
↑これがそうです。どうも知人の言うことのほうが正しいような気がしました。
311Name_Not_Found:2006/09/28(木) 11:41:32 ID:???
>>310
複雑になってきて、どこでsetTimeoutを実行したか整理するのが面倒になる事がある。
思わぬところで連続して実行してしまうと、間隔がつまる。
一々、clearTimeoutしておけば、この問題にみまわれることがない。
だから、clearTimeoutとsetTimeoutを対にして使うことは良くある。

リークについては、MSが去年出した文書を読めば書いてある。
最近の例で言えば、某Perlの達人がブログで遊びで書いたJSがリークする典型。
312Name_Not_Found:2006/09/28(木) 11:48:29 ID:???
あと、リークの実験は、現在ではなかなか難しい。
余裕があれば、中古屋で数年前までのウィンドウズパソコン買ってきて、初期状態のまま使う。
313Name_Not_Found:2006/09/28(木) 11:58:46 ID:???
>>310
>>311のいうとおりで。
でも、リアルタイム時計程度なら思わず連続実行することもないし
IEの不具合に引っ掛かることもないからclearTimeoutは必要ないだろう。

あと、ガベコレは関係あります(特殊な処理系でないかぎり)。
314Name_Not_Found:2006/09/28(木) 11:59:52 ID:???
>>310
ブラウザのバグでGCされない・されてもゴミが残るという可能性は
否定しないけど、こんなのを根拠と言うのはヤバイ。
>setTimeoutだけだとリソース不足になりやすい。と聞いた事があります。
>効果の実感を得ることはできませんでした

実装のバグを明示できてないのにGC関係ないって言い切るのもかなりヤバイ。
315Name_Not_Found:2006/09/28(木) 12:19:34 ID:???
>>311
ボタンクリックでカウントダウンするやつ?
316【offtopic】:2006/09/28(木) 16:34:31 ID:???
グーグルはこの夏、米有力紙ワシントン・ポストに、「ググる」という表現
を使わないように注意文書を送りつけた。警告は、既にワシントン・ポスト
以外にも出されている。なぜなら、グーグルはマスコミやネット上を監視す
るパトロール活動を本格化させているからだ。
創業からわずか8年で、米国における検索シェアで約50%を誇り、2位のヤフ
ーに2倍以上の差をつけている。そんな同社のサクセスストーリーは、「ググ
る」という言葉が人々の間に浸透した歴史とも言える。

「ググる」という言葉を流行らせて、事業を軌道に乗せたい…。そんなペイ
ジ氏の願望は現実のものとなっていく。膨大な情報が集積するネット社会が
到来すると、人々はこの賢い検索エンジンに群がった。そして、ペイジ氏の
思惑通り、メディアまでもが「ググる」という言葉を使い始めたのだ。

2002年、人気女優ジェニファー・ロペスが主演して話題となったハリ
ウッド映画「Maid in Manhattan」には、親子のこんなやり取りがある。
「なんでサイモン&ガーファンクルは解散したの?」
「そんなこと、学校に行ってググれば分かるわよ」

流行語大賞の候補にも挙がった続いて2003年1月には、米国版「流行語大賞」
の候補にも挙げられた。 ところが、とんだ落とし穴があった。「ググる」は
あくまでも「グーグルを使って検索する」という意味にとどまるはずだった。
ところが、急速にシェアを伸ばすグーグルは、ここに来て事態が思わぬ方向に
展開してしまったことに気づき始めた。
「言葉が浸透しすぎた結果、『ググる(Google)』が『情報を検索する(Search)』
という意味の言葉になるリスクが出てきた」

グーグルの決算報告書には、そんな窮状が示されている。そして、こう締めく
くる。
「このままでは『グーグル』という商標は失われ、誰もが使えることになって
しまう」
317Name_Not_Found:2006/09/28(木) 17:07:59 ID:???
だが断る
318Name_Not_Found:2006/09/28(木) 17:18:46 ID:???
一応setTimeoutが絡んでるらしいすでに修正されたFirefoxのメモリリークバグを。
ttps://bugzilla.mozilla.org/show_bug.cgi?id=319980
実際には大したメモリリークを引き起こすものではないといってるみたいだが。
319Name_Not_Found:2006/09/28(木) 17:23:02 ID:???
IEのクロージャを含んだ場合のメモリリークバグの
具体的な詳細を説明できる人はいるのかな?

いつもこのスレで「あるらしい」という話と適当なURLのみで流されてるけど…
320Name_Not_Found:2006/09/28(木) 17:44:51 ID:???
最近Javascriptを使い始めました。
どうしてもクラスと継承を使いたかったので、prototype.jsのClassを参考に、簡単な実装をしました。
ところが過去ログを読むと、以下のサイトで何か大掛かりに実装しているので、
自分の実装に何かしら穴があるのではないかと不安になりました。
http://d.hatena.ne.jp/Mug/20060308/1141826892

後述するコードは、何かしらの問題を孕んでいるのでしょうか?
使用方法は以下の通りです。
var SuperClass = Class.create(); var SubClass = Class.create(Super);

少し長いので、ソースは次の投稿に書きます。
321Name_Not_Found:2006/09/28(木) 17:45:23 ID:???
===================================
Object.extend(Object, {
inherit: function(subClass, superClass) {
var Temp = function() {};
Temp.prototype = superClass.prototype;
subClass.prototype = new Temp;
subClass.prototype["super"] = superClass.prototype.initialize;
}
});

var Class = {
create: function(superClass) {
var newClass = function() {
if(this["super"]) { this["super"].apply(this, arguments); }
if(this.initialize) { this.initialize.apply(this, arguments); }
}
if(superClass) { Object.inherit(newClass, superClass); }
return newClass;
}
}
===================================
322Name_Not_Found:2006/09/28(木) 17:47:41 ID:???
使用方法の記述が間違えていました。正確には以下の通りです
誤: var SuperClass = Class.create(); var SubClass = Class.create(Super);
正: var SuperClass = Class.create(); var SubClass = Class.create(SuperClass);
323Name_Not_Found:2006/09/28(木) 17:54:41 ID:???
>>319
過去にあった議論では、クロージャである必要はなく、
「DOMツリーのオブジェクトからJavaScriptのオブジェクト
への参照があり、なおかつそのJavaScriptのオブジェクトから
DOMツリーのオブジェクトの参照(つまりサイクル)があると、
参照カウントによるごみ集めが使われるため、DOMツリーの
オブジェクトをDOMツリーから切り離し、それからJavaScriptの
オブジェクトもどこからも参照しなくなった場合に、その参照
できなくなったサイクルが回収されないでリークする」という
ものだった。で、回避策はそういうサイクルを作らないように
すること。明示的にサイクルを作らなくてもクロージャのせいで
サイクルができてしまう場合があるので注意すると。そんな話
だったね。
324Name_Not_Found:2006/09/28(木) 17:58:18 ID:???
>>323
ああ、そりゃしょうがないな。 昔からどこの言語でも結構言われてるヤツじゃね?
325Name_Not_Found:2006/09/28(木) 18:02:23 ID:???
>>321
そのObject.extend()というのは?
326Name_Not_Found:2006/09/28(木) 18:08:30 ID:???
>>325
すみません、prototype.jsに関連する説明が一切ぬけていました。
Object.inherit = function(subClass, superClass) { ... } と読み替えてください。
prototype.jsの慣例に沿い、上記のような実装をおこないました。

もう一点、記述から読み取れる事ではありますが、使い方の補足をします。
こちらも、prototype.jsの同名メソッドに合わせた実装です。

var SubClass = Class.create(SuperClass);
var subInstance = new SubClass();
327Name_Not_Found:2006/09/28(木) 18:55:23 ID:???
>>326
それで、各クラスにメソッドやインスタンス変数(メンバ変数)を
定義するにはどうするの。prototype.jsをまったく知らないのでね。
328Name_Not_Found:2006/09/28(木) 19:00:28 ID:???
>>320
根本的な話。
クラス-インスタンスベースから頭を切り替えないと、JavaScript でスマートなスクリプト書けないよ。
329Name_Not_Found:2006/09/28(木) 19:06:14 ID:???
>>327
説明が酷く足りず、すみません。
それらはprototypeに直接記述します。初期化にはinitializeを決めうちで使います。
つまりSubClass.prototype.initialize()がfunction SuubClass()にあたります。
上記の記述の中では、以下の箇所が該当します。
> function() {
> if(this["super"]) { this["super"].apply(this, arguments); }
> if(this.initialize) { this.initialize.apply(this, arguments); }
> }

例:
var SuperClass = Class.create();
var SubClass = Class.create(SuperClass);
SubClass.prototype = {
initialize: function() { this.msg = "Hello World"; },
hello: function() { alert(this.msg); }
}
var subInstance = new SubClass;
subInstance.hello(); #=> "Hello World"
330Name_Not_Found:2006/09/28(木) 19:07:58 ID:???
>>320
Object.extendがprototype.jsのそれと同じものだとして、
継承が深くなると基底クラスコンストラクタの呼び出しがうまくいかない。

var Animal = Class.create();
Object.extend(Animal.prototype, {
initialize: function(){ this.isAnimal = true; }
});
var Mammal = Class.create(Animal);
Object.extend(Mammal.prototype, {
initialize: function(){ this.isMammal = true; }
});
var Dog = Class.create(Mammal);
Object.extend(Dog.prototype, {
initialize: function(){ this.isDog = true; }
});

var m = new Mammal;
alert(m.isMammal); // true
alert(m.isAnimal); // true
var d = new Dog;
alert(d.isDog); // true
alert(d.isMammal); // true
alert(d.isAnimal); // undefined
331Name_Not_Found:2006/09/28(木) 19:09:46 ID:???
>>328
過去のログを見るに、そういった意見は多いようですね。
それを確かめるためにも、実際に行ってみたいという、ひねくれた気持ちもあります。
332Name_Not_Found:2006/09/28(木) 19:13:09 ID:???
>>329
その使い方だとスーパークラスのコンストラクタが呼び出されないけどいいのか?

var SuperClass = Class.create();
SuperClass.prototype = { initialize: function () { this.p = "SuperClass"; } };
var SubClass = Class.create();
SubClass.prototype = { initialize: function () { this.q = "SubClass"; } };
var subInstance = new SubClass;
subInstance.p; #=> undefined
subInstance.q; #=> SubClass
333332:2006/09/28(木) 19:14:50 ID:???
var SubClass = Class.create(); → var SubClass = Class.create(SuperClass); に訂正。
334Name_Not_Found:2006/09/28(木) 19:25:07 ID:???
335Name_Not_Found:2006/09/28(木) 19:40:16 ID:???
>>330 >>332 >>334
せっせと読んでいます。理解に時間がかかり返事が遅くなってしまうかもしれません。
ありがとうございます。
336Name_Not_Found:2006/09/28(木) 19:42:18 ID:???
337Name_Not_Found:2006/09/28(木) 19:45:11 ID:tSjGdRne
関数のコールの仕方でオブジェクトを指定してください
というエラーが出ます。
function c_H(str){L=parent.main.document.getElementsByTagName('A');
for (i=0;i<L.length;i++){
L[i].href='http://'+str+encodeURIComponent(L[i].innerText);}}

<A href='javascript:c_H("hh");'>test</A><BR>//エラー
<A href='javascript:c_H("hh");void(0);'>test</A><BR>>//エラー
<A href='#' onclick='c_H("hh");'>test</A><BR>>//エラー
<A href='#' onclick='c_H("hh");return false;'>test</A><BR>>//OK
なんでなんでしょうか?よろしくお願いします。
338Name_Not_Found:2006/09/28(木) 19:48:17 ID:???
時間がかかりそうな事と、一つ一つの返事が長くなりそうな事から、個別にお返事します。

>>332
すみません、仰る通り例が間違っています。
prototype.jsの慣例的な設定の仕方と混ざってしまいました。
正しくは以下の通りです。

var SuperClass = Class.create();
SuperClass.prototype.initialize = function() { this.p = "SuperClass"; };
var SubClass = Class.create(SuperClass);
SubClass.prototype.initialize = function() { this.q = "SubClass"; };
var subInstance = new SubClass;
subInstance.p; #=> SuperClass
subInstance.q; #=> SubClass
339Name_Not_Found:2006/09/28(木) 20:48:36 ID:???
全てのフレームを表示されたまま印刷する(1枚の紙に)方法を教えてください。
340Name_Not_Found:2006/09/28(木) 20:49:56 ID:???
>>339
ブラウザにその機能がなければ無理。
341Name_Not_Found:2006/09/28(木) 21:03:39 ID:???
>>330 突貫で汚いですが修正してみました。
Array.prototype.seachは第一引数をscopeとしたeachです。

Object.extend(Object, {
inherit: function(subClass, superClass) {
var Temp = function() {};
Temp.prototype = superClass.prototype;
subClass.prototype = new Temp;
subClass.prototype["sInites"] = [];
if(superClass.prototype.initialize) { subClass.prototype["sInites"].push(superClass.prototype.initialize); }
if(superClass.prototype["sInites"]) {
superClass.prototype["sInites"].seach(this, function(sInit) { subClass.prototype["sInites"].push(sInit); });
}
}
});
var Class = {
create: function(superClass) {
var newClass = function() {
if(this["sInites"]) {
this["sInites"].seach(this, function(sInit) { sInit.apply(this, arguments); });
}
if(this.initialize) { this.initialize.apply(this, arguments); }
}
if(superClass) { Object.inherit(newClass, superClass); }
return newClass;
}
}
342Name_Not_Found:2006/09/28(木) 21:10:54 ID:???
>>341
直後ですみません。コンストラクタの初期化順序に問題がありました。
現在会社で、今から帰宅するため、返事は明日以降になります。

症状:
var Animal = Class.create();
Object.extend(Animal.prototype, {
initialize: function(){ this.x = "x"; this.isAnimal = 'isAnimal'; }
});
var Mammal = Class.create(Animal);
Object.extend(Mammal.prototype, {
initialize: function(){ this.x = "y"; this.isMammal = 'isMammal'; }
});
var Dog = Class.create(Mammal);
Object.extend(Dog.prototype, {
initialize: function(){ this.isDog = 'isDog'; }
});

var d = new Dog;
alert(d.x); // "x"

>>334 >>336
熟読しておきます。ありがとうございました。
343Name_Not_Found:2006/09/28(木) 21:19:54 ID:???
>>341
気持ち悪かったので、おかしかった箇所の確認を行いました。

> if(this["sInites"]) {
> this["sInites"].seach(this, function(sInit) { sInit.apply(this, arguments); });
> }

のsearchを、逆から処理するrseachに変更することで正常に動作する事を確認しました。
他にもまだ出てきていない問題点もあると思いますが、>>336を読み頑張ります。

問題点の指摘とアドバイス、本当にありがとうございました。
344Name_Not_Found:2006/09/28(木) 21:20:17 ID:???
>>339 IEでの”表示されたとおりに印刷する”で十分なのですが、方法を教えてください。
345Name_Not_Found:2006/09/28(木) 21:23:28 ID:???
ファイル→印刷
346Name_Not_Found:2006/09/28(木) 21:24:44 ID:???
>>344
スレ違い、っていうか板違い。
どうしても javascript 使いたいならどう使いたいか言えw
347Name_Not_Found:2006/09/28(木) 21:25:34 ID:???
>>345
JavaScriptでデフォルトのチェックを通常は個別に印刷になっているので、”表示されたとおりに印刷する”にしたいです。
348Name_Not_Found:2006/09/28(木) 21:27:30 ID:???
>>345
JavaScriptによって、デフォルトのチェックが通常は個別に印刷になっているところを、”表示されたとおりに印刷する”にしたいです。

読みづらかったので再度すいません。
349Name_Not_Found:2006/09/28(木) 21:27:37 ID:???
(゜Д゜)ポカーン
350Name_Not_Found:2006/09/28(木) 21:45:14 ID:???
つーかフレーム使うな
351Name_Not_Found:2006/09/28(木) 21:56:08 ID:???
PHP以外でフレーム回避の方法が浮かばないのです。
PHPは使用不可なのです。
352320:2006/09/28(木) 21:59:06 ID:???
せっかくなので、チェーンで書き直したついでに、prototype.jsから独立させました。
恐らく、これのみで動くと思います。

===================================
Object.inherit = function(subClass, superClass) {
var Temp = function() {};
Temp.prototype = superClass.prototype;
subClass.prototype = new Temp;
subClass.prototype.sPtype = superClass.prototype;
}

var Class = {
create: function(superClass) {
var newClass = function() {
function superInit(sPtype, scope, arg) {
if (sPtype.sPtype) { superInit(sPtype.sPtype); }
if (sPtype.initialize) { sPtype.initialize(scope, arg); }
}
if (this.sPtype) { superInit(this.sPtype, this, arguments); }
if (this.initialize) { this.initialize.apply(this, arguments); }
}
if (superClass) { Object.inherit(newClass, superClass); }
return newClass;
}
}
===================================
353Name_Not_Found:2006/09/29(金) 11:42:06 ID:???
個人的にはECMAScriptのオブジェクトに慣れたら
prototypeベースの継承すら必要なくなる気がしている
354Name_Not_Found:2006/09/29(金) 14:49:57 ID:???
ttp://www.dpj.or.jp/manifesto04/index.html
細野とTBSのあばずれアナの不倫のことで民主党に意見しようと公式HPを
クリックしたら、スクリプトエラー続出のオンパレードの画面。ひどいね。
カネがないわけじゃないのだろうに、ドリームなんとかでJavaScript書いて
る。中学生でももっとまともなHPもってるぜ。まったく動かない。そういう
政党に明日はないだろ。
今日の安倍首相の所信表明ではITで国民に訴える企画をボンボン出してた。
これじゃ民主党に明日の日本はは託せない。せいぜい不倫に萌えてくれ。
ttp://www.dpj.or.jp/manifesto04/index.html
355Name_Not_Found:2006/09/29(金) 14:56:02 ID:???
デザイン的には好感だけどな。中学生には無理だろう。
しかしロゴの画像リンクが切れているのはどうかと思う。
356Name_Not_Found:2006/09/29(金) 16:39:21 ID:???
あの永田のメールの一件でも露呈しているけど、
あの党にはITリテラシーが人並み以下の人間しかいないんだよ。

だいたい、あの当時党首だった前原も40代のくせに
あの問題の当時、私はITには疎いからと言い訳していた位だし。

まったく、土方おやじじゃあるまいし。
押し売りまがいの事しか出来ない高卒のルートセールスマン以下だよ。
ネクタイとワイシャツ着て仕事している人間の発言とはとても思えない。

ITに疎いと公言する40代の人間が党首だった党なんて無用の存在。
単なる最大手の選挙互助会で税金泥棒集団だよね。
357Name_Not_Found:2006/09/29(金) 17:39:13 ID:???
今度の党首は晋三の所信演説もよそに心臓の問題で入院中らしいよ。
しかし、TBSの山本モナとかいう女キャスター、取材対象と寝てせっせとお茶の間
に情報提供はリッパ。民主党が甘いんだよ。TBSは広報も言ってる通り絶対に降板
させないでほしい。この女、この顔でと思うと酒がうまい。今夜も楽しみだ。
民主のサイト見たが、ITオンチに付け込まれて完全に業者にボッタクられてるな。
358Name_Not_Found:2006/09/29(金) 17:55:43 ID:???
スレッドの題名すら読めない奴が、なにえらそうに語ってるんだか…
359Name_Not_Found:2006/09/29(金) 18:03:15 ID:???
あべ総理のIT系への強さだけはガチ。
公式サイトに入った瞬間からわかるw
360Name_Not_Found:2006/09/29(金) 18:31:41 ID:???
しかし、東京都のサイトもひどいよ。リンクがエラー連発。触っただけで鰓。
ttp://tokyo23.seisou.or.jp/23ku_seisou/index.html
悪徳IT業者にいいようにされてる風。IT無知で文句もいえないんじゃないか?
おれはこのページ行ってごみ問題に興味なくした。
361Name_Not_Found:2006/09/29(金) 19:09:58 ID:???
>>354
2004年の残骸ファイルか・・・

未来志向でやろうぜ
362Name_Not_Found:2006/09/29(金) 19:13:45 ID:???
公官庁のサイトなら新潟が最強かもね。
ff向けのツールバーまで配布したりして。
363Name_Not_Found:2006/09/29(金) 20:33:26 ID:???
>>362
×公官庁(しかし、よく変換できたなw)
○官公庁

大辞林 第二版 (三省堂) 【公官庁】 の検索結果
キーワードに該当する結果が見つかりませんでした
364Name_Not_Found:2006/09/29(金) 20:33:49 ID:KQxiDyIv
>>354

<link href="file:///Macintosh%20HD/Users/yoshihisa/Documents/workdata/i-studio/民主党/style.css" rel="stylesheet" type="text/css">

吉田君 バロス !!
365Name_Not_Found:2006/09/29(金) 20:49:02 ID:???
>>364
ワロタ
民主党には国は任せられん!
366Name_Not_Found:2006/09/29(金) 20:53:03 ID:???
>>364
吉田君じゃなくて義久君だyo!
367364:2006/09/29(金) 21:13:44 ID:KQxiDyIv
義久君、苗字間違えてゴメン。
368Name_Not_Found:2006/09/29(金) 21:18:32 ID:KQxiDyIv
>>364

制作担当したウェブ屋は「博報堂 i-studio」のようだな。
これで技術レベルが知れてしまったな。御愁傷様。
369Name_Not_Found:2006/09/29(金) 21:50:51 ID:???
>>354の最後のフォント何?
font-family: "MS ゴシック", Osaka, "ヒラギノ角ゴ Pro W3";
370Name_Not_Found:2006/09/29(金) 21:58:54 ID:KQxiDyIv
>>369

Mac OS Xのフォント。
371Name_Not_Found:2006/09/29(金) 23:35:08 ID:???
何スレ違いで盛り上がってるんだ?レスの浪費しすぎ。
372Name_Not_Found:2006/09/30(土) 09:21:07 ID:???
演算子でオブジェクトをdeleteしてもメモリは開放されませんか?
373Name_Not_Found:2006/09/30(土) 10:22:41 ID:???
民主党SUGEEEEEEEEEEE
374Name_Not_Found:2006/09/30(土) 11:31:44 ID:???
>>372
deleteできるのはあくまでも「オブジェクトが持つプロパティ」
であってそこに入っているオブジェクト自体を解放するわけじゃ
ない(そのプロパティにオブジェクトが入ってるものとしてね)。

そのプロパティに入っている(いた)オブジェクトが他から
指されてないなら、そのオブジェクトの領域は将来的にGCが
回収してくれるだろうけど。
375372:2006/09/30(土) 12:58:11 ID:???
>>374さん
ありがとうございました。わかりました。
376Name_Not_Found:2006/09/30(土) 16:34:04 ID:IGGdj822
質問です。
みなさんがJavaScriptにはクラスはない、とおっしゃるとき、どの言語の
クラスを思い浮かべて比較していますか?Javaですか?、C++ですか?
377Name_Not_Found:2006/09/30(土) 16:40:48 ID:???
いや単純にクラスという構造体を考えてるだけだけど。比較なんてしてない
378Name_Not_Found:2006/09/30(土) 16:46:12 ID:???
>>354
民主党はありえないな。もうオウムと同じ扱いでいいよ。

>>368
根拠は?
流言蜚語はよくない。
379Name_Not_Found:2006/09/30(土) 17:08:42 ID:???
>>376
一般的にJavaScriptにクラスは無い、と言う話をする場合には、個別の言語を対象としている訳ではなく。
クラス、インスタンスベースの静的オブジェクト指向という概念を指す。

と言うか、私はそう考えている。
380Name_Not_Found:2006/09/30(土) 18:59:37 ID:???
class という予約語が存在して、それを使える JScript.net とか、AS2-3 などが既に存在する。
単純に、それらとの区別ということでいいだろ。
381Name_Not_Found:2006/09/30(土) 19:08:04 ID:ZG1z0M1B
オナニーしすぎて辛くなってきた
今日はIDに出た数字の回数だけやって寝ることにしよう
382Name_Not_Found:2006/09/30(土) 19:28:15 ID:???
101回か。逝ってら。
383Name_Not_Found:2006/09/30(土) 22:00:32 ID:???
上のフレームのフォントサイズ変更ボタン(画像)を作って、
下のフレームのフォントサイズを変えたいのです。
どなたかご教授ください。
お願い致します。
384Name_Not_Found:2006/09/30(土) 22:20:45 ID:3HQcwCFn
余談的質問です。
JavaScriptのDHTMLではよくダミー画像(1x1px)を使いますが、このダミー
画像(自分はspace.gifとしています)ってどうしても45kb位になってしまい
ます。軽さを信条としている自分的には十分ですが、やはりピクセル的に45は限
界ということでしょうか。10kbくらいでできそうな気がするのですが。
無理ですか。
385Name_Not_Found:2006/09/30(土) 22:24:04 ID:???
お、教授登場! <<383
もうムダスレ再燃はなしな。教授帰れや。
386Name_Not_Found:2006/09/30(土) 23:01:25 ID:???
>>384
普通に考えて1024byte以下になるだろ…
ちなみに俺が使っているのは43byte
387Name_Not_Found:2006/09/30(土) 23:34:14 ID:???
>>384
1x1のダミー画像なんて使うか?自分は使ったことないなあ。
何にダミー画像が必要なわけ?
>>383
(1)ボタンが押された時JavaScriptの動作を起動する方法
(2)上フレームから下フレームを参照する方法
(3)ドキュメントのフォントサイズを設定する方法
が分かればいいわけだよな。
(1)<button onclick="動作">...</button>
(2)parent.下フレーム名
(3)document.body.style.fontSize = 'サイズ指定';
じゃあがんばって。全部書いてやることはしないスレだから。
388383:2006/10/01(日) 03:17:50 ID:???
>>387
本当にありがとうございました。
たぶん出来たようで、動いてます。
389Name_Not_Found:2006/10/01(日) 04:22:23 ID:ZKJiNMkb
オブジェクトのクラスを得る関数はありますか。
JavaでいうgetClass()です。
こんなかんじの関数。
[1,2,3].getClass() //=> Array
/foo/.getClass() //=> RegExp
390Name_Not_Found:2006/10/01(日) 08:51:21 ID:???
>>389
JavaScript(ECMA-262、ブラウザに入っている版)には「クラス」
というものは存在しない。このスレのすぐ上の議論を読めボケ!
次のようなものは存在する(解説する気はないので自分で勉強しろ)
<html><head><title>???</title>
</head><body>
<pre><script type="text/javascript">
var x = [1,2,3], y = /abc/;
document.writeln(x.constructor.toString());
document.writeln(y.constructor.toString());
</script></pre>
</body></html>
391Name_Not_Found:2006/10/01(日) 09:51:19 ID:???
DOCTYPEがない!
392Name_Not_Found:2006/10/01(日) 09:55:38 ID:OFT82Ec2
質問です。
プロパティというのは変数と考えてよいのでしょうか?
393Name_Not_Found:2006/10/01(日) 10:01:20 ID:???
>>391
コピペ失敗orz
>>392
オブジェクトに付随する変数と思えばいいのでは。JavaScript
では変数もすべて「何らかのオブジェクトのプロパティ」と
いうことになっているし。
394Name_Not_Found:2006/10/01(日) 13:08:17 ID:???
Cometを使ったチェスボード
ttp://void-main.org/chessboard/

Ajaxスレで話題になっていたのでこちらにも転載
これはAjaxやComet以上に、JavaScriptのレベルも相当高い
395Name_Not_Found:2006/10/01(日) 14:46:53 ID:???
>>394
何そのJScriptメモリーリーク再現コードw
いいから、えいじゃっくすスレに隔離されてろ、初心者w
396Name_Not_Found:2006/10/01(日) 14:50:35 ID:???
どうみても僻みです、本当に(ry
397Name_Not_Found:2006/10/01(日) 15:06:27 ID:???
394のはJuggernautを使って通信しているみたいだ。
Flashを使っているから別のポートが必要になるのであまり好きではないが、
サーバに与える負荷は一般的なCometと違って随分小さいはず。

操作感がかなりいいのが気に入った。
398Name_Not_Found:2006/10/01(日) 16:51:02 ID:???
394はこの調子でゲームを作れば面白いんじゃないかな
399Name_Not_Found:2006/10/01(日) 17:33:57 ID:7uEFaylH
すみません質問させてください。

↓と同様に配列の要素を変数を用いて可変にしたいのですが、
書式がわからず困っています。
obj1 = document.XXXForm.elements['hogehoge[0]'];

obj1 = document.XXXForm.elements['hogehoge[変数]'];
というイメージなのですが、色々試行錯誤した結果全部だめでした。

ご存知の方、教えてください。よろしくお願いします。
400Name_Not_Found:2006/10/01(日) 17:43:22 ID:???
過去ログ
401Name_Not_Found:2006/10/01(日) 17:47:32 ID:???
>>400
見たけど載ってないんですが・・・
402Name_Not_Found:2006/10/01(日) 18:33:17 ID:???
>>399
日本語が意味不明すぎ。こういうことかね。試行錯誤じゃなく理
詰めで考えるようにならないと。
obj1 = documen.forms.XXXFrom.elements['hogehoge[' + x + ']'];
403Name_Not_Found:2006/10/01(日) 20:23:21 ID:???
FAQの7でわからんもんなの?
404Name_Not_Found:2006/10/01(日) 21:38:34 ID:???
てか、なんも考えて寝駄露.
405Douglas Crockford:2006/10/01(日) 23:40:21 ID:pX5tEJuA
Hi,I am Douglas. I once insisted as follows and nothing has changed my mind yet:
JavaScriptに関する書籍の大半は非常にひどいものです。それらの書籍は間違
いと下手な実例を記載し、悪い習慣を助長しています。たいていの場合、JavaScript
の重要な特徴の説明が不十分か、または完全に省略されています。私は沢山のJavaScript
の本を読んできましたが、お勧めできる書籍は2冊しかありません。
『JavaScript』著:デイビッド・フラナガンと、『Dynamic HTML (2nd Edition)』
著者:Danny Goodman*3です。両方ともオライリーから出版されています。
406Name_Not_Found:2006/10/02(月) 09:21:17 ID:???
FF1.5のJavaScriptはバージョンが1.6になり,新しい機能が追加されている。
E4X(ECMAScript for XML)
JavaScriptからシームレスにXMLが扱えるようになる機能。XMLがDOMっぽく
扱えるようになる。具体的な記事はIBMのdeveloperWorksにある。
AJAX and scripting Web services with E4X, Part 1
AJAX and scripting Web services with E4X, Part 2
Arrayの拡張
Arrayに新しいメソッドが追加になった。要素の位置
を返すのやら,要素に順に関数を適応して新しい配列を作ったり。

配列と文字列のジェネリクス
配列と文字列を同じように扱える。つーか文字列を文字の配列と見なして,
Array用のメソッドを使うことが可能になった。ArrayやStringに任意のオブ
ジェクトに使える汎用的なクラスメソッドが追加された。
407Name_Not_Found:2006/10/02(月) 09:31:21 ID:???
まあいいんだけど、IEが追従してくれないとFFx専になっちゃう
ので使いづらいんだよね。
408Name_Not_Found:2006/10/02(月) 10:17:53 ID:???
意味の無い仕様拡張だな
409Name_Not_Found:2006/10/02(月) 11:20:59 ID:???
そんなことはない。IEが追従してくれたらString関係なんかは
便利に使えそうだと思っている。
410Name_Not_Found:2006/10/02(月) 12:21:47 ID:???
FirefoxのJavaScript実装に脆弱性--迅速な対応が困難な場合も

サンディエゴ発--オープンソースブラウザ「Firefox」について、2人のハッカーが
米国時間9月30日午後、JavaScriptの扱いに関する重大な脆弱性があると指摘した。
Mischa Spiegelmock氏とAndrew Wbeelsoi氏は当地で開催されたToorConハッカーカン
ファレンスで、悪意あるJavaScriptを含むウェブページを作成するだけで、
ブラウザを実行しているコンピュータを乗っ取ることができると説明した。この
脆弱性は、Windows、Apple ComputerのMac OS X、Linux上のFirefoxに影響するという。
続きを読む→ttp://japan.cnet.com/news/sec/story/0,2000056024,20256207,00.htm
411Name_Not_Found:2006/10/02(月) 13:45:28 ID:???
Firefoxでonmousemoveイベントでevent.whichの値が常に1になってしまいます。
マウスのボタンの状態が来るはずですよね? 座標はちゃんと取れてます。
使い方間違ってますか?

初歩的な質問かもしれませんが、自分でやってみてどうにもうまくいかないので
お願いします。
412Name_Not_Found:2006/10/02(月) 14:40:06 ID:???
>>411
DOM Level 2 event ではwhichという属性は定義されていない。
ボタンのON/OFFを調べたければmousedown/mouseupも捕捉して
自前でON/OFFを追跡するのかな。
413Name_Not_Found:2006/10/02(月) 15:44:11 ID:???
本当に初心者質問で申し訳無いですが、ボタンが押されたら、
「本当に実行してもいいですか?」のようなを表示させるには、
どうしたらいいのでしょう?
onclickを使えばいいのでしょうか?window.openを使うと別ブラウザが
開いたりいまいち、わかりません。
単に、編集や削除を実行していいのかの、確認をするメッセージを
だしたいだけです。
その確認メッセージを押されたら、phpが実行されるようにしたいのです。
お願いします。
414Name_Not_Found:2006/10/02(月) 15:54:33 ID:???
>>413
つ[alert]
415Name_Not_Found:2006/10/02(月) 15:55:03 ID:???
じゃねえな つ[confirm]
416Name_Not_Found:2006/10/02(月) 15:56:51 ID:???
>>413
あほらしい。その確認メッセージでYESを押すと実行とかに
したら、誰もが条件反射でYESを押すようになるだけだよ。
役に立たん。

それでよければ次のようにするだけだと思うけど。
<form onsubmit="return prompt('OK?')" ...>

それより複雑なことがしたいのなら、地道に本でも買って
勉強した方がいいと思うね。勉強不足すぎだよアンタ。
417Name_Not_Found:2006/10/02(月) 16:02:47 ID:???
>>416 まちがえたpromptじゃなくて>>415のいうようにconfirmね。
418Name_Not_Found:2006/10/02(月) 16:13:21 ID:???
>>416
スレ違いだが、0回と1回では大きな差がある。
確認メッセージが0回だと間違って押した場合、クリティカルな処理であればあるほど痛い目にあう。
特にformの場合、リターンでsubmitが呼ばれるinput type="text"で誤ってリターンを押された時の
確認メッセージはあっても悪くないはず。

とはいえ、まっとうなデザインをしたらconfirmはほとんど必要ないはずだけどね
419Name_Not_Found:2006/10/02(月) 16:18:36 ID:???
削除とかの機能は2アクションにすればよい。
チェックボックスをチェックしてボタン押すとか。
こうしとけば無意味な確認ダイアログはいらない。
420413です。:2006/10/02(月) 16:24:09 ID:???
ありがとうございます。
onclick='confirm("本当に削除してもいいですか?")'でできました。

複数の値をチェックしたら、一気に削除できるようにしているので、
確認メッセージは必要だと思いまして><
確認ページを作らなかった自分が悪いんすけど。。
どうもありがとうございます。
421413です。:2006/10/02(月) 16:26:44 ID:???
ちょっと、無駄に追記を。
削除ボタン近くに、変更ボタンもあるので(離して作れって感じですけど)
一応、誤認用にと思って必要だと思いました。
422413です。:2006/10/02(月) 16:36:02 ID:???
度々、すいません。↑のように書いたら、確認は表示されるようになりましたが、
キャンセルを押しても、OKを押しても、実行されてしまいます。
どうすればいいのでしょうか?
423Name_Not_Found:2006/10/02(月) 16:46:45 ID:???
過去ログ
424Name_Not_Found:2006/10/02(月) 16:54:40 ID:???
>>422
てめーの目は節穴か?「"return confirm(...)"」
returnという文字が読めないのかそうですか(劇藁)
425Name_Not_Found:2006/10/02(月) 17:24:10 ID:???

>(劇藁)

なつかしいな
426Name_Not_Found:2006/10/02(月) 17:28:00 ID:???
劇薬かと思った
427Name_Not_Found:2006/10/02(月) 17:32:02 ID:???
>>424
これでいいですか?

re・turn /rtn|‐tn/ 【カタカナ】リターン
1a 帰る,戻る 《★【比較】 come [go,get] back のほうが口語的》.
b +副(句)(…に)帰る,戻る.
2a (もとの状態に)戻る,回復する.
b +to+(代)名〔もとの状態に〕戻る,復帰する; 〔前の話題などに〕戻る.
3〈季節・病気などが〉再び起こる,再来する,再発する.
1a 〈ものを〉(元の持ち主・元の場所などに)返す,戻す,返還する
《★【用法】 前後関係に応じて,give [throw,put] back とするほうが口語的》.
b +目+to+(代)名〈ものを〉〔元の持ち主・元の場所などに〕返す.
c +目+目 / +目+to+(代)名〈人に〉〈ものを〉返す; 〔人に〕〈ものを〉返す.
d +目+補〈…を〉〈…の状態で〉返還する.
2a 〈…に〉報いる,返礼する.
b +目+前+(代)名〔…に対して〕〈…の〉お返しをする 〔for〕; 〈…を〉〔…で〕お返しをする 〔with〕.
3a +目+to+(代)名〔…に対して〕〈返事を〉する,答える.
b +引用〈…と〉答える.
4a (公式に)〈…を〉報告する,申告する.
b +目+as 補〈…を〉〈…と〉報告する.
5 〈陪審が〉〈評決を〉下す.
6 〈利子・利益などを〉生む.
7a 〈選挙区が〉〈人を〉選出する,再選する.
b +目+前+(代)名〈人などを〉〔議会・政権の座に〕送る 〔to〕; 〈人を〉〔選挙区から〕選出する 〔for〕.
8 【テニスなど】〈ボールを〉打ち返す. to retrn (to the sbject)
1a [具体的には ] 帰り,帰還,帰宅 〔to,from〕.
b 《英》 往復切符 (cf. single 4).
2 [具体的には ] 回帰,復帰; 再発 〔of〕.
3 返却,還付 〔of〕.
a 返礼,応答,返報.
b 返事,返答.
5 [しばしば複数形で] 報酬,収入,収益.
428Name_Not_Found:2006/10/02(月) 22:23:18 ID:???
おもしろくないよ(´・ω・`)
429Name_Not_Found:2006/10/03(火) 00:00:47 ID:slc7L4Ot
文字列をランダムにランダム回選択し表示を変化させたいのですが、
分岐部分が分かりません。よろしく御願い致します。
str='abcdefghijklmnopqrstuvwxyz';
var rnda = new Array();
for (i = 0; i <Math.floor(Math.random() * str.length); i++) {
rnda.push(Math.floor(Math.random() * str.length));
}
//alert(rnda)
for (i = 0; i <str.length; i++) {
if (i==分からない){
document.writeln((str.charAt(i).toUpperCase()).fontcolor('red').fontsize('7'));
} else {
document.writeln(str.charAt(i));
}
}
430Name_Not_Found:2006/10/03(火) 01:35:26 ID:???
JavaScriptの本を探しています。

普段はJavaやC++などを使用しているのですが、
JavaScriptに関しては結構適当にコーディングしていました。

この度、JavaScriptの文法などコアなところをしっかり学びたいのですが、
いい本はありませんでしょうか?

プロトタイプとかなんのことだかさっぱり分かりません。
431Name_Not_Found:2006/10/03(火) 02:09:43 ID:???
>>430
無い
ECMAScriptの仕様書が現時点でベストだが、読みなれてないと無理だし

書こうかな
432Name_Not_Found:2006/10/03(火) 02:20:51 ID:???
オライリーのでいいやん
433Name_Not_Found:2006/10/03(火) 02:32:58 ID:???
オライリーの翻訳ものはどういう基準で出てるんかね?
原書は5版まで行ってるのに日本語版は3版でとまってるし。
434Name_Not_Found:2006/10/03(火) 02:36:57 ID:???
>>430
つ 役に立つ書籍は? 3冊目
http://pc8.2ch.net/test/read.cgi/hp/1142829968/

まあこのスレでよくながあるのはオライリーの通称サイ本とMy UNIXあたりだな。
435Name_Not_Found:2006/10/03(火) 02:50:15 ID:???
宿題の意味が分かりません。
"assign a value to variable"ってどういう意味でしょう。

JavaScript that prompts the user to input his name and assigns this value to a variable called user_name.
For the prompt text, use "名前を入れて下さい".
436Name_Not_Found:2006/10/03(火) 03:30:12 ID:???
フォームで、名前をローマ字で入力するときに、
一文字目を自動的に大文字にしたいんですが
どうしたらいいですか?
437Name_Not_Found:2006/10/03(火) 04:18:17 ID:???
>>435
カンで答えると、
var hoge = prompt("名前を入れてください");
ってやると、変数 hoge に入力された値が入るよ、ってことでないの?
っていうか宿題を聞くな。嫌がられるから。

>>436
<input type="text" value="" onchange="this.value = this.value.replace(/^(.)/, function (z, x) { return x.toUpperCase() });" />
試してないけど。
438Name_Not_Found:2006/10/03(火) 04:22:05 ID:???
/* チラシの裏

↓こういう書き方できるんだね。いままでできないと思ってた。
----------------------
Hoge.piyo = 'hogehoge';
function Hoge () {}
alert(Hoge.piyo); // "hogehoge"
----------------------

そういう意味で↑と↓は全く別物なんだね。
----------------------
Hoge.piyo = 'hogehoge';
Hoge = function () {};
alert(Hoge.piyo); // undefined
----------------------
*/
439Name_Not_Found:2006/10/03(火) 04:37:28 ID:???
>>429
for (i = 0; i <Math.floor(Math.random() * str.length); i++)

とりあえずこの時点で
意図したとおりに動かないだろうな
440Name_Not_Found:2006/10/03(火) 04:41:13 ID:???
>>437
宿題と明言するような者に答えるな屑。
441Name_Not_Found:2006/10/03(火) 04:44:02 ID:???
>>438
正直なんでそういう挙動になるのかさっぱりわからん

alert(a);
alert(a.test);
a.test = "aa";
alert(a);
alert(a.test);
function a() {}
alert(a);
alert(a.test);

どういう状態を経てるんだろうか
442Name_Not_Found:2006/10/03(火) 05:21:21 ID:???
>>441
予想では、スクリプト読み込んだ時点で function hoge () {} があった場合、
それが全てより先に定義されるから、そのせいかなあと理解した。

例えば、
-----------------
hoge();
function hoge () {};
-----------------
は当たり前のように普通に実効されるのだけど、
-----------------
hoge();
hoge = function () {};
-----------------
これはエラーになるからねえ。

仕様のどっかに載ってるのかはちょっとわからないわ。
443389:2006/10/03(火) 05:27:45 ID:4VlyB1/r
>>390
返事ありがとう。
JavaScriptはプロトタイプベースのオブジェクト指向言語なので、クラスがないのはしってます。
ただ、通常はコンストラクタを使ってオブジェクトを作成しており、だいたいクラスベースと同じような使い方をしているので、ああいう聞き方になってしまいました。
ただしくは、「オブジェクトがどのコンストラクタで作成されたか調べる機能はありますか」ですね。
答えにあるように、constructorというプロパティがあるようです。そんなの全然しらなかったよー。
for (prop in object) でみてもconstructorというプロパテぃは表示されないので、これはArrayのlengthプロパティと同じような隠しプロパティと考えればいいんでしょうか。
なんにせよ、たすかりました。
444Name_Not_Found:2006/10/03(火) 05:29:37 ID:???
ごめん、あげちゃった。。。

つづいて質問なんですけど、コンソール版のJavaScriptを使ってるんですが、ファイルの入出力はどうしたらいいですか。
使っているのはSpiderMonkey1.5です。
もしすれ違いならごめんなさい。
445Name_Not_Found:2006/10/03(火) 05:36:07 ID:???
>>441>>442
うだうだ考えてる暇があったら仕様読め。
ttp://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/14_Program.html
関数宣言はソースコードを評価する前に処理され、
その段階で関数本体が作られてるんだよ。
評価の段階では関数宣言は何もしない。
(何もなかったかのように扱われる。)

>>443
そういうことならinstanceof使ったほうが確実だと思うけどね。
446Name_Not_Found:2006/10/03(火) 05:42:57 ID:???
>>444
JS_HAS_FILE_OBJECTつきでSpiderMonkeyをビルドしろ。
Fileオブジェクトが使えるようになる。別途NSPRも必要だがな。
もっともWindowsならそんなことするよりWSH上で
JScript+FileSystemObjectのほうが手っ取り早い。
447429:2006/10/03(火) 06:08:13 ID:???
>>429
ceilですね。onz.
if文で配列比較はJavaScriptでは無理なのでしょうか。

448Name_Not_Found:2006/10/03(火) 06:31:53 ID:???
>>447
いやそういう問題じゃないでしょ。
要はiがrndaに含まれるかどうかが知りたいんだよね?
今のままだとrndaの中身が[1,1,1,1,1,1]とかになる
可能性もあるわけだけどそれでもいいの?
ランダムにって言ってるけど具体的にどんな分布状況がいいの?
ある文字が赤大文字で表示されるかどうかの確率が1/2とかだと楽だろうけど。
関係ないけどfontcolorとかfontsizeとか使ってる人見たの初めてか二度目くらいだ。
449429:2006/10/03(火) 07:07:33 ID:???
>>要はiがrndaに含まれるかどうかが知りたいんだよね?
そうです。 if文で配列比較は可能か否か?です。
>>今のままだとrndaの中身が[1,1,1,1,1,1]とかになる
あっあっ〜そうですね。ダブったり、後に少ない数が出たり、しますね。onz.
トグルならわかりますが、分岐をランダムにというのが分かりません。
分布をランダムにしたいのです。
レス有り難うございます。いいアイデアを頂戴出来れば嬉しいです。
450Name_Not_Found:2006/10/03(火) 07:18:16 ID:???
>>447
まず0〜25の数値が順番に並んだ配列を作ってそれをシャッフルし
先頭から順に処理すりゃいんでしょ。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
var str = 'abcdefghijklmnopqrstuvwxyz', count = str.length+1;
var map = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];
var seq = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25];
function init() {
for(var i = seq.length-1; i > 0; --i) {
var j=Math.floor(Math.random()*(i+1)), x=seq[i]; seq[i]=seq[j]; seq[j]=x;
}
step();
}
function step() {
var s = '';
for(var i = 0; i < str.length; ++i) {
if(map[i] == 0) s += '<span>' + str.charAt(i) + '<\/span>';
else s+='<span style="color:red">'+str.charAt(i).toUpperCase()+'<\/span>';
}
document.getElementById('d0').innerHTML = s;
if(--count >= 0) { map[seq[count]] = 1; setTimeout(step, 100); }
}
</script>
</head><body onload="init()"><div id="d0"></div></body></html>
451Name_Not_Found:2006/10/03(火) 07:22:28 ID:???
>>443
ECMAの仕様を見ると分かるが [[dontenum]] つまりfor-inで
出て来ないことになっているプロパティというものがハッキリ
規定されている。だから隠しているわけでもなんでもなく仕様。
452Name_Not_Found:2006/10/03(火) 08:09:05 ID:???
>>450
うーん、mapとseqを直書きで用意しているのはいただけないな。
そこら辺はstrの長さによって変わるからinitで初期化すべきでしょ。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
var str = 'abcdefghijklmnopqrstuvwxyz';
function init() {
var letters = str.split(''), rest = [];
for (var i = 0; i < letters.length; i++) rest[i] = i;
function step() {
document.getElementById('d0').innerHTML = letters.join('');
if (rest.length) {
var i = Math.floor(Math.random() * rest.length);
letters[rest[i]] = '<span style="color:red">' + letters[rest[i]].toUpperCase() + '<\/span>';
rest[i] = rest[rest.length - 1];
rest.length--;
setTimeout(step, 200);
}
}
step();
}
</script>
</head><body onload="init()"><div id="d0"></div></body></html>
453Name_Not_Found:2006/10/03(火) 08:12:05 ID:???
デモ用のコードだから原理が分かりやすい方がいいと思うね。
まあそっから先は質問者の選択ということで。
454Name_Not_Found:2006/10/03(火) 08:19:48 ID:???
枝葉末節ですまないが、変数を作るとき「rnd」などというのはボケカスだろ。
スクリプト内で衝突以前に人間の目が「md」と衝突する。
455429:2006/10/03(火) 08:47:47 ID:???
上は理解に時間が掛かりそうです。下は何とか理解できそうです。
配列の要素からランダム番目をランダム個抽出すること。
if文での配列比較は可能か否かが質問の意図なのですが、
そちらの方は、何処へ?
456Name_Not_Found:2006/10/03(火) 08:57:21 ID:???
>>455
配列を一括して比較することはできない。速さを気にしないなら
if(a.join(',') == b.join(',')) ...
みたいに連結した文字列にして比較する。しかしそんなベタな
ことをしてるようではのろいしダサイと思うがね。

「ランダム番目をK個抽出」→「0〜N-1の入った配列を
シャッフルして先頭からK個取る」とかすぐ分からんもんかね(w
457429:2006/10/03(火) 09:13:33 ID:???
>>456
比較は出来ないんですね。
>>すぐ分からんもんかね
やっと分かりました。
ご親切にどうもありがとうございました。
458Name_Not_Found:2006/10/03(火) 09:18:23 ID:???
>>456
if(a.join(',') === b.join(',')) ...
ではないの?
459Name_Not_Found:2006/10/03(火) 09:34:31 ID:???
>>458
joinで返されるのは文字列値だから「==」でも「===」でも
同じでしょ。つか「===」が本当に要ることってめったに
ない(同じオブジェクトかどうかを調べたいときだけ)。
460429:2006/10/03(火) 09:45:54 ID:???
シャッフルして先頭からn個取ったのをjoinし比較して分岐させることで、
意図通りのが出来そうです。改めてお礼申し上げます。
461Name_Not_Found:2006/10/03(火) 10:03:28 ID:???
どーでもいいけど、速さ気にするなら
if(a.join(',') == b.join(',')) を
if(a[0] == b[0] && a[5] == b[5] && a.join(',') == b.join(','))
とか、join する前にいくつか単発で比較すればいいんじゃない?
同じになる確率低いんだし、こうするとたまたまいくつか同じなときしか join しないし。
462Name_Not_Found:2006/10/03(火) 11:34:49 ID:???
どーでもいいとは?とても重要なことかと思うが。
463Name_Not_Found:2006/10/03(火) 11:38:48 ID:???
その言い方もちょっとね。速さが必要なら速くする。どうでも
いいところは分かりやすく書く。というのが重要だと思うよ。
464Name_Not_Found:2006/10/03(火) 13:37:46 ID:???
join如きでクリティカルになるようなプログラムを書くほうがおかしい
465Name_Not_Found:2006/10/03(火) 14:33:04 ID:xUZhBwHx
質問です。
もしwindowがオブジェクトだとしたら、windowに直接オブジェクトを作るのに、
window={p;'q'}
とはできないのでしょうか。実際できないのですが、どこがいけませんか。
466465:2006/10/03(火) 14:35:20 ID:???
すいません指がすべりました。
window={p:'q'}です。
467Name_Not_Found:2006/10/03(火) 15:16:18 ID:???
>>466
そうすると「windowという名前の変数にpというプロパティ
だけを持つまったく新しいオブジェクトを代入」してしまうでしょ。
変数の代入は上書きだからこれまでwindowに入っていた内容は
アクセスできなくなるわけね。

あなたがやりたいことは「windowオブジェクトにpという新しい
プロパティを追加する」ことではないの?それなら「p = 'q';」
468466:2006/10/03(火) 15:22:50 ID:???
>>467
ありがとうございます。
確かに上書きですね。納得です。お手数かけました。
469Name_Not_Found:2006/10/03(火) 16:10:04 ID:???
navigator.appVersionで吐き出される値が、
USER_AGENTと全く異なる値になることってありますか?
470Name_Not_Found:2006/10/03(火) 16:27:08 ID:???
ふつう、常に違うだろ。それとも、navigator.userAgentの話ですか?
471469:2006/10/03(火) 16:41:08 ID:???
説明不足ですいません。「Mozilla/」以下がどうこう、みたいな話ではなく、
4.0(〜〜)と返ってくるべきところに 2.1 という値しか返ってこない、という状況になり、
バージョンチェックなどで弾かれてしまう問題にぶつかっています。
472Name_Not_Found:2006/10/03(火) 16:48:04 ID:???
>>471
そりゃ,
var appver=navigator.appVersion;
appver=2.1
とか意図的に仕込まれてるんでは?普通ブラウザ情報は正確でほ。
473Name_Not_Found:2006/10/03(火) 17:41:06 ID:???
>>472
ありがとうございます、もう少し調べてみます。
474Name_Not_Found:2006/10/03(火) 18:51:19 ID:???
>var appver=navigator.appVersion;
>appver=2.1

なにコレww
475Name_Not_Found:2006/10/03(火) 18:57:10 ID:???
テキストエリアの(自動)スクロールはできますか?
476Name_Not_Found:2006/10/03(火) 19:23:35 ID:???
>>475
むかーし、時々あったのは、テキストデータを一行ずつ書き換えて、
カクカクスクロールするもの。まあ、今時、探しても無いだろ。

今なら、DIV要素オブジェクトなどにスクロールバー出させて、
その中に、見えないSPAN要素オブジェクトを入れて、
SPAN要素オブジェクトを移動させながら、
scrollIntoView 使ってスクロールさせるかな。
477Name_Not_Found:2006/10/03(火) 20:51:00 ID:???
478Name_Not_Found:2006/10/03(火) 20:54:43 ID:???
onMouseover や onMouseout 等のイベント記述を
JavaScriptから書き換えることはできるでしょうか?

[HTML] <a href="#" id="test" onMouseover="">ほげ</a> ←onMouseover未設定
[JavaScript]
A = document.getElementById("test");
A.onMouseover = "this.value='ほげほげ'"; ←の様に変更
A.onMouseout = "this.value='ほげ'"; ←の様に変更
479Name_Not_Found:2006/10/03(火) 21:01:52 ID:???
>>478
addEventListener
attachEvent
480479:2006/10/03(火) 21:12:41 ID:???
>>478
基本的なことを忘れてた
A.onclick
A.onmouseout
481Name_Not_Found:2006/10/03(火) 21:31:50 ID:???
<a href="#" id="test">あ</a>
<script type="text/javascript">
A = document.getElementById("test");
A.onmouseover = function () {this.innerHTML='ほげほげ';};
A.onmouseout = function () {this.innerHTML='ほげ';};
</script>
this.valueとは恐らく要素のテキストの事と思われる
482Name_Not_Found:2006/10/03(火) 21:33:56 ID:???
>>476-477
ありがとうございます。
483Name_Not_Found:2006/10/03(火) 22:23:36 ID:???
>>479-481
this.value は急いで後付してしまい、誤ったものでした。
失礼しました。

主要ブラウザ含めて バッチリできました。  結構 予想と異なる
アプローチでしたので、自分だけでは解決できない所でした。
誠にありがとう御座いました。
484Name_Not_Found:2006/10/04(水) 01:54:04 ID:???
今月からJavaScriptを始めたものです。下記に示すコードは、divタグで囲まれた要素の内容をIDと共に
連想配列に登録した内容を使用して一括置換する関数です。完成したときは巧く動いたと思ったのですが
divタグを入れ子状態にすると巧く動作しません。どのように書き直したらよいですか?
初心者レベルの簡単な質問で答えるのもばからしいと思いますがなにとぞご教授願います。

<script type="text/javascript">
<!--
function replace(tmpl,hash){return tmpl.replace(/(<divs.*?id="(.*?)".*?>)(.*?)(</div>)/g,function(m_all,m_start,m_id,m_text,m_end){return m_start + (typeof(hash[m_id])=='function' ? hash[m_id](m_text) : hash[m_id]) + m_end})}
var input='TEST1<div id="a1"><a href="#">TEST2</a></div>TEST3<div id="a2">TEST4</div>TEST5<div id="a3">TEST6</div>TEST7';
var output=replace(input,{a1: 'TEST100',a2: '<a href="#">TEST200</a>',a3: function(str){return str.split('').reverse().join('')}});
document.write(input+'<br><br>'+output);
//-->
</script>
485Name_Not_Found:2006/10/04(水) 08:37:33 ID:???
>>484
そのぐちゃぐちゃのコードを読む気になれないね。どのような動作を
望んでいるのか分かる日本語で正確に説明してみそ。
486Name_Not_Found:2006/10/04(水) 09:39:32 ID:???
>>484
マッチに最長マッチを使って取れた内側にdivがあるようなら
再帰的にreplaceを呼ぶとかにすればいんでないの。しかし
String.prototype.replaceがある状態で関数replaceを
定義するのは紛らわしくて読みづらい(しかもStringの方も
使っているし)。
487Name_Not_Found:2006/10/04(水) 15:24:39 ID:udJF9Det
ttp://www.fureai.or.jp/~tato/JS/BOOK/BOOKSAMPL/PART2/SIMPLI/SIMPLI01.HTM

上記ページにあるように、テキストをマウスクリックで1文ずつ表示させたいです。
その際に、上記ページでは次の1文を表示させると前の1文は消えてしまいますが、まるでサウンドノベルのように、消えずに次々と表示させたいのです。

また、ボタンではなく、画面(どこでも)をクリックすることで表示させたいとも思っています。

どうか、ご教授ください。
488Name_Not_Found:2006/10/04(水) 15:33:15 ID:???
>>487
最後の1文で釣り決定w
489Name_Not_Found:2006/10/04(水) 15:35:57 ID:???
487が少なくとも過去ログを読んでいないのは間違いないな
490Name_Not_Found:2006/10/04(水) 15:43:29 ID:???
>>487
その参考サイトの消えるのをやめればいいんでしょ。画面の
クリック取るのはwindow.onmouseupにでもハンドラつければ。
491Name_Not_Found:2006/10/04(水) 17:00:13 ID:???
大事な教授をあげることはできません。
492Name_Not_Found:2006/10/04(水) 17:12:07 ID:???
これ↓閉鎖なんですね。どこかにミラーサイトはないのでしょうか。
ttp://www.axis.t.u-tokyo.ac.jp/~shunak/ecmascript/
493Name_Not_Found:2006/10/04(水) 17:18:22 ID:???
あのさあ、内容のある書き込みのついでに「ご教授」を皮肉る
とかならいいと思うんだけど、わざわざそれだけのためにレスを
浪費するのはやめて欲しいんだけど。
494Name_Not_Found:2006/10/04(水) 17:27:53 ID:???
>>493 オマエモナー
495Name_Not_Found:2006/10/04(水) 17:44:02 ID:???
>>492
http://web.archive.org/web/20050318053905/http://www.axis.t.u-tokyo.ac.jp/~shunak/ecmascript/
困った時はコレ。まあアーカイブされてない弱小サイトは無理だが
496492:2006/10/04(水) 17:52:06 ID:???
>>495
ありがとうございます。実はそれもやったんですが肝心の頁が切れていて(例えば
axis.t.u-tokyo.ac.jp/~shunak/ecmascript/Capsule.htmlなどとか)、googleのキャッシュも
役立たずだしと思いまして……
497Name_Not_Found:2006/10/04(水) 19:14:36 ID:ZqNDQ7No
質問です、お願いします。
オブジェクトを追加するというとき、どのようなイメージをしたらいいの
でしょうか。配列のインスタンスの場合は箱ですが、そんなわかりやす
いイメージが何かありますか?
498Name_Not_Found:2006/10/04(水) 19:21:12 ID:???
配列の「1要素」は箱だろうけど「配列のインスタンス」
だとその箱が直接状に並んだものとしか思えん。日本語が
おかしい奴にイメージを説明できる気はしない。
499497:2006/10/04(水) 19:38:00 ID:???
>>498
すいません。インスタンスの要素が箱ですね。気を取り直してお願いします。
500Name_Not_Found:2006/10/04(水) 19:45:35 ID:???
俺は真夏の太陽をイメージしてるよ
501Name_Not_Found:2006/10/04(水) 19:53:10 ID:???
 ∧ ∧  ∧ ∧  ∧ ∧  ∧ ∧  ∧ ∧  ∧ ∧  ∧ ∧  ∧ ∧
(*‘ω‘ *) (*‘ω‘ *)(*‘ω‘ *)(*‘ω‘ *) (*‘ω‘ *)(*‘ω‘ *)(*‘ω‘ *) (*‘ω‘ *)
 (   )  (   )  (   )  (   )  (   )  (   )  (   )  (   )
  v v    v v    v v    v v    v v    v v    v v    v v
   [0]      [1]     [2]      [3]      [4]     [5]      [6]      [7]
502497:2006/10/04(水) 20:10:38 ID:???
大変よく分かりました。すいませんでした。訊いたのが間違いでした。
503Name_Not_Found:2006/10/04(水) 20:14:40 ID:???
直接状とは?
504Name_Not_Found:2006/10/04(水) 20:32:41 ID:???
「直線状」をミスタイプしたまま変換したようです(泣)
505Name_Not_Found:2006/10/04(水) 21:05:43 ID:???
>>501 のセンスに嫉妬したw
506Name_Not_Found:2006/10/04(水) 22:33:19 ID:C1c1fObR
仕事でAjaxなアプリケーションを作ってるところなのですが、
XMLHttpRequestが不可解な挙動をします。

環境
・Internet Explorer 6.0
・Windows 2000/XP

現象
SSLを使って情報量の多いPOSTリクエストを行うと
XMLHttpRequestインスタンスのstatusプロパティに 12030 が代入されて
接続が終わってしまう。
情報量の少ないPOST、特にパラメータのないGETについては問題なし。

Googleで海外の情報まで検索したけど解決策は見つからず……
FireFoxでは再現しません。12030という数値はどうやら、Win32エラーコードの

ERROR_INTERNET_CONNECTION_ABORTED
The connection with the server has been reset or terminated, or an incompatible SSL protocol was encountered.
For example, WinHTTP version 5.1 does not support SSL2 unless the client specifically enables it.

というエラーコードらしい、ということまではわかったのですが……

案件の要件定義上、どうしてもここはSSLかつXMLHttpRequest経由でPOSTせざるを得なく、
今から仕様変更する時間もありません。

些細な情報でも良いので誰か助けてorz
507Name_Not_Found:2006/10/04(水) 22:40:01 ID:???
何回かに分けたら?
508Name_Not_Found:2006/10/04(水) 23:03:11 ID:???
IEなら XMLHttpRequest じゃなく ActiveXObject だろ?
509Name_Not_Found:2006/10/04(水) 23:38:44 ID:???
海外の情報を検索するのは当然だろ

後、あなたの調べた内容がそのまま回答ですので悪しからず
510Name_Not_Found:2006/10/04(水) 23:46:28 ID:rfmshvDN
VBScriptからJavaScriptへの書き換えを行いたいのですが、
VBScriptのSetステートメント(例 Set TheForm = Document.ValidForm)、
Constステートメント(例 Const a=1)をJavaScriptで書くとき
var TheForm = Document.ValidForm;
var a = 1;
でよいのでしょうか?
511Name_Not_Found:2006/10/04(水) 23:52:30 ID:HMQt5eXn
いろいろがんばったのですが解らなかったのでお願いします。

bodyの高さといいますか、長さを取得するにはどうしたら用意のでしょう?
見えてる部分や、ウィンドウの高さ、画面の高さなどは簡単に見つかったのですが、
全体の高さを取得できませんでした。

PHPで動的に書き出したページの長さによって動作を変えたいと思いまして…
スクロールさせないと見えない部分の長さも含めた画面の長さです。

お願いいたします。
512Name_Not_Found:2006/10/05(木) 00:39:19 ID:???
>>511
何を頑張ったのか聞いてみたいもんだね。offsetHeightとか見たこと
ないのかよ。ないのなら過去スレを探してもないんだね。そんな奴は
ここに来て欲しくないね。
>>510
何しろ洩れはVBScriptが分からないので。やりたいことを日本語で正確に
表現してくれたらJavaScriptでの書き方は教えられると思うけど。
JavaScriptのサンプルは見た方がいいよ。Documentとか大文字で書いてる
サンプルなんて1つもないだろ?なぜないかというとそれじゃ動かないから。
513Name_Not_Found:2006/10/05(木) 09:16:52 ID:UEaQ0bI+
質問です。
<form>
<input type="button" name="b1" value="test"
  onclick="alert(this.b1.value)">
</form>
で、thisはformオブジェクトを参照するはずですよね。だとしたら、なぜ
これはvalue値を返さないのでしょうか。
514Name_Not_Found:2006/10/05(木) 09:22:04 ID:???
this.value か this.form.b1.value だろうな
515Name_Not_Found:2006/10/05(木) 09:22:53 ID:???
いいえ、this はその要素自身を指します。
フォームの各要素内からその親のFORM要素を指したいときは this.form と書きます。
516Name_Not_Found:2006/10/05(木) 09:49:49 ID:???
>いいえ、this はその要素自身を指します。
だとしたら、おかしなSyntaxになりはしないか?
517Name_Not_Found:2006/10/05(木) 09:51:46 ID:???
? 例えば?
518Name_Not_Found:2006/10/05(木) 11:07:09 ID:???
thisは要素、formはオブジェクト。
だとすると、要素.オブジェクトの記法になりはしまいか?
519Name_Not_Found:2006/10/05(木) 11:14:32 ID:???
>>518
そんな見当違いな質問してないでまっとうな本で勉強した
方が速いと思うけど。オブジェクト指向言語のオブジェクト値
は普通「オブジェクトを指す参照値」であり、どのオブジェクト
のどのプロパティにも他のオブジェクトを指す参照値を入れられる。
フォーム部品オブジェクトのプロパティformにはその部品を入れて
あるフォームオブジェクを指す参照値が入っているというだけのこと。
520Name_Not_Found:2006/10/05(木) 11:46:28 ID:???
間違えてプログラム板で質問した所
こちらに誘導されてきました、何卒よろしくお願いします

すばらしく初歩的な質問です
□と△には任意の数字をformにキーボードで打ち込んで
□+△=□+△の答え
が出るjavaスクリプトってどうやって組めばいいんでしょう?
5時間考えても出来ません・・・

またぐぐったり本を読んだりしているのですが、(this.form)、(this.value)などthisがつくものが
いまいち理解できないで苦しんでいます、thisという風に表記した場合
その<script〜〜./script>までで(form)と表記されている全てが適用されるということなのでしょうか?
こちらの回答も宜しければお願いします
521Name_Not_Found:2006/10/05(木) 11:47:37 ID:???
と、思ったらうえにthisの質問が・・・
レス内容読んできます、申し訳ない
522Name_Not_Found:2006/10/05(木) 11:48:30 ID:???
>>518
何いってっかわかんねw
あー
> this はその要素自身を指します。
→ this はその要素自身のオブジェクト (ノード) を指します。
こう書かなきゃわからなかったってこと?
523Name_Not_Found:2006/10/05(木) 11:55:21 ID:???
thisを使わずに書けばいいんだよ
document.getElementById("")みたいに
そうすれば余計なことを考えずに済む
524Name_Not_Found:2006/10/05(木) 12:12:26 ID:???
>>523
いや、断る。そういう逃げがやがてprototypeでどうにもならぬ壁にぶつかる。
525Name_Not_Found:2006/10/05(木) 12:40:10 ID:???
>>523
そんなもん回避方法いくらでもあるだろうよ
526Name_Not_Found:2006/10/05(木) 13:01:45 ID:???
そうそうDOMを勉強しなはれや
527525:2006/10/05(木) 13:12:42 ID:???
間違えた >>524へのレスね
528Name_Not_Found:2006/10/05(木) 13:32:07 ID:???
applyやcallのあるJavaScriptで、
thisを使わずに書くのが正しいのか正しくないのかよくわからん
529Name_Not_Found:2006/10/05(木) 13:35:18 ID:LgK+EqjO
コンストラクタから生成したオブジェクトでメソッドを定義するとき
function x(z){
this.z=function(){alert('Hello')};}
o=new x();
o.x.onclick();
はアラートしません。どうすればよいですか?
530529:2006/10/05(木) 13:38:00 ID:LgK+EqjO
すいません。打ち間違えました。
× o.x.onclick();
○ o.z.onclick();
です。
531Name_Not_Found:2006/10/05(木) 13:38:40 ID:???
onclickはどっから出てきたんだw
532Name_Not_Found:2006/10/05(木) 13:43:49 ID:???
325 名前:名無しって何ですか?:2005/12/27(火) 07:14:19 ID:YevwbuuZ
       ________   
       /:.'`::::\/:::::\   
      /::            \
     /::.  /"""  """\ ヽ
     |::〉   ●"    ●" |  
   (⌒ヽ             |)
    ( __     ( ∩∩ )    |
      |  、_____  /   
      ヽ   \____/  /
       \        /
         \____/

         竹石 圭佑
      (1986〜 愛知県名古屋市)

在日中国人の両親を持つ為か、日本語のアクセントがおかしい時が多々ある。
小学生の時に万引きで補導されたらしく、その頃から既に歪んだ性格であった考えられる。

中学・高校時代…意中の女子には露骨にちょっかいを出して気を引こうとし、また、その時の言動は挙動不審で相手に好意があることがミエミエな為、非常に痛々しい。
でしゃばりで、なぜか偉そうな態度をとっていたが、不良学生相手にはビクビクしながら機嫌をとっていたという不可解な面も併せ持つ。
また特に自分より力の弱い女性教員や女子生徒等を格好の的としていたので、その様な人間には異常に高圧的な態度をとり、馬鹿にし、いつも幼稚な悪口や悪質な嫌がらせを考えて楽しんでいた。

相当な目立ちたがり屋で「地球は自分を中心に回ってる」という性格。しかし、何の能力・才能の欠片もなく、ヘラヘラしていただけなので精神が不安定だったとも考えられる。あだ名はダメ石(何をやってもダメなくせに口八丁なので)→デメ石(非常に出目金に似た顔なので)。

愛知県の底辺の大学に通ってるが、名古屋大学医学部を目指しているらしく、医学生になった自分を日々妄想している。
余談だが、KAT-TUNの田中聖をライバル視しているらしい。

※注 これは自分の知っている範囲の竹石圭佑の情報であり、全てではないと思われ。
533Name_Not_Found:2006/10/05(木) 13:59:32 ID:???
>>529
な、なんじゃこりゃー from 優作
534487:2006/10/05(木) 14:20:14 ID:Rn5v0mCB
>>490
>>>487
>その参考サイトの消えるのをやめればいいんでしょ。

「クリック取る」のは何とかできました。

すみませんが、「参考サイトの消えるのをやめる」方法を教えて下さい。
よろしく、お願いします。
535Name_Not_Found:2006/10/05(木) 14:29:54 ID:???
>>534
何言ってるの。自分で勉強しなよ。洩れだってそこ見たことも
ないし他人のためにコード読みたくないね。勉強してて分からない
ところがあれば相談に乗るけどね。
>>529
o.z();
とすればalertは出るだろうけどさ。なんでonclickとかが
登場するのかアンタの脳内が理解できない(したくもないけど)。
536Name_Not_Found:2006/10/05(木) 14:56:51 ID:???
>>512

offsetHeightは試したんですけど
bodyタグに設定したidのoffsetHeightを取得していたのがまずかったようです。
それだとclientHeight(innerHeight)と同じ値を取得するみたいです。

全部を<div id="main_div">で囲んで、
main_div.offsetHeightでいけました。

レスありがとう御座います。
537Name_Not_Found:2006/10/05(木) 16:36:37 ID:???
前スレで継承方法について少し話題になったけど、それに関して質問です。
applyを使って継承を実現しようとすると、素直な継承が出来なくなってしまって困っています。

var ClassA = function() {
this.message = function() { alert("this is ClassA"); };
};

var ClassB = function() {
ClassA.apply(this);
this.message = function() { /*なんとかここでClassAのmessageを呼びたい*/ };
};

例えば、
var ClassB = function() {
ClassA.apply(this);
var _message = this.message;
this.message = function() { _message(); };
};
とやれば解決できますが、複数のメソッドにわたって処理をするのが面倒です。
かといって最初に全てのプロパティのコピーを取っておく方法はいまいちですし…。

ClassB.prototype = new ClassA();
という継承の仕方では、クロージャを使ってthisを固定している関数で
thisがclassBを指してくれなくなります(ここら辺は前スレで書かれていました)。

どのように実装するのが良いのでしょうか。教えてください
538Name_Not_Found:2006/10/05(木) 17:03:31 ID:???
なんてゆうか、意図がわからんw
ClassB に this.message 書かなきゃいいじゃん、ってことではないの?
539Name_Not_Found:2006/10/05(木) 17:05:18 ID:???
>>537
var A = new ClassA();
this.message = function() { A.message.call(this); }
じゃ駄目?
540Name_Not_Found:2006/10/05(木) 17:14:59 ID:???
>>537
関数をオーバーライドしたいんです。
ClassAの関数はそのままに、さらに少し機能を追加したい訳です。
Javaでいうsuperですね

>>539
継承ですので、ClassAの他の関数はそのまま呼ばれるようにしたいのですよ。
ClassAにmessage以外にfooやらbarやらの関数があった場合、
(new ClassB()).foo() でClassAのfooを呼び出せるようにしたいのです。
541Name_Not_Found:2006/10/05(木) 17:35:47 ID:???
this.message = function(super){return function(){...super();...};}(this.message);
とかはどう?
542539:2006/10/05(木) 17:58:37 ID:???
>>540
どこまでしたいのかが分からないけど、それは頭にClassA.apply(this); つければいいんじゃないの?
543Name_Not_Found:2006/10/05(木) 19:50:38 ID:???
prototypeで継承すれば…といいたいけど、
prototypeの継承モデルはクロージャでインスタンスを参照する関数が書けないんだよね。
呼び出すほうが責任をもってbindしなければいけないのは面倒だ…
544Name_Not_Found:2006/10/05(木) 22:38:10 ID:u07gn/47
すいません、教えてください。
function Const(x, y){
this.x = x;
this.y = y;
return this;
}
でのようにthisを返すということは、何を意味しているのでしょうか。
545Name_Not_Found:2006/10/05(木) 22:43:24 ID:???
>>544
オブジェクトが返り血
546Name_Not_Found:2006/10/05(木) 22:52:50 ID:???
544、おかしくない?このコードだと実行時のthisを返すよね。

例えば、
function Const(x, y){
this.x = x;
this.y = y;
return this;
}
var f = Const(1,2);
var g = Const(3,4);
alert(f.x); // 3

これが想定した動作だというなら何も言うことはないが…
547544:2006/10/05(木) 23:02:13 ID:???
>>546
ありがとうございます。
ttp://www.tokumaru.org/JavaScript/constructor_and_method.htm
ここ読んでいたらこうしてthisを返すようにすると便利と書かれていたの
ですが、どういうことか分からなくなってしまったのでお聞きしました。
この点、ちょっと解説いただけますか?
548Name_Not_Found:2006/10/05(木) 23:19:25 ID:???
>>547
その文脈だと return this は至極普通だが、
俺はそのページ嫌いだから解説パス
549544:2006/10/06(金) 08:30:40 ID:???
あらあら。なんで嫌いなんですか?
550Name_Not_Found:2006/10/06(金) 08:47:49 ID:???
data:schemeって何じゃらほい?
551Name_Not_Found:2006/10/06(金) 09:40:55 ID:???
>>550
検索って知ってる?
552Name_Not_Found:2006/10/06(金) 09:43:53 ID:???
?るてっ知てっ索検
553Name_Not_Found:2006/10/06(金) 10:18:16 ID:???
var s='?るてっ知てっ索検’;
ReverseString(s);
Afo.protptype.gotoMoon=ReverseString;
554Name_Not_Found:2006/10/06(金) 13:06:22 ID:???
1.ここのような写真をクリックで拡大して見れる
スクリプトに関してなんですが
ttp://www.huddletogether.com/projects/lightbox2/
How to Use:というところは何を示しているのでしょうか?
この通りにすればそうなるということでしょうか?

2.それとこういうスクリプトというのは
他サーバーを介してこのように動くようになっているのでしょうか?
3.このようなスクリプト集など、本にして売ってたりするのでしょうか?
なんというカテゴリーで売られているのでしょうか?
自分でサーバーを持たずできるものの本などがありましたらご紹介
お願いします。よろしくお願い致します。
555Name_Not_Found:2006/10/06(金) 13:20:42 ID:???
>>554
1.そのサイトで聞け
2.スクリプトによる
3.自分で調べろ
556Name_Not_Found:2006/10/06(金) 13:29:46 ID:???
>>554
あんた前もこれ聞いてたでしょ。進歩ないよ。
557554:2006/10/06(金) 14:17:32 ID:???
ありがとうございます。
前って初心者スレにて誘導があり初めてきましたよ。
大体のわかる範囲でいいのでいいのでjavaを熟した方に
ご意見頂きたく思います。
558Name_Not_Found:2006/10/06(金) 14:24:03 ID:???
> javaを熟した

なんつーかもう、>>1くらい読もうぜ
ここまでひどいとあんたに答えるやつはこのスレにはいないんじゃないかな
559557:2006/10/06(金) 15:51:04 ID:???
>>558
ありがとうございました。
560Name_Not_Found:2006/10/06(金) 17:18:44 ID:???
Javaと教授は御法度ね
561Name_Not_Found:2006/10/06(金) 17:30:11 ID:???
もれは教授は別に気にしないけど。答えたくないヤシが
答えないのは自由だとは思うがね。言語の名前間違うのは
やっぱ許せないよ…
562Name_Not_Found:2006/10/06(金) 17:51:04 ID:???
JavaScriptでのObjectクラスについてなんですが、これを使うメリットって
なんですか?どのようなプロパティが準備されているのでしょうか?
563Name_Not_Found:2006/10/06(金) 18:29:30 ID:???
>>562
constructor
prototype
valueOf
unwatch
watch

まあ、使いたくないのなら使わなければいい
564Name_Not_Found:2006/10/06(金) 18:31:36 ID:fS4U/qRm
o={}でカラのオブジェクトはできませんか?
565Name_Not_Found:2006/10/06(金) 18:35:05 ID:???
出来るからやってみれ。
566Name_Not_Found:2006/10/06(金) 18:40:50 ID:???
>>564
__proto__ があれば、 o.__proto__ = null とか。
無ければ、出来ないが、for in で undefined を割り当てて誤魔化すとかかなw
567Name_Not_Found:2006/10/06(金) 18:48:04 ID:???
>>566
ビルトインオブジェクトにはNoEnum属性がついているから
for...inでは引っかからないはずだが

Objectのprototypeに何かを代入するような馬鹿相手には
isOwnPropertyとかを使うしかないのだろうが、
Safariではなぜかサポートされてなかったり、Operaではバグったりする(過去ログ参照)
568564:2006/10/06(金) 18:48:52 ID:???
>>566
おお、ありがとうござんす。と思ったんですが、うまく行きません。
o={}
o.prototype.z=function(){...}
で、コンストラクタをfunctionからだと行くんですがo={}だとエラーです。
どう書けば行きますか?<nullとかやってみましたがだめっす
569Java:2006/10/06(金) 18:54:01 ID:???
>>561
おまい、どんな境界線なんだよw
570Name_Not_Found:2006/10/06(金) 18:58:42 ID:???
>>568
まずはちゃんと意思疎通できる言葉を書き込もうな!

意味わからん
571Name_Not_Found:2006/10/06(金) 18:59:29 ID:???
Javaと書かれてむかつくのは、純粋に1を読んでないことが明白だからだな
572Name_Not_Found:2006/10/06(金) 19:15:37 ID:???
>>567
hasOwnPropertyを間違えるやつに言われても困るなあw
for in で引っかからなきゃ、きめうちすりゃいいし、そもそも、
「出来ない」、「ごまかし」と書いただろ?
573Name_Not_Found:2006/10/06(金) 19:34:55 ID:???
>>568
分かんねえよ。書き込む前に保護者の方に推敲してもらえよ。
574Name_Not_Found:2006/10/06(金) 19:42:07 ID:???
>>572
ごまかしきれてません><
575568:2006/10/06(金) 20:32:47 ID:???
え?だめすか?すごく単純なことだと思うんですが?
えっとカラのオブジェクトoを定義して、oにzを追加したいです。で、
o={}
o.prototype.z=function(){...}
こうやると、oはNullかオブジェクトではない、と叱られます。
どうやったら追加できますか?
これでどうでしょうか?
576Name_Not_Found:2006/10/06(金) 21:20:14 ID:???
>>575
日本語を勉強しろと言っているんだが
577568:2006/10/06(金) 21:43:33 ID:???
どこがわかりませんか?ご説明いたしますので
578Name_Not_Found:2006/10/06(金) 22:14:42 ID:???
なぜ Object を作りたくないのか?
579Name_Not_Found:2006/10/06(金) 23:59:51 ID:???
>>575
o.prototypeがNullなんでしょ。エラーも正確に記述
できない奴はどっかよそへ逝ってくれよ。

そもそもprototypeプロパティを設定して意味がある
のはコンストラクタになるオブジェクト(つまり関数)
だけだよ。地道にサイ本でも呼んで勉強すべきだな。
580575:2006/10/07(土) 00:40:59 ID:???
>>579
解決です。ありがとうございました。ご親切にどうも。
581Name_Not_Found:2006/10/07(土) 12:08:31 ID:oT/5EJep
こんにちは。連休中にJavaScriptを何とかマスターしたいと考えています。
設計思想の根幹部分でコードを見たときちょっと面くらいました。
要するにこれはオブジェクト指向というよりprototypeですね。Javaな私か
らすると、
public class SS {
public int c = 0;
public int ac = 0;
public SS () {
}
あたりの移行からして不気味です。しかし昨夜受けたレクチャでは
JavaScriptも2.0からはクラス指向言語へ鞍替えを図るとのことでし
た。この辺の事情に詳しい方、ちょっとコメントいただけませんか。
582Name_Not_Found:2006/10/07(土) 12:54:54 ID:???
こういうループを作りたいのですが、どうすればいいのでしょう?
0,1,2,3,2,1,0,1,2,3,2,1,0
583Name_Not_Found:2006/10/07(土) 13:12:30 ID:???
>>581
JavaScript 2.0案が公開されてから何年もたつが、ブラウザ上の
はECMA-262のままだけど。Javaの考え方のままJSのコードを書こう
なんて思わない方がいいと思うよ。「プロトタイプベースの
オブジェクト指向」は古くから存在してるんでね。アンタが
オブジェクト指向と呼びたくないならご自由に。
>>582 ホレ。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
</head><body>
<p><script type="text/javascript">
for(var i = 3; i < 1000; ++i)
document.write(' ' + Math.abs(i % 6 - 3));
</script></p>
</body></html>
584Name_Not_Found:2006/10/07(土) 17:27:04 ID:???
>>581
2.0を追いかけている人はム板のECMAScriptにいる。
585Name_Not_Found:2006/10/07(土) 17:45:59 ID:???
2.0って規格が3つある奴だよね?MSとNetscapeとFirefoxと。

普及するはずないじゃん…
586Name_Not_Found:2006/10/07(土) 17:56:18 ID:???
apacheとjavascriptの連携ができるか教えてください。
ブラウザのツールバー(googleとか)があるかどうかを判断して処理をしたいのですが、
javascriptでツールバーがついたブラウザかどうかの情報を取ることって可能ですか?

apacheのログにはツールバーの有無が出ているので、その変数が上手く取ってこれれば…
と思ったのですけど、どうにかできますでしょうか?
587Name_Not_Found:2006/10/07(土) 17:57:05 ID:???
>>585
ブラウザアドレスで実行できる262-3に比べると、そういう結論になるのもしかたないが、
既に、AS2、AS3、JScript.netらは十分普及して使われてるよ。
JavaScript2.0も、XULであっという間に普及するはずだよ。
588Name_Not_Found:2006/10/07(土) 18:09:07 ID:???
>>587
> JavaScript2.0も、XULであっという間に普及するはずだよ。
希望的観測乙。XULって何年前の技術ですか?全く使われていません。
ちなみにRSSですら世の中では「普及していない」って捉えられてるよ
ttp://blogs.itmedia.co.jp/knowledge/2006/08/rss_b5f1.html

> JScript.netらは十分普及して使われてるよ。
これだけは自信を持って嘘だといえる。C#使える環境で誰が使うんだよw


あくまで個人的には、言語なんてなんでもいいと思う。ECMA262-3rdはそれ自体で十分強力。
589Name_Not_Found:2006/10/07(土) 18:11:45 ID:???
>>588を読んでXULでgoogle検索してみた
引っかかるページ、いまだに一番上はあそこなのな…
590Name_Not_Found:2006/10/07(土) 18:13:29 ID:???
理想は立派なんだけど、既にHTMLがUI記述言語として成立してしまったからなぁ
CSSスレの人には怒られそうだけど、セマンティクスウェブは理想論だよね
591Name_Not_Found:2006/10/07(土) 21:19:49 ID:???
マウスカーソルの座標の取得方法は?

もちろん、onmousemove のイベントハンドラで、、というのは知ってますが、
そーじゃなく、
(x,y) = GetMousePos();
みたいな感じで、いきなり取得したいんですよ。
と、ゆーのも、ほかのスクリプトがイベントハンドラを握っちゃってるんで、、、。
何とかしてください。
592Name_Not_Found:2006/10/07(土) 21:39:16 ID:???
>>591
> 何とかしてください。
それはその、ほかのスクリプト、とやらに言ってくれw
593Name_Not_Found:2006/10/07(土) 22:15:38 ID:???
var x,y;
onmousemove = function(){
x = event.x;
y = event.y;
}
594Name_Not_Found:2006/10/07(土) 22:37:53 ID:???
>>591
イベントハンドラは「追加」もできる。つかテンプレに
あるよな。よく嫁。
595581:2006/10/07(土) 22:54:34 ID:???
みなさん、ありがとうございました。参考になりました。
596Name_Not_Found:2006/10/08(日) 05:59:42 ID:???
prototypeに関するスレッドってありませんか?
597Name_Not_Found:2006/10/08(日) 06:25:14 ID:???
{_proto: プロトタイプベース・オブジェクト指向};
http://pc8.2ch.net/test/read.cgi/tech/1109948927/
598Name_Not_Found:2006/10/08(日) 20:37:54 ID:SO5vTk9x
クラスをインスタンスするとき例えば
voo=new foo()が普通ですよね、voo=new fooというのも見るのですが
どうちがうんですか。
599Name_Not_Found:2006/10/08(日) 21:10:47 ID:???
>>598
とりあえずクラスとかインスタンスとかいう言葉はまず忘れたほうがいい。
600Name_Not_Found:2006/10/08(日) 21:32:49 ID:???
ちなみに インスタンス化 が正しい
601Name_Not_Found:2006/10/08(日) 21:47:50 ID:???
>>598
その2つは同じっしょ。洩れは「( )」つけるけどね、その方が
分かりやすいと思う。
602598:2006/10/08(日) 22:18:47 ID:???
>>601 有難うございました。
603Name_Not_Found:2006/10/08(日) 22:31:56 ID:???
>>600
否。「実現する」とはいうが「実現化」するとはいわない。
604Name_Not_Found:2006/10/08(日) 22:37:16 ID:???
>>603
実体化するとは言うが実体するなんていわねーよ。
で、インスタンス化というのはこっちのパターン。
605603:2006/10/08(日) 22:41:47 ID:???
>>604
うん。そうだな。ごめん。
606Name_Not_Found:2006/10/09(月) 08:15:25 ID:???
ね、みんな、Array.prototype.mapって使ってる?将来IEの採用どうなの?
607Name_Not_Found:2006/10/09(月) 08:48:52 ID:???
先頭にこういうのを入れておけばいいんでないの?
if(!array.prototype.map)
array.prototype.map = function(f) {
var a = new Array(this.length);
for(var i = 0; i < this.length; ++i) a[i] = f(this[i]);
return a;
};
608Name_Not_Found:2006/10/09(月) 11:44:25 ID:???
>>597
サンクス。でも、スレの流れがちょっと違う雰囲気だった・・・
609Name_Not_Found:2006/10/09(月) 12:11:44 ID:???
>>607
組み込みオブジェクトのprototype汚染するくらいならグローバル関数作れよw

>>608
お前、prototypeとprototype.jsとを混同してるんじゃないか?
610Name_Not_Found:2006/10/09(月) 13:14:31 ID:???
prototype.js は失敗作
方向性から失敗しているからもう修正はきかない

prototypeベースの言語で一番やってはいけない拡張をやってしまった罪は重い
611608:2006/10/09(月) 13:17:17 ID:???
え、ちがうんですか?prototype.jsのご説明お願いします。
612Name_Not_Found:2006/10/09(月) 13:26:59 ID:???
prototype.jsに関するスレッドってありませんか?
613Name_Not_Found:2006/10/09(月) 13:28:51 ID:???
>>612
ないね。作りたいと思うヤシがいなかったみたいでね。
あんた立ててみたら。漏れは興味ないから行かんけど。
614Name_Not_Found:2006/10/09(月) 13:44:03 ID:???
質問させてください。
innerHTMLで<div>内にフォーム部品を作って、submit(PHPへ)しています。
ところが、IE以外のブラウザで送るとサーバ側の取得した値が空になります。
IE以外では↓みたいな書き方はまずいのでしょうか?
innerHTML = '<input type="text" name="test">';
表示までは他のブラウザでも問題なくできています。
615Name_Not_Found:2006/10/09(月) 13:48:20 ID:???
組み込みオブジェクトの拡張を嫌う人って
名前の衝突が嫌なの?for-inで列挙されるのが嫌なの?
もし後者だとしたら、DontEnum属性を自由につけられるようになれば
別に組み込みオブジェクトを拡張してもいいかと思うようになるの?
616Name_Not_Found:2006/10/09(月) 13:56:30 ID:???
prototype.jsだとすごく簡単になんでもできるってホントですか?
617Name_Not_Found:2006/10/09(月) 13:58:44 ID:???
2秒でドラクエ
618Name_Not_Found:2006/10/09(月) 14:02:32 ID:???
>>615
両方嫌だな。DontEnumではなくてしっかりした名前空間を用意すべきだ
DontEnumを自由につけるのは明らかに間違った仕様だと思う
619Name_Not_Found:2006/10/09(月) 14:10:17 ID:???
過去にJavascriptライブラリに関するスレって立ったこと無いの?
620Name_Not_Found:2006/10/09(月) 14:16:21 ID:???
無いんじゃないかな?
621Name_Not_Found:2006/10/09(月) 14:17:21 ID:???
window.js$prototype = { utilitifunctions:function(){} };
prototype.jsもこんな形にすればいいのになw
622Name_Not_Found:2006/10/09(月) 14:40:44 ID:???
XREAの鯖に郵便番号データベースを構築して
さらにRESTでJSONを出力するCGIを設置しますた。
ローカルのHTMLではフォームに数字を入れるとリアルタイムに住所が表示されます。

ローカルメインPCのHTMLでは期待通りの動作になったのですが、
LAN環境のPCからネットワーク経由でそのHTMLにアクセスしても動作しません。

これはクロスドメイン制限ですよね?JavaScript駆使した回避方法はありますでしょうか?
623Name_Not_Found:2006/10/09(月) 14:49:09 ID:???
>>622
ある。

<script src="http://theURLofYourCgi"></script>

もしくは
var script = document.createElement("script");
script.src = "http://theURLofYourCgi";
document.getElementsByTagName("head")[0].appendChild(script);

そして http://theURLofYourCgi の出力の最後にkickerをつければOK
JSONではなくなるが、JSONにこだわる理由もなさそうだし
624Name_Not_Found:2006/10/09(月) 14:50:18 ID:???
>>622
JSONPでググってみ。
625623:2006/10/09(月) 14:53:30 ID:???
>>624
おお、いつの間にかそんな規格が出来てたのか。素晴らしい。
626Name_Not_Found:2006/10/09(月) 14:55:17 ID:???
>>621
そのライブラリ使用者が書くコードに「$」文字が現れることになる。
その文字は、仕様において、機械的なコード生成に取って置く、
という趣旨の注意がされているから、考え無しに使う物ではない。
具体的には、グローバルな識別子、またはそこから「.」あるいは「[]」で
単純に辿れるプロパティとメソッドに使うのは控えた方が良いということ。
逆に、ライブラリ使用者が触れない(触りにくい)部分で、
常にHTMLのSRC属性などで外部読み込みされると見込まれる場合は、
お好きにどうぞ。
627Name_Not_Found:2006/10/09(月) 15:03:23 ID:???
>>607
1. 大文字小文字
2. オプション引数がない
3. そもそも、Arrayは、インデックスを飛ばす場合があり、
  JavaScript 1.6 では、その場合の処理も決めている。

これらの点で、それは、組み込みのArray#mapと、かけ離れている。
遠慮なく言うと、それを使われたら、いい迷惑だろう。

特に上記3をきちんと考慮してある有名ライブラリは存在しないから注意が必要。
安易な気持ちとショボいスキルで、組み込みメソッドと同じ名前のメソッドを自作するべきではない。
628Name_Not_Found:2006/10/09(月) 15:07:42 ID:???
>>626
prototypeの$関数への皮肉のつもりだったんだけど
629Name_Not_Found:2006/10/09(月) 15:08:58 ID:???
>>627
JavaScript1.6とかどうとか言う前に、
ECMA262-3rdでしっかりと定まってますがな
ブラウザが準拠しているかどうかは知らないけど
630Name_Not_Found:2006/10/09(月) 15:35:10 ID:???
>>610
わかりきったことを何を今更
631Name_Not_Found:2006/10/09(月) 15:47:43 ID:???
じゃあ結局、どのライブラリがいいの?
mochi?dojo?
632Name_Not_Found:2006/10/09(月) 15:53:47 ID:???
どのライブラリがいいとか、そういう話ではなくて、
prototype.js が既存言語の本来の性能を奪ってしまうダメなライブラリであり、
それは主に組み込みのprototype拡張による弊害であるという話。

C言語で何かのライブラリに
#define long short
とか定義されているのが直感的イメージとしては近いだろうね
633Name_Not_Found:2006/10/09(月) 15:58:02 ID:???
prototype.jsの発想は理解できるんだけど、
設計した人は絶対にprototypeベースのオブジェクト指向言語を知らない人だろうね。
prototypeベースの言語に一般的に指摘されている問題点が見事に体現されてるからなぁ。
634Name_Not_Found:2006/10/09(月) 18:31:32 ID:???
prototype.jsのサイズってどのくらい?
635Name_Not_Found:2006/10/09(月) 19:23:06 ID:???
47KBくらい
636Name_Not_Found:2006/10/09(月) 22:25:44 ID:???
>>631
YUI 使ってるけど、良いよ。
637Name_Not_Found:2006/10/09(月) 23:18:28 ID:???
ライブラリなんて自分で作ればいいじゃん。人の下手なコード読むのは辛い。
638Name_Not_Found:2006/10/09(月) 23:29:40 ID:???
>>636
試してみる。
>>637
公開してみたら?
639Name_Not_Found:2006/10/09(月) 23:38:51 ID:???
>>638
人のコードを読むのが辛いと思ってるのに、なんで自分から公開して人を苦しませねばならんのだよ
640Name_Not_Found:2006/10/10(火) 00:08:43 ID:???
>>632
それはArray#mapとかのJS1.6でも定義されているメソッドに限定した話?
それともFunction#bindとかも含む?

擬似的な名前空間として接頭辞を使う(Array#myMapとかのように)のはその解決策になりうる?
641Name_Not_Found:2006/10/10(火) 00:08:58 ID:???
YUIはデカイので導入を躊躇してしまいます。
642Name_Not_Found:2006/10/10(火) 06:59:45 ID:???
>>640
全て含んだ話だと思うよ
ECMAScriptのprototypeの一番の問題は、きちんとした名前空間が無いため
勝手にビルトインオブジェクトのprototypeを拡張されると、既存のプログラムが動かなくなること。
特に顕著なのがfor...inで舐めるプログラムを書かれているとき、意図しないプロパティが登場する。

ECMAScriptのArrayはインデックスが飛んでいることを許しているので、
var a = new Array();
a[123456] = 1;
というプログラムが普通に書けるのだけれど、もしArray#myMapというprototype定義があれば
for(var index in a) { alert(index); }
というプログラムで本来の 123456 以外に myMap という文字列も取得してしまう。
for(var i=0; i<a.length; i++) なんてプログラムを書いたら、無駄な123455回の走査が発生するため、
Arrayのプロトタイプを拡張されるとインデックスが飛んでいる配列が(普通に)使えなくなる。
これが632の言う言語の本来の性能を奪ってしまう、ということだろうと思う。

あくまで絶対に自分しか使わないし、他の人のライブラリもインクルードしない!というのであれば
もちろん問題の無い話ではある。prototype.jsはそういうスタンスだね
643noname.pas:2006/10/10(火) 11:06:03 ID:trJFFZQE
ひとつのHTMLファイルにscriptタグを2個に分けて書かなければいけないという
状況に陥っているのですが、<script>のなかにある変数を別の<script>で
参照できるでしょうか?


<script>
a = 1;
</script>

<script>
alert(a) ←うごかないみたい
</script>


644Name_Not_Found:2006/10/10(火) 11:07:15 ID:???
いや動くって。
645noname.pas:2006/10/10(火) 11:11:59 ID:trJFFZQE
あれ、ほんとだ。
ということは、<script>〜</script>は変数のスコープに関係ないのでしょうか?

すでにあるプロトタイプに埋め込む形でスクリプトを書かなければいけないので、
ほかの部分が邪魔をしているのかもしれません。

どうしたものか。


646Name_Not_Found:2006/10/10(火) 11:23:00 ID:???
関係ない、
っていうか、function 外設定した変数 (や関数) は全て window オブジェクトのプロパティになるよ。
647Name_Not_Found:2006/10/10(火) 11:25:38 ID:???
>>641
YUIは、別にでかくは無いと思うが。
648Name_Not_Found:2006/10/10(火) 11:49:38 ID:???
YahooUIのカレンダーのサンプルを触ってみたけど
Safari対応と謳っているのに、実際には機能しなかったので
品質の程度を疑問視してしまい、それ以来、検討する気がしない。
649Name_Not_Found:2006/10/10(火) 11:55:19 ID:???
ちゃんと機能してたぞ
お前がなんかまちがってただけだろ
無能な奴はこれだからな
650586:2006/10/10(火) 15:34:07 ID:???
埋もれてしまったので再度なのですが、>>586どなたかわかりますか?
レス付かないってことはムリと考えた方が良い?
651Name_Not_Found:2006/10/10(火) 15:45:11 ID:???
Apacheとの連携ということであれば相当無茶をしなければいけないと思う。
しかしGoogle Toolbarがあるかどうかだけなら判断できるはず。
IEならActiveXObjectを使って判断するんじゃないかな?
652Name_Not_Found:2006/10/10(火) 16:04:58 ID:???
>>649
>ちゃんと機能してたぞ

それ、いつの時点の話だよ。
少なくとも2月の公開時点では
複数月表示でバグがあったまま公開されたのは確か。
653Name_Not_Found:2006/10/10(火) 18:21:47 ID:???
最初に航海された時だよ

自分ができないと、なんでもバグ
無能宣言ですか?
654Name_Not_Found:2006/10/10(火) 18:37:25 ID:???
自分の環境でOKなら、すべて無問題
無謀宣言ですか?
655Name_Not_Found:2006/10/10(火) 18:42:15 ID:???
いや。友達もいないオタクなあんたなら、それがお似合いだ。
656Name_Not_Found:2006/10/10(火) 20:09:39 ID:???

やっぱり、JavaScriptライブラリのスレ、必要じゃねーの?
こういう奴ら排除するためにはさ。
657Name_Not_Found:2006/10/10(火) 20:10:36 ID:???
立てるのは自由だと思う
658Name_Not_Found:2006/10/10(火) 20:12:07 ID:???
そいつらが素直に新スレに逝ってくれればいいのだがww
659Name_Not_Found:2006/10/10(火) 20:26:24 ID:???
* このスレは、ライブラリをフルスクラッチで作れる者が回答するスレ。
* ライブラリスレは、ライブラリを使いなれた者が回答するスレ。

という棲み分けが明記され、守られるなら、新スレを歓迎しないこともない。
660Name_Not_Found:2006/10/10(火) 20:33:55 ID:???
ふるすくらっち?
661Name_Not_Found:2006/10/10(火) 21:04:42 ID:???
フルスクラッチが理解できないレベルの人もこのスレには多いだろうな
662Name_Not_Found:2006/10/10(火) 21:11:48 ID:???
ライブラリ厨
言語厨
663Name_Not_Found:2006/10/10(火) 21:32:25 ID:???
それでいいじゃん。棲み分けられると思うよ。洩れは言語厨
なのでライブラリに興味ないし。
664Name_Not_Found:2006/10/10(火) 21:41:02 ID:???
ライブラリを使わなければ出来ないようなことってまだないから、
俺もこのスレに居続けるんだろうな

結局こちらのスレでしか質問の回答が受け入れられない、ということになりかねないね
665Name_Not_Found:2006/10/10(火) 22:27:49 ID:???
無能がここで情報求めても無能だから結局使いこなせないと
666Name_Not_Found:2006/10/10(火) 22:40:34 ID:???
汎用ライブラリで大きいとこある?
667Name_Not_Found:2006/10/10(火) 22:45:39 ID:???
だからYahoo UI使えと何度言えば..
668Name_Not_Found:2006/10/11(水) 05:35:01 ID:???
>>667
Thx a lot :)
669Name_Not_Found:2006/10/11(水) 09:54:56 ID:???
ECMA262を読んでて思うんだけど、この規格説明文ってcase sensitiveじゃない
よね。コードが「p」でも段階的処理説明では「P」になってたりして。
どういうこと?
670Name_Not_Found:2006/10/11(水) 10:10:25 ID:???
>>669
どこだよ
671Name_Not_Found:2006/10/11(水) 11:50:55 ID:???
function f(){this.name=a}
function f.prototype.g() {....}
という書き方はIE以外では使えませんか?
672Name_Not_Found:2006/10/11(水) 12:40:48 ID:???
IE6だと、マウスでボタン押下中にdisabledが書き換えられると固まるんですが、回避する方法を教えてください。
673Name_Not_Found:2006/10/11(水) 12:59:25 ID:???
>>672
ふーん聞いたことないけど、押し下げ中かどうかを常に
記録しておき、押し下げ中は書き換えないようにするとか?
674672:2006/10/11(水) 13:04:58 ID:???
実証コード
<input type="button" value="長押し" id="myBtn" onmousedown="setTimeout(function(){document.getElementById('myBtn').disabled=true},500)">
<input type="button" value="押して離せ" id="myBtn2" onmouseup="document.getElementById('myBtn2').disabled=true">

Ajaxの中止ボタンですが、普段はdisabled状態で、ロード中だけ押せる状態に戻します。
ロード中に中止ボタンを押しっぱなしにし、ロードが完了して中止ボタンをdisabledにしてしまうとフリーズするわけです。
675Name_Not_Found:2006/10/11(水) 13:17:47 ID:???
>>674 Ajax? それが大切なことだろ。早く家ボケ。
676Name_Not_Found:2006/10/11(水) 13:24:09 ID:K78UrZx2
質問です。
.toSource()のようなものをIE6で実装する方法はありませんか?
677Name_Not_Found:2006/10/11(水) 13:27:47 ID:???
質問です
678Name_Not_Found:2006/10/11(水) 13:28:46 ID:???
はい、なんでしょう
679Name_Not_Found:2006/10/11(水) 15:12:28 ID:???
>>677 :Name_Not_Found:2006/10/11(水) 13:27:47 ID:???
>>678 :Name_Not_Found:2006/10/11(水) 13:28:46 ID:???

自演はよせ。スレのムダだ。残り321レスは有意義にしたい。
680Name_Not_Found:2006/10/11(水) 15:31:57 ID:???
>>674
onmouseupで即disableするとかいう危ういことはやめなよ。
onmouseupでsetTimeoutを設定して、100ミリ秒後に
disableするとかに直したらどうかな。
681Name_Not_Found:2006/10/11(水) 15:33:22 ID:???
>>674
<html>
<head>
<title></title>
<script type="text/javascript">
</script>
</head>
<body>
<input id="orz2" type="button" value="長押し" disabled="true" style="position:absolute;display:none"/>
<input type="button" value="長押し" onmousedown="setTimeout(function(){document.getElementById('orz2').style.display=''},500)"/>
<input type="button" value="押して離せ" id="orz4" disabled="true" style="position:absolute;display:none"/>
<input type="button" value="押して離せ" onmouseup="document.getElementById('orz4').style.display=''"/>
</body>
</html>
682Name_Not_Found:2006/10/11(水) 16:02:03 ID:???
ttp://www.access-webconsulting.com/MetaGen.asp
このサイトのような、〜自動作成サイトをJavaを利用して作りたいのですが、
その方法を教えてください。
683Name_Not_Found:2006/10/11(水) 16:13:51 ID:???
>>682
ここはJavaScriptスレです。JAVAのことはJAVAで聞いてください。
http://pc8.2ch.net/test/read.cgi/tech/1159700963/
684Name_Not_Found:2006/10/12(木) 00:40:57 ID:???
小数点第3位で繰り上げしたいのですが、指定した桁数で切り上げる
方法はありますか?
685Name_Not_Found:2006/10/12(木) 00:52:54 ID:???
あります
686Name_Not_Found:2006/10/12(木) 00:54:14 ID:???
という定型レスを返すのも飽きたので実装方法をば。

切り上げる関数(元の数字×100)/100
687Name_Not_Found:2006/10/12(木) 01:00:42 ID:???
ありー^^
688Name_Not_Found:2006/10/12(木) 01:10:51 ID:???
あれ、できませんでした。変わらず。。
689Name_Not_Found:2006/10/12(木) 01:22:14 ID:???
Math.abs(n*100)/100じゃね?
690Name_Not_Found:2006/10/12(木) 01:42:06 ID:???
>>688 お前どんなコード書いたんだよw
>>689 絶対値とってどうするんだよw
691Name_Not_Found:2006/10/12(木) 09:10:02 ID:9XkSuOfO
解説サイトでよく
js> b = new Date();
のように書いてあるのを見ますが、「js>」というのはどういう意味ですか。
692Name_Not_Found:2006/10/12(木) 09:20:12 ID:???
>>691
JavaScriptのコードを打ち込んですぐ実行させるような
ヤツで出て来るプロンプトでしょ。DOSの A> みたいな(洩れって古い!)
693Name_Not_Found:2006/10/12(木) 12:50:14 ID:???
>>692
(そしてキモイ!)
694Name_Not_Found:2006/10/12(木) 13:36:41 ID:???
米マイクロソフト(MS)は、パソコン向け基本ソ
フト(OS)「ウィンドウズ」やビジネス統合ソフ
ト「オフィス」に計10件に上るセキュリティー上
の弱点が確認されたとして、修正プログラムの配布
を同社サイトで始めた。10件のうち6件は4段階
で最も深刻度が高い「緊急」に分類され、放置する
と、インターネット経由で侵入したハッカーにパソ
コン内の情報を読み取られる恐れもあるという。緊
急度の弱点は、ウィンドウズを構成するインターネ
ット閲覧ソフト「インターネット・エクスプローラ
ー」などで見つかった。
695Name_Not_Found:2006/10/12(木) 14:18:03 ID:8fQAUWV6
一連のスクリプトの中で変数や関数名が重複していたとしても、上から
実行する分には問題ありませんか?
696Name_Not_Found:2006/10/12(木) 14:26:38 ID:???
上?飛行機の中?
697Name_Not_Found:2006/10/12(木) 14:54:15 ID:???
>>695
問題大ありだと思うがね。
698Name_Not_Found:2006/10/12(木) 15:48:33 ID:???
                                 .
                                 ..゙'':':lll;i,_
                                    ..゙'lli,
                                     .l'!
                                      l.l
                                      l,|
                                      ''''lll,,_
                                        .'':l;,_
                                         .'ll.
                                    .,,,i;;;lll,,;;;''i''゙゙'''''ll;ii,,,,
                                    ll;;;::;iii,_..:'l,.!.i .:'..,;,.lll,lli.
                              ill';i  .,,i:'''''.'l''l;i'l!,'ll. ''ll!'''.'' ..`il'il:i:;,,
                              'l|'llli,,,ill,,,,_ . .','lll,llli.il'゙.,,,,..i.:::'''゙  .''lll;i.iiiiiii,,,,,,,,,,_
                              .l, .ll.'゙ ....'llli,,_,,,,lllil゙ .゙''''゙゙゙           ...゙'''''llli,.,_
                              'l.i'゙_ .,.,il'il.l!''゙゙ ,''|                  .''lli,
                              ,lilll;liil''゙ 'l,.  ..:l,,     ._             .li|
                        ,llll;,,,_   .ll'll''`.':i. .,.:'illl! ,l! .,,,,illllll'':ll!             ''
                        .l.l!..''iil'llli.,,,lll|   ..l,'゙` l!l゙ .il'iilll''',,.::'゙  '!'!
699Name_Not_Found:2006/10/12(木) 15:49:07 ID:???
                  __      |.|  .゙'::..,,'l!゙   ,|,...:':i,.゙''''''''''''゙    .'l.'!
                ,illl''''''ii'',''''':;;;i.:i!.l::::.ii.,,_.'lllll;il!:ii,,..:'lll;l. l!        .l,,l
               ,i;'il゙   ..,,.::'':llllll,,,,__ ...:..''lll',,'i'':lll!''l..|''ii,,l!...i:::'''';;lllll'i;i,  ..l'|
              ,,;lll'   .,.:':'' ., .,':''l.l',lllli,,.  l!'' ..'i,.,,l'  ..゙'''::::::''゙  .'llll_  l'|
             .,llli'゙  .,ll::i,i,,.,' '.':i _,,;ll'''l':l! .,,,l|iiilll'..,il゙          .lllli, .'li_
            .,illil'   .,l'  ..:.''llllii,,,,.,:.lli: .,ill'llll.......::'''           ..'llll_.゙'lliii.,,,.
          .,,,;ll''゙.゙'!  .:ll,,,',:: .: ...'';ll':i,,.' ..,l'l'´                .'lll'   ..
        .,,,;lll''゙      |,.''llli,,,,  .` .,,,.::'i;'l!                  ..'ll,
      _,,,lli:'゙        .'l'!ii,,,,,゙'''lllli:l''.゙ .,lli!                   'il_
  '''''''''llll'''''゙           .゙''''゙゙゙゙゙    .,ll'l'                    .lll_
                         .,ll'l!                     .'lli,_
                        ..'lill!                      .''''':llii
                        ,lll゙l|                        .
                       .,ll!
                       .ili!
                      .:,l,l!
                     ,,ll'゙
                    .,,,ll'゙
                  ..i;l'''
700Name_Not_Found:2006/10/12(木) 17:35:35 ID:???
tableのtdの背景色を変えたいんだけど、

<td onMouseOver="this.style.backgroudColor = 'white';">

じゃない?
701Name_Not_Found:2006/10/12(木) 17:38:53 ID:???
うん
702Name_Not_Found:2006/10/12(木) 17:54:10 ID:???
おしえて
703Name_Not_Found:2006/10/12(木) 18:00:48 ID:???
tdにonmouseoverがあるかどうかはチェックしたんだろうな
704Name_Not_Found:2006/10/12(木) 18:44:37 ID:???
[ backgroud ] に誰か突っ込めよw
705Name_Not_Found:2006/10/12(木) 18:54:19 ID:???
そこかよw
706Name_Not_Found:2006/10/12(木) 19:27:24 ID:???
以下のようなbookmarkletをUserJSとして、ブラウザでどのようなページを開いた場合でも
常に「おはよう」が「こんにちは」に書き換わるようにしたいと思っているのですが、
このbookmarkletの内容をきちんとしたJavaScriptとして記述する方法がわからず困っております。

javascript:document.body.innerHTML=document.body.innerHTML.replace(/おはよう/g,'こんにちは');focus();

自力で書いてみたのですが能力不足のようで、やはり動いてくれません。
window.addEventListener('load',
function (){
document.body.innerHTML=document.body.innerHTML.replace(/おはよう/g,'こんにちは');focus();
}
,false);
どこをどのように記述すればよいのでしょう、どなたか御教授下さい。
707Name_Not_Found:2006/10/12(木) 19:33:11 ID:???
>>706
過去レスを読んでないことがわかるNGワード:ご教授

それと、ブックマークレットスレで聞いたほうがいい
708Name_Not_Found:2006/10/12(木) 20:13:20 ID:???
何そのいちいちドキュメント全書き換えさせる傍迷惑なUserJSwww
709Name_Not_Found:2006/10/12(木) 20:26:30 ID:???
>>706
706の環境(使ってるブラウザ)は?
それによって回答も変わる

>>708
書き換えるのは>>706の環境でだけだから迷惑も何も無いだろ
710706:2006/10/12(木) 20:44:45 ID:???
>>707
そうでありますか、ブックマークレットスレも覗いてみることにします。

>>709
WindowsXP , Opera9.02 build8585 といったところです。お願い致します。
711Name_Not_Found:2006/10/12(木) 20:51:09 ID:???
>>710
1.ブックマークレットではないのでfocus()は無駄
2.OperaやFirefox(Greasemonkey)の場合日本語はUnicodeエスケープに変換しなければならない
(あ→\u3042のように。アドレス欄にjavascript:alert("使いたい日本語")と打ち
出てきたコードの%を\に置き換える)
3.Operaの場合、>>706のコードを最小限の書き換えで動かしたいなら2を行い、
拡張子を.user.jsではなく.jsで保存

これでどうか。
712711:2006/10/12(木) 20:52:15 ID:???
ミス
×javascript:alert("使いたい日本語")
○javascript:alert(escape("使いたい日本語"))
713706:2006/10/12(木) 21:05:40 ID:???
>>711
教えて頂いた方法で見事に動いてくださいました。
感謝いたします、ありがとうございます。
714Name_Not_Found:2006/10/12(木) 21:14:20 ID:???
>>713
良かったな。だが次同じようなことが聞きたいならここでもブックマークレットスレ「でも無く」
お前の使っているOperaのスレにいくこと。
ブラウザに依存するミス(さっきのUnicdoeエスケープ等)の可能性があるし
ちょっとしたコードならある程度JavaScriptの知識があれば
大丈夫だろうからな。そこの奴が暇なら答えるだろ
715Name_Not_Found:2006/10/12(木) 22:00:05 ID:???
>>712
×javascript:alert(escape("使いたい日本語"))
○javascript:alert(escape("遣いたい日本語"))

ガイシュツ
716712:2006/10/12(木) 22:15:29 ID:???
>>715
ああ、…tすまんね
717Name_Not_Found:2006/10/12(木) 22:28:47 ID:???
715の意味がわからん
718Name_Not_Found:2006/10/12(木) 22:32:11 ID:???
美しい日本語
719712:2006/10/12(木) 22:48:42 ID:???
よく考えたら「遣いたい日本語」じゃなく
「使いたい日本語の文字列」だったわ(もっと言えば「使いたい多バイト文字の文字列」だが)
「文字列」を「遣う」はOKなのか?無知だからわからんね
720Name_Not_Found:2006/10/13(金) 00:52:25 ID:???
知らない人は答えなくていいよ。

XMLHttpRequestって、UTF-8以外は文字化けする?
つうか、実際にやってみてると、UTF-8以外は文字化けしてる。
ブラウザ側のcharsetに関係なく、UTF-8で受信(出力だけど)すると、
SJISだろうとEUCだろうとデコードなしで出力しても文字化けしない。
(内部的にデコードしてるの?)
721Name_Not_Found:2006/10/13(金) 01:58:29 ID:???
>>720
過去ログで散々でた話題だな。
722Name_Not_Found:2006/10/13(金) 02:02:19 ID:???
>>720
過去ログで散々でた話題だな。
723Name_Not_Found:2006/10/13(金) 02:03:32 ID:???
しまった、失敗して二重に…スマソかた。
724Name_Not_Found:2006/10/13(金) 02:07:08 ID:???
>>720
かなり知っているけれど書き方が気に食わない
725Name_Not_Found:2006/10/13(金) 02:52:37 ID:???
>>720
>ブラウザ側のcharsetに関係なく

日本語でおk
726Name_Not_Found:2006/10/13(金) 03:17:50 ID:???
>>724
かなり知ってることを教えて下さい。
727Name_Not_Found:2006/10/13(金) 04:00:33 ID:Ww5lSrYN
headタグの中で↓のようにしてjsファイルを読み込むのではなく、
<script language="JavaScript" src="hoge.js"></script>

jsファイル内から動的に↓みたいにjsファイルを読み込む方法って
ないですかね。
include("hoge.js");

ちなみに、DHTMLで動的にscriptタグを書いて見た場合、
IEだとできましたが、Mozilla系だと駄目みたいでした。
728Name_Not_Found:2006/10/13(金) 05:46:55 ID:???
>>726
お断りです。絶対に答えないのでお引取りください。

>>727
> ちなみに、DHTMLで動的にscriptタグを書いて見た場合、
> IEだとできましたが、Mozilla系だと駄目みたいでした。

出来ます。innerHTMLではなくてDOMを使ってみてください。
Safariに対応するならHEADの子要素にしなければいけないはずです。
729Name_Not_Found:2006/10/13(金) 07:44:23 ID:???
「動的」 なのかは微妙なところだなあ。
730Name_Not_Found:2006/10/13(金) 11:00:31 ID:AdH+5zb7
__proto__というのはIEでは使えないのでしょうか?
731Name_Not_Found:2006/10/13(金) 13:37:15 ID:???
>>728
>Safariに対応するならHEADの子要素にしなければいけないはずです。

え?ウソ!
俺、bodyの最後尾に <script src=〜 を動的に追加してるけど動いてるよ。
732Name_Not_Found:2006/10/13(金) 13:47:43 ID:???
>>731
すまん、Safari1.3の場合
733Name_Not_Found:2006/10/13(金) 14:26:06 ID:hlXFfHdQ
__proto__というのはIEでは使えないのでしょうか?
734Name_Not_Found:2006/10/13(金) 14:38:50 ID:???
735Name_Not_Found:2006/10/13(金) 17:55:29 ID:Y/0cqaDo
JavaScript少しやったんだけど、これ、面白いっすね。ぐにゃぐにゃ構造
が気に入った。なんかオブジェクトの海で揺れてる感じ。量子力学の概念
に近いね。
736Name_Not_Found:2006/10/13(金) 18:10:47 ID:???
量子力学っていうと、一休さんと和尚さんのアレ?
737Name_Not_Found:2006/10/13(金) 18:17:07 ID:Y/0cqaDo
datファイルは消えたらまたほかの板でそこを使うんでしょうか
738Name_Not_Found:2006/10/13(金) 18:33:05 ID:???
なあ、
<script type="text/javascript" id="hoge" src="test.js"></script>
<script type="text/javascript" id="fuga" src="test.js"></script>
<script type="text/javascript" id="piyo" src="test.js"></script>

<script type="text/javascript">
    alert(document.getElementsByTagName('SCRIPT').length)
</script>
ってやると、IE では 3 だけど、Fx と Op だと 1 なのね。 全部最初の要素として扱われる。
でも test.js の中身は 3回実行されるのね。

これなんで? そういう仕様なんだっけ?
ちょっと思い通りに動かなくて困った。(´・ω・`)
これに関してだけは IE の仕様が理想だったんだけどw
どないしよ・・・。
739Name_Not_Found:2006/10/13(金) 18:47:38 ID:???
test.js#hoge
test.js#fuga
test.js#piyo

ではどうか。しらんけど。
740Name_Not_Found:2006/10/13(金) 18:50:34 ID:???
>>739
#じゃなくて?だね
741Name_Not_Found:2006/10/13(金) 18:56:16 ID:???
>>739
# も ? もだめだったんよ・・・。
ちなみに同じファイルを名前変えてまでしてもダメ、というよくわからない結果に(´・ω・`)
742Name_Not_Found:2006/10/13(金) 19:04:24 ID:???
>>738
>IE では 3
>Fx と Op だと 1

全部作り話だろw
負荷かけたら再現するかと思って試したが、どれもが、正しく「4」を返した。
743Name_Not_Found:2006/10/13(金) 19:14:25 ID:???
>>742
まじで?w
しかしうそだったらどんなにいいかw

検証してくれうひとは、HTML に
<script type="text/javascript" id="hoge" src="a.js"></script>
<script type="text/javascript" id="fuga" src="a.js"></script>
<script type="text/javascript" id="piyo" src="a.js"></script>
<script type="text/javascript" id="tako" src="a.js"></script>
ってかいて、a.js に
var scripts = document.getElementsByTagName('SCRIPT');
alert(scripts.length +" - "+ scripts[ scripts.length - 1 ].id)
って書いて、やってみてくれ。

うちの環境だと Fx で 4回とも 「 1 - hoge 」 なんだよね・・・。
744Name_Not_Found:2006/10/13(金) 19:14:36 ID:???
[object Object]ってどっちがどっちのオブジェクトなんでしょうか?
745738,743:2006/10/13(金) 19:20:49 ID:???
あと、現象は謎だけど、一応解決策でたので書いておきます。

var scripts = document.getElementsByTagName('SCRIPT');
のかわりに
var scripts = [];
var head = document.getElementsByTagName('HEAD')[0];
var child = head.childNodes;
for (var i = child.length; i--;) {
if (child[i].nodeName == 'SCRIPT') scripts[ scripts.length ] = child[i];
}
でいけましたw よくわからん orz
746Name_Not_Found:2006/10/13(金) 19:22:22 ID:???
onloadで読めばいい
747Name_Not_Found:2006/10/13(金) 19:41:54 ID:???
すいません。
JavaScriptでクリックしたらメーラーを立ち上げるようにするにはどう書けば
よいのでしょうか。コード教えてください。
748Name_Not_Found:2006/10/13(金) 20:07:29 ID:???
メールソフト入れてない人のことも考えて下さい。
749Name_Not_Found:2006/10/13(金) 21:29:49 ID:???
はい。そのときはreturnで何も起きなくしたいです。
750Name_Not_Found:2006/10/13(金) 22:14:57 ID:???
フォームに飛ばすほうがいいんじゃないか?
751727:2006/10/13(金) 23:08:29 ID:???
>>728
回答ありがとうございます。
以下のような関数を作ったのですが、
IEでは動きますがFirefoxでは動きません。
これってDOMでやってると思うのですが。

function include(file) {
var str = file + "?" + new Date().getTime();
var elm1 = document.createElement("script");
elm1.src = str;
elm1.language = "JavaScript";
var elm2 = document.getElementsByTagName("head")[0];
elm2.insertBefore(elm1, elm2.firstChild);
}
752Name_Not_Found:2006/10/13(金) 23:28:19 ID:???
>>751
elm1.type = 'text/javascript' ;

かな?
753Name_Not_Found:2006/10/13(金) 23:58:54 ID:???
>>728
プッ 真に受けてる(w
754Name_Not_Found:2006/10/14(土) 00:40:33 ID:???
>751
動かない最短のソース希望
755727:2006/10/14(土) 02:35:50 ID:YxL/wdih
>>754
IEだと動いて、Firefoxだと動かないソースです。

[index.html]
<html>
<head>
<title>テスト</title>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<script language="JavaScript" src="./main.js"></script>
</head>

<body onload="main()">
</body>
</html>
756727:2006/10/14(土) 02:36:21 ID:YxL/wdih
続き

[main.js]
function main() {
dynamicLoad("./test.js");
test();
}

function dynamicLoad(file) {
var str = file + "?" + new Date().getTime();
var elm1 = document.createElement("script");
elm1.src = str;
elm1.language = "JavaScript";
var elm2 = document.getElementsByTagName("head")[0];
elm2.insertBefore(elm1, elm2.firstChild);
}

[test.js]
function test() {
alert("テスト");
}
757Name_Not_Found:2006/10/14(土) 05:38:59 ID:???
>>756
JavaScript Console を見れば解決するはずだが……。
IEで動いているのは運がよいだけ。
elm1.addEventListener, elm1.attachEvent, elm1.onload などを使えば解決する。

関係ないが、srcプロパティの値にクエリを付けても、効果ないよ。
仮に、毎回、強制リロードしてくれているとしても、クエリのせいじゃない。
過去に何度か出た話。
758Name_Not_Found:2006/10/14(土) 10:19:59 ID:???
ほんとに 「動的」 にやってやがったw
それはムリムリ。
759Name_Not_Found:2006/10/14(土) 12:10:56 ID:3eXulAew
こんにちは。
eの3乗というのは、「e^3」の式になると思いますが、これをJavaScriptで
出すにはどうすればよいでしょうか?
760Name_Not_Found:2006/10/14(土) 12:14:38 ID:???
Math.pow(e,3)
761759:2006/10/14(土) 12:16:15 ID:3eXulAew
失礼しました。簡単なことでした。無駄スレすいません。
762Name_Not_Found:2006/10/14(土) 12:45:59 ID:???
無駄スレ orz
763Name_Not_Found:2006/10/14(土) 15:36:25 ID:???
まあ無駄スレやな
764Name_Not_Found:2006/10/14(土) 15:43:47 ID:???
ところでpowってなんて読む?

おれ、ポゥッ!
765Name_Not_Found:2006/10/14(土) 15:47:42 ID:???
So this is thriller〜♪ thriller night♪pow!
766Name_Not_Found:2006/10/14(土) 15:48:41 ID:???
イージードゥダンス!(ポゥ)イージードゥダンス!(ポゥ)
お〜どる君をみてる〜♪(ポゥポゥ)
767Name_Not_Found:2006/10/14(土) 15:54:47 ID:???
お前ら面白すぎw
768Name_Not_Found:2006/10/14(土) 17:44:38 ID:ujlBQ0wT
<div id="loadImage">

</div>
<a href="javascript:loadImage("01.swf");">Flash01を見る</a>

というDIVの間に、色々なタグを反映させたいのですが、どのようにやれば良いのでしょうか?

具体的には、通常は01.jpgという画像を表示させておき、リンクをクリックすると、01.swfというフラッシュに
差し変わるということをやりたいです。
769Name_Not_Found:2006/10/14(土) 17:46:49 ID:???
えっと、Dateクラスではnewつきのまま使えて、Objectクラスではイン
スタンスでなければいけないってのは、どういう理屈でしょうか?
770Name_Not_Found:2006/10/14(土) 18:23:08 ID:???
>>768
「innerHTML」 でぐぐるか 「 javascript 初心者」 でぐぐれ

>>769
もちょっと疑問点をkwsk
771Name_Not_Found:2006/10/14(土) 20:45:43 ID:???
>>755-756
おお!
そんな風に動的にjsを追加できたのか。
おかげでjsデータベースを作成できた。
サンクス!
772Name_Not_Found:2006/10/14(土) 21:21:36 ID:???
jsデータベースwwwww
773Name_Not_Found:2006/10/14(土) 23:16:00 ID:???
>>772
おかしいか?チープでシンプルでグッドだろ。
774Name_Not_Found:2006/10/14(土) 23:19:43 ID:???
XMLでええやん
775Name_Not_Found:2006/10/14(土) 23:22:47 ID:???
ちなみに>>755-756の方法だと、きちんと読み込めたか、いま読み込み中なのか、
エラーがでて止めてしまったのか、の判断が出来ない
XMLHttpRequestを使ってevalの方がまし
776Name_Not_Found:2006/10/15(日) 00:09:31 ID:???
ん、まあでもこれがJSONPって言うクロスドメイン可能な一番ナウくて
トレンディーな技術なんだけどね。使い方次第ってことで。
777Name_Not_Found:2006/10/15(日) 00:21:14 ID:???
JSONPについて3行で頼む
778Name_Not_Found:2006/10/15(日) 00:22:36 ID:???
ところで、JSONPのPはリスプ系の述語関数のsuffixであるPから来てるのかな。
779Name_Not_Found:2006/10/15(日) 02:58:26 ID:???
じゃなくてプロコトルのPか。
780Name_Not_Found:2006/10/15(日) 03:08:37 ID:???
クロスドメインだと使わざるを得ないけれど、
DoJoが同じドメインでも動的JSロードをしているのは明らかに間違いだと思う
781Name_Not_Found:2006/10/15(日) 05:25:54 ID:???
>>778
JSON with Padding
782Name_Not_Found:2006/10/15(日) 13:01:28 ID:???
一部のモバイル用OperaだはXMLHttpRequestは使えないけど、動的JSロードは
使えたりする。のでJSONPのほうが対応範囲が広いともいえるかも。
783Name_Not_Found:2006/10/15(日) 13:09:17 ID:???
モバイルでJavaScript動くんだ
784Name_Not_Found:2006/10/15(日) 14:17:14 ID:???
785Name_Not_Found:2006/10/15(日) 15:56:57 ID:???
786Name_Not_Found:2006/10/15(日) 15:57:02 ID:???
初耳だ
787Name_Not_Found:2006/10/15(日) 18:36:57 ID:???
>>772
データベースっーか
シークレットプログラムでした。
つまり検索エンジン側で解析させたくないデータを含む関数などお置いている。
念には念をいれておきたい
788Name_Not_Found:2006/10/15(日) 19:21:42 ID:???
Javascriptで、強制的に数値で評価させる方法は?

elem.style.opacity が 0.3 だったとして、
var opacity = elem.style.opacity;
alert(opacity);
opacity = opacity + 0.1;
aelrt(opacity);
なんと、ここで、”0.10.1”って出るんだよ!。
ようは、数値じゃなく文字列で評価してる。
強制的に数値で評価させる方法は?
789Name_Not_Found:2006/10/15(日) 19:34:45 ID:???
>>788
手取り足取り教えてもらってこい
http://pc8.2ch.net/test/read.cgi/hp/1155954169/l50
790Name_Not_Found:2006/10/15(日) 19:35:54 ID:???
>>788
elem.style.opacity が文字列だからね
文字列と数値の + 演算は文字列の連結になる

もうちょっと基礎を学んだ方が良い
791Name_Not_Found:2006/10/15(日) 20:08:01 ID:???
ふーむ。ありがとうございます。

別スレにわざわざ移行するのもあれなんで、
チョー単純に、答えだけ教えてくれませんか?

「どーやって、数値での評価を強制するんですか?」

792Name_Not_Found:2006/10/15(日) 20:23:19 ID:???
eval
793Name_Not_Found:2006/10/15(日) 20:27:02 ID:???
>>792
テラキモス
794Name_Not_Found:2006/10/15(日) 20:34:41 ID:???
>>793
ありがとう
795791:2006/10/15(日) 20:54:48 ID:???
ええっと、、、

「教えてよぉ!」
796791:2006/10/15(日) 20:55:47 ID:???
あ、なんかわかった。

よーは、evalの中では強制的に数値なんだ??
797Name_Not_Found:2006/10/15(日) 21:45:39 ID:???
>>446
very thanks
798Name_Not_Found:2006/10/15(日) 22:11:31 ID:???
荒れてるなぁw
799Name_Not_Found:2006/10/15(日) 22:28:22 ID:LZpRWQvI
こんばんは。フレーム内のリンク先を一発で2箇所変えたいのですが…
なかなかうまくいきません。
まずフレームはこうなっています。
<frameset rows="160,*" border="0" frameborder="0" framespacing="0">
<frame src="X.html" name="frame3">
<frameset cols="165,*" border="0" frameborder="0" framespacing="0">
<frame src="A.html" name="frame1">
<frame src="B.html" name="frame2">
上にXというメニューバーがあって下が左Aと右Bと別れています。
で、xにあるメニューをクリックすると下の両方のページが変わるようにしたいのです。
Xのタグが
<frame src="A.html" name="frame1" >
<frame src="B.html" name="frame2" >
<a href="JavaScript:parent.frame1.location.href='C.html';JavaScript:parent.frame2.location.href='D.html';">ここ</a>

で、CとDに切り替わることは切り替わるのですが、Xの部分も何か別のもの(なぜか「d.html」と文章ででる)に変わってしまうのです…。Xの部分は切り替えたくはないのですが…。
どこを直したらいいのかお願いします。
IE6.0です。
800Name_Not_Found:2006/10/15(日) 22:44:18 ID:???
範囲選択を禁止することはできませんか?
左クリック+マウス移動で出てくる、あの青い領域です。

コピペを阻害したいわけではなく、
手が滑って、ドラッグに失敗したときに、
無関係の範囲が青色に染まるのがカッコわるいんですよ。
801Name_Not_Found:2006/10/15(日) 23:12:35 ID:???
>>799
過去スレで他人がやってる実例を検索すれば答えはすぐ分かるがね。
>>800
onmouseupでselectionをcollapseすれば。これも検索すれば例が
あったと思うよ。
>>792
数値への変換にeval()、ダサイ。
802Name_Not_Found:2006/10/15(日) 23:43:50 ID:???
>>801
センスねぇwww
803Name_Not_Found:2006/10/15(日) 23:47:14 ID:???
JSONPってMIMEタイプ決まってるP
804Name_Not_Found:2006/10/16(月) 09:26:37 ID:???
入力欄から来たものを数値に変換するのにeval()使ってると
すごく簡単に任意のJavaScriptコードを実行されちゃうだろ。
まあ他の方法でも頑張ればできることではあるんだけど
805Name_Not_Found:2006/10/16(月) 10:21:20 ID:???
eval とか、頑張れば出来るとか…
parseFloat そのまんまだろ。

整数値なら、
parseInt

リファレンス読めよ…
806Name_Not_Found:2006/10/16(月) 12:21:14 ID:???
evalの評判知らないってのもねえ
807Name_Not_Found:2006/10/16(月) 12:38:26 ID:???
>>804
頑張ればできるというのは「悪意ある攻撃者が任意のWebページの
動作を書き換える」ことを意味していました。でも入力欄を
eval()してたら頑張らなくてもすぐできちゃうじゃんという意味。
>>805
parseInt()は文字列の先頭に「0」があると8進数として解釈
されちゃうという問題があるんだよな。このスレでガイシュツ。
だから洩れは整数でもparseFloat()を勧めている。もちろん
parseInt()に基数指定してもいいんだけど「10」指定してるの
なんて見たことないよな。
808agesarashi:2006/10/16(月) 12:55:21 ID:HFEqS9uU
789を投稿した者だが、

parseInt(temp):整数型
parseFloat(temp):浮動小数点型
http://www.tohoho-web.com/lng/b200006/00060005.htm

でOKだろ
単発な処理はたいがい関数があるから、
GGってちょうだい
809Name_Not_Found:2006/10/16(月) 13:11:23 ID:???
爺々るってなに?
810Name_Not_Found:2006/10/16(月) 13:23:58 ID:???
>>809
突っ込みどころはそこではなく、とほほから引っ張ってきてるということではなかろうか?
811810:2006/10/16(月) 13:33:12 ID:???
とほほのラウンジだからとほほと直接的な関係はないな。
つい脊髄反射してしまった。すまん。
812Name_Not_Found:2006/10/16(月) 13:33:55 ID:OJUTIi+V
オーバーライドというのは「上書き」ということですよね。
だとしたら、「オーバーライト」ではないのでしょうか。
誤訳ですか?
813Name_Not_Found:2006/10/16(月) 13:40:23 ID:???
814Name_Not_Found:2006/10/16(月) 13:53:28 ID:???
>>807
返す結果が違うのに、parseFloatで代替なんて、できるわけないだろ。

"3.1"を評価したら、それぞれ何が帰ってくる?"1e5"はどうだ?
815Name_Not_Found:2006/10/16(月) 14:01:24 ID:???
>>814
変換する前に文字列としてのゴミは取り除くのがいいと
思っているのでね。別にそれが嫌で基数指定してparseInt()
というのならそれでもいいけどね。
816Name_Not_Found:2006/10/16(月) 14:12:15 ID:???
>>815
>変換する前に文字列としてのゴミは取り除くのがいい
どういう意味だ?

さっぱりわからん。じゃ、実際オクタルで書いてあったら評価するときに、どうすんだ?
"070"と"080"をオクタルとしてparseIntで評価したのと、parseFloatで評価したのじゃえらい事になるぞ。

例えばデシマルの少数に限ったところで、
"0.3"なんてのは、parseIntじゃ0 に、parseFloatじゃ 0.3 と評価されるんだぜ?
何言ってるのか、さっぱり判らん。
817Name_Not_Found:2006/10/16(月) 14:19:53 ID:???
>>810-811
しかしとほほはすごいね
getYear()に潜む2000年問題 New!!
なんてメニューが堂々とある。
ttp://pzxa85.hp.infoseek.co.jp/www/wwwjs.htm
一定期間だけ「New!!」を表示するスクリプトっての教えてやりたいw
818Name_Not_Found:2006/10/16(月) 14:23:06 ID:???
ひからびた情報に粘着する>>817のほうがすごいよ。
819Name_Not_Found:2006/10/16(月) 14:25:05 ID:???
>>816
なんでそんなに喧嘩ごしなのかね。整数を取るのに使うのなら
文字列として数字以外のものが現れる位置「以降を削除」してから
parseFloat()するのと10を指定してparseFloat()するのとは同じでしょ。
同じでないケースがあるのならご教示ください(w
820Name_Not_Found:2006/10/16(月) 14:30:44 ID:???
>>819
> 整数を取るのに使うのなら
> 文字列として数字以外のものが現れる位置「以降を削除」してから
どういう意味だ???

> parseFloat()するのと10を指定してparseFloat()するのとは同じでしょ。
parseFloatで基数なんて指定できないよ。

> 同じでないケースがあるのならご教示ください(w
いまいち、最初の「以降を削除」ってのがわからんが、"1e5"とかどうすんだ?
821Name_Not_Found:2006/10/16(月) 14:32:12 ID:???
「とほほ」で思い出したんですが、とほほにある説明で
object.valueOf()
オブジェクトの基本的な値を得ます。Number オブジェクトの場合は数値を、
String オブジェクトの場合は文字列を、Date オブジェクトの場合は
getTime() で得られる値を返します。

というのは正しいですか?OKの場合簡単な例をご教示ください。
822Name_Not_Found:2006/10/16(月) 14:34:17 ID:???
>>817
「Copyright (C) 1996-1999 杜甫々」
ってなってるからケンチャナヨ
823Name_Not_Found:2006/10/16(月) 14:37:22 ID:???
>>819
言ってる事、わからんか?

"1e5"なんて、

parseInt( ,8) なら、1
parseInt( ,10)でも、1
parseInt( ,16)なら、485
parseFloat() なら、100000

って評価されるんだぜ?
824821:2006/10/16(月) 14:41:24 ID:???
あ、やっぱいいです。書き方がちょっとことば足らずなだけですね。すんません。
825Name_Not_Found:2006/10/16(月) 14:48:18 ID:???
>>823
「e」は数字じゃないのでそれを取り除けばそのケースは起きない
でしょ。「e」「.」を含め、数字でない文字を除外した例
で両者が違う場合を教えてください。もちろんparseInt()では
「,10)」を指定した場合と比較して。
826Name_Not_Found:2006/10/16(月) 14:52:02 ID:???
どっちが馬鹿なんだか分からんがスレの無駄遣いやめてくれんかね。
827Name_Not_Found:2006/10/16(月) 14:53:29 ID:???
>>825
横槍失礼。123e4という数字の書き方がなんで駄目なの?
浮動小数点を使うなら極めて合理的な書き方だと思うんだけど
828Name_Not_Found:2006/10/16(月) 14:55:31 ID:???
int型なのにparseFloatを使うのは正直言って信じられない
読みにくいコード書くなよ
829Name_Not_Found:2006/10/16(月) 14:56:16 ID:???
eは、数字じゃない???
いや、正直何言ってるのかさっぱりわからんぞ。

16進整数リテラルでは、値を表すのに0-9a-fを使う
浮動小数点リテラルでは、指数部を表記するのにeを使う。

君、なんの話してるわけ???
830Name_Not_Found:2006/10/16(月) 14:59:41 ID:???
よくわからんが、parseInt(string,10)でいいんじゃないの?
すべての記号を取り除いた上でparseFloatとか意味わかんない。
825は壮絶な馬鹿だな
831Name_Not_Found:2006/10/16(月) 15:08:46 ID:???
parseInt(string, 10)でいいんだけど、実際には「,10)」指定
しない例だらけなんだよね。
832Name_Not_Found:2006/10/16(月) 15:12:11 ID:???
Number(val)でいいじゃまいk
833Name_Not_Found:2006/10/16(月) 15:12:22 ID:???
>>831
例って何よ?

どっかの誰かが書いた物には、parseInt(string)しか、書いてないから、"010"とかが来た時に
8進で評価される危険がある。だから、parseIntの代わりに、parseFloatを薦める。

こういう話か?

なんじゃそれ?
834Name_Not_Found:2006/10/16(月) 15:12:49 ID:???
横から質問で済みませんが、整数を入れろとだけ書かれている
入力欄に「1e5」と入力されている場合、どれがいいでしょうか。
(1) 黙って「1」として扱う。
(2) 黙って「100000」として扱う。
(3) 警告して入力し直させる。
835Name_Not_Found:2006/10/16(月) 15:15:24 ID:???
>>834
2
836Name_Not_Found:2006/10/16(月) 15:16:39 ID:???
>>834
当然3番だろ。

指数表記を許すんなら、仮数部と、指数部の2つの入力欄をつくるよ。
837Name_Not_Found:2006/10/16(月) 15:23:03 ID:???
もし >>835 説だと黙ってparseFloat()になりますよね。
洩れも(3)だと思うのですが、その場合は文字列チェック
するからパスした後はparseInt(,10)でもparseFloat()でも
Number()でも好きなのでいい、ということになりますよね。
好みとしてはNumber()かなあ…
838Name_Not_Found:2006/10/16(月) 15:38:08 ID:???
str*1でいいやんと思った
839Name_Not_Found:2006/10/16(月) 15:49:32 ID:???
>>838 論外
840Name_Not_Found:2006/10/16(月) 16:29:29 ID:???
(4)「整数を入れろ」という注意書きを改める。
  「入力可能な値は0〜XXXです。」
  その上で、少数や指数表記などの入力をはじく処理も行う。

俺ならこれ。
841Name_Not_Found:2006/10/16(月) 16:30:02 ID:???
>>837
もし仮数と指数を分けて入力なら「parseFloat(仮数 + 'e' + 指数)」だな。
842Name_Not_Found:2006/10/16(月) 16:37:55 ID:???
数字以外の入力をはじく。
加えて、数値のみで当てて警告。
843Name_Not_Found:2006/10/16(月) 16:42:26 ID:???
「ボタンを押したら、テキストエリアのlowsを2行にする」、というスクリプトを、
Firefox/1.5.0.6上で書いています。

ボタンの onclick に、

function TextAreaLowsPlus(){
var elm = document.getElementById("ta");
elm.setAttribute("lows", "2");
alert("test");
}

を当てているのですが、Javascriptコンソールにエラーはなく、
また、期待した動作もしてくれません。"ta"はテキストエリアのID。
Alertは確認のため埋め込んでいるのですが、testダイアログは表示されます。
(=通過はしている)

アドバイスをお願いいたします。
844Name_Not_Found:2006/10/16(月) 16:44:46 ID:???
ヒント:スペルミス
845Name_Not_Found:2006/10/16(月) 16:48:15 ID:???
>>844
ヒントあげ杉
846Name_Not_Found:2006/10/16(月) 16:56:34 ID:???
すごく低そう>>lows
847Name_Not_Found:2006/10/16(月) 17:07:21 ID:???
elm.setAttribute("rows", "2");
すみません、解決できました。
アドバイスありがとうございます。
死んできます。
848Name_Not_Found:2006/10/16(月) 18:40:12 ID:???
setAttributeはIE教には悩ましいね
849Name_Not_Found:2006/10/16(月) 20:09:14 ID:3fIlr47m
すません、なんとかしてJavaScriptでなんとかクライアントマシンのIPアドレスをぶっこ抜けないでしょうか?
一応WinXP上IE6を想定しています。

とりあえずググってもそれらしい情報っていうのはすべてWAN側のIPの情報であって目的のものはなかったんですが・・・

検索としては
JavaScript ローカル IP
スクリプト ローカル IP
を検索してみました。
850Name_Not_Found:2006/10/16(月) 20:22:45 ID:???
すごく漠然とした質問で申し訳ないのですが、
OnMouseOver時に、別ページへのリンクメニューをポップアップさせる、DHTMLって、
クロスブラウザを考慮した場合、どのように書くのがセオリーなのでしょうか??

検索すると、多くのサイトがdocument.Layerで描いていますが...。
おとなしくライブラリ使うべきでしょうか?
851Name_Not_Found:2006/10/16(月) 20:24:40 ID:???
ローカルって、ルーターの内側って事?
852Name_Not_Found:2006/10/16(月) 20:24:55 ID:???
>>849
var ip = prompt("IPアドレスを入力して下さい。", "");
853Name_Not_Found:2006/10/16(月) 20:28:40 ID:???
>>850
CSSでやってみたら?
854Name_Not_Found:2006/10/16(月) 20:36:38 ID:???
>>849
Perl等のCGIで環境変数から取る
print "<script type=\"text/javascript\">var ip = $ENV{'REMOTE_ADDR'};</script>";

ページがCGI以外でないといけないのであれば
print "Content-type: text/plain; charset=Shift_JIS\n\n$ENV{'REMOTE_ADDR'}";
みたいなCGI置いてAjaxで取る。

CGIを置く鯖が別ドメインでないといけないのであれば
print "Content-type: text/javascript; charset=Shift_JIS\n\nvar ip = $ENV{'REMOTE_ADDR'}";
ってして
<script type="text/javascript" src="http://hoge/ip.cgi"></script>
855Name_Not_Found:2006/10/16(月) 20:39:28 ID:???
>>854
そんな誰でも思いつく方法じゃなくて、サーバを自前で全く準備しないでも出来る方法を考えようよ
856Name_Not_Found:2006/10/16(月) 20:44:19 ID:???
>>855
なぜ?
857Name_Not_Found:2006/10/16(月) 21:00:28 ID:???
てか無理じゃないの?
858Name_Not_Found:2006/10/16(月) 21:04:07 ID:???
>>855
ipconfig
859Name_Not_Found:2006/10/16(月) 21:48:22 ID:???
>WinXP上IE6
ということで、

x=new ActiveXObject("WScript.Shell").exec("ipconfig");o="";
while (!x.StdOut.AtEndOfStream)o += x.StdOut.Read(1);
ip=o.match(/IP Address.*?: ([0-9.]+)/)[1]

テラキモス
860Name_Not_Found:2006/10/16(月) 23:15:05 ID:???
おええw
しかしローカルのIPなんかとって何すんだろね
861Name_Not_Found:2006/10/16(月) 23:53:46 ID:???
じゃあ俺のIP晒しとくよ
192.168.1.11
862Name_Not_Found:2006/10/17(火) 00:08:59 ID:???
おお兄弟。洩れは192.168.1.5だよ、隣だな。
863Name_Not_Found:2006/10/17(火) 00:16:19 ID:???
ちょw 俺も 192.168.1.11 に住んでるぜw

アッ―!
864Name_Not_Found:2006/10/17(火) 10:20:59 ID:???
>>863
あっ どうも
865Name_Not_Found:2006/10/17(火) 11:39:00 ID:6aQ2bT0+
返事遅くなってごめんなさい

>>851
そうです
ルーターの中にあるPCのアドレスです。

>>854
CGIはで切れば市内方法です。
ちょっとこれ実験してみます!!

>>860
単純にグローバル+ローカルで識別したいんです・・・
866Name_Not_Found:2006/10/17(火) 11:54:35 ID:???
>>859はスルーwww
867Name_Not_Found:2006/10/17(火) 12:49:17 ID:xlYI61qZ
超初心者で申し訳ないですが質問させてください。

http://www.apple.com/getamac/ads/
↑ここの下段のスクロールするナビゲーションのスクリプトを使いたいのですが、
該当のjsファイルをそのまま流用しようと探したのですが、それすら見つけられませんでした・・・
このスクロールするナビゲーションのjsはどこに書かれてますでしょうか?

どうぞよろしくお願いします
868Name_Not_Found:2006/10/17(火) 12:51:28 ID:???
>>867
ここは、自分でスクリプトを書く人の為のスレ。
初心者スレがあるから、そっちでどうぞ。
869Name_Not_Found:2006/10/17(火) 12:59:26 ID:6aQ2bT0+
ア〜〜〜ッ!!

書いたつもりが・・・orz

家に帰ってやってみよう

と書くつもりだった
ごめんなさい>>859
870Name_Not_Found:2006/10/17(火) 13:14:57 ID:???
>>869
コマンドプロンプト立ち上げて、ipconfigって打って、エンター押せ。
871Name_Not_Found:2006/10/17(火) 14:20:37 ID:???
>>867
そうやって人のものをこっそり盗んで自分のホームページに貼り付けて
面白いか?そのサイトの管理者には使いたいと断ったのか?
872Name_Not_Found:2006/10/17(火) 14:50:19 ID:???
在日コリアンだから仕方ないよ(´・ω・`)
873Name_Not_Found:2006/10/17(火) 15:02:05 ID:???
>こっそり盗んで
ワロス
874Name_Not_Found:2006/10/17(火) 15:47:20 ID:xlYI61qZ
>>871
すいません、説明の仕方が悪かったです。

>>867のリンク先ページの下段で使用してるような
スクロールするナビゲーションのスクリプトの書き方が
まったくわからないので書き方を教えてください。

よろしくおねがいします。
875Name_Not_Found:2006/10/17(火) 15:48:31 ID:???
>>874
ソース読んで解析すればいいじゃん
876Name_Not_Found:2006/10/17(火) 15:54:42 ID:???
>>875
ソース読むまでもなくわかるだろ
877Name_Not_Found:2006/10/17(火) 16:22:11 ID:???
>>876
すまん質問読んでない
878Name_Not_Found:2006/10/17(火) 16:43:12 ID:???
>>876
わかるんなら
ここにその関数を書いてよ
879Name_Not_Found:2006/10/17(火) 16:52:35 ID:???
>>878
ソース嫁
880Name_Not_Found:2006/10/17(火) 16:59:52 ID:???
ソース読めって言ったりパクんなって言ったり、どうしろとw
881Name_Not_Found:2006/10/17(火) 17:07:47 ID:???
見た目からソースを想像するのです。
882Name_Not_Found:2006/10/17(火) 17:12:05 ID:???
目でみるのではない。心でみるのだ。
心を無にして相手の気配を感じるのだ   by Mr.ポポ
883Name_Not_Found:2006/10/17(火) 17:18:31 ID:???
教授がついて来なかったのは評価したい。
884Name_Not_Found:2006/10/17(火) 17:23:51 ID:???
>>880
作ってやろうか?
885867,871:2006/10/17(火) 17:36:06 ID:xlYI61qZ
>>884
よろしくお願いします!
886Name_Not_Found:2006/10/17(火) 17:44:24 ID:???
書いたって理解できないだろ
887Name_Not_Found:2006/10/17(火) 17:51:21 ID:???
別にソース読んだっていいだろ。読んで理解し、その上で自分で
改めて書けばいいんだから。著作権法ではアイデアは保護されない。
888Name_Not_Found:2006/10/17(火) 18:23:23 ID:???
まあ基本的にはこんな感じだよ。あのソースはチョット読みたくないね。

<html><head><script type="text/javascript">
var x=0,t=null;
function f(n){clearTimeout(t);if(n==0){return}
x+=n;if(x>0 || x<-(orz.offsetWidth-200+10))return;
t=setTimeout(function(){f(n)},5);orz.style.left=x+"px";}
</script></head><body>
<button onclick="f(1)"><-</button> <button onclick="f(0)">.</button> <button onclick="f(-1)">-></button>
<div style="border:inset 5px;overflow:hidden;width:200px"><span id="orz" style="position:relative;white-space:nowrap"></span></div>
<script>var orz=document.getElementById("orz");orz.innerHTML="<b>orz</b> "
for(var i=0;i<30;++i)orz.innerHTML+="orz ";orz.innerHTML+="<b>orz</b>"</script></body></html>
889867,871:2006/10/17(火) 20:01:51 ID:xlYI61qZ
>>888さん
素敵すぎです!!ありがとうございます!


で、さらに質問で申し訳ないのですが、
このスクリプトで、以下のように

<!-- 1画面分始め -->
<div id="01"><a href="01">1個め</a></div>
<div id="02"><a href="02">2個め</a></div>
<div id="03"><a href="03">3個め</a></div>
<div id="04"><a href="04">4個め</a></div>
<div id="05"><a href="05">5個め</a></div>
<!-- 1画面分終わり -->

ここまでを1画面に収めて、ボタンクリックで

<!-- 2画面分始め -->
<div id="06"><a href="06">6個め</a></div>
<div id="07"><a href="07">7個め</a></div>
<!-- 2画面分終わり -->

と、以上のようにスクロールさせたい場合は>>888にあるスクリプトの

<script>var orz=document.getElementById("orz");orz.innerHTML="<b>orz</b> "
for(var i=0;i<30;++i)orz.innerHTML+="orz ";orz.innerHTML+="<b>orz</b>"</script>

こちらの部分をdivのidの数だけ増やせば良いのでしょうか???
890Name_Not_Found:2006/10/17(火) 20:11:48 ID:???
>>889
どうしたいのかワカラナスkwsk
891Name_Not_Found:2006/10/18(水) 00:24:03 ID:ibCJEQra
質問です。

YYYYMMDDHHMMSSの14桁で日付時間を取得したいとき、

now = new Date();
year = now.getYear();
month = now.getMonth()+1;
day = now.getDate();
hour = now.getHours();
minute = now.getMinutes();
second = now.getSeconds();

if (year < 1000) year = year + 1900;
if (month < 10) month = '0' + month;
if (day < 10) day = '0' + day;
if (hour < 10) hour = '0' + hour;
if (minute < 10) minute = '0' + minute;
if (second < 10) second = '0' + second;

var nowDate = year + month + day + hour + minute + second;

のように区切り文字無しで連結すると、nowDateに数値として加算された値が入ってしまいます。
(10月18日なら month + day が 28、のように)
どのようにすれば14桁で取得できるようになるでしょうか?
892Name_Not_Found:2006/10/18(水) 00:29:04 ID:???
>>891

789 :Name_Not_Found:2006/10/15(日) 19:34:45 ID:???
>>788
手取り足取り教えてもらってこい
http://pc8.2ch.net/test/read.cgi/hp/1155954169/l50

790 :Name_Not_Found:2006/10/15(日) 19:35:54 ID:???
>>788
elem.style.opacity が文字列だからね
文字列と数値の + 演算は文字列の連結になる

もうちょっと基礎を学んだ方が良い

791 :Name_Not_Found:2006/10/15(日) 20:08:01 ID:???
ふーむ。ありがとうございます。

別スレにわざわざ移行するのもあれなんで、
チョー単純に、答えだけ教えてくれませんか?

「どーやって、数値での評価を強制するんですか?」

792 :Name_Not_Found:2006/10/15(日) 20:23:19 ID:???
eval

793 :Name_Not_Found:2006/10/15(日) 20:27:02 ID:???
>>792
テラキモス
893Name_Not_Found:2006/10/18(水) 00:32:31 ID:???
>>874
金出して誰かに頼む。時給とストレスで考えたら、そっちが経済的
894Name_Not_Found:2006/10/18(水) 00:34:27 ID:???
>>891
year を文字列にキャストしておく
895Name_Not_Found:2006/10/18(水) 00:46:03 ID:???
var nowDate = [year, month, day, hour, minute, second].join('');
俺はこっちの方が好きかも
896Name_Not_Found:2006/10/18(水) 00:46:57 ID:???
var nowDate = year*10000000000 + month*100000000 + day*1000000 + hour*10000 + minute*100 + second;
897Name_Not_Found:2006/10/18(水) 00:53:11 ID:BL1nydFt
var nowDate = year.toString() + month.toString() + day.toString() + hour.toString() + minute.toString() + second.toString();
898891:2006/10/18(水) 00:56:34 ID:???
皆さん、どうもありがとうございます。
助かりました。
899Name_Not_Found:2006/10/18(水) 23:04:16 ID:???
質問です。
リストを作成しています。
データは1000件近く読み込み、ajaxで追加・編集・削除を行っています。
問題はFirefoxでの最初の1000件読み込みの速度向上です。
createElement・appendChildの使い方を理解できていないのか
IEではまあ我慢できる速度ですが、Firefoxではかなり時間が掛かってしまいます。
element:first*の小さなグループに同じようなformを割り込みで追加するため
2階層(?)に分けていますがこの辺りの処理が下手なのでしょうか。
改善ポイントをご教示頂けませんか。
ソースは次です
900899:2006/10/18(水) 23:06:16 ID:cLqB7qBo

<HTML><HEAD>
<script language="javascript">
function load(){
 for(i=0; i < 200; i++){
  tmp1 = document.createElement('first' + i);
  document.getElementById('table').appendChild(tmp1);
  for(j=0; j < 5; j++){
   tmp2 = document.createElement('second' + j);
   tmp2.innerHTML = '<DIV id="list'+ i*j +'">'
      + '<FORM>'
      + '<INPUT type="text" name="a" value="a'+ i*j +'">'
      + '<INPUT type="text" name="b" value="b'+ i*j +'">'
      + '<INPUT type="text" name="c" value="c'+ i*j +'">'
      + '<INPUT type="button" name="" value="編集">'
      + '</FORM>'
      + '</DIV>'
      ;
   tmp1.appendChild(tmp2);
  }
 }
}
</script>
</HEAD>
<BODY onLoad="load();">
<DIV id="table"></DIV>
</BODY></HTML>
901Name_Not_Found:2006/10/18(水) 23:36:40 ID:???
>>899 確かにcreateElement()の使い方はおかしいね。これでどう?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function init() {
var f = document.createDocumentFragment();
for(i=0; i < 200; i++){
var tmp1 = document.createElement('div'); tmp1.id = 'first' + i;
f.appendChild(tmp1);
for(j=0; j < 5; j++){
var tmp2 = document.createElement('div'); tmp2.id = 'second' + j;
tmp2.innerHTML = '<DIV id="list'+ i*j +'">'
+ '<FORM>'
+ '<INPUT type="text" name="a" value="a'+ i*j +'">'
+ '<INPUT type="text" name="b" value="b'+ i*j +'">'
+ '<INPUT type="text" name="c" value="c'+ i*j +'">'
+ '<INPUT type="button" name="" value="編集">'
+ '</FORM>'
+ '</DIV>'
;
tmp1.appendChild(tmp2);
}
}
document.getElementById('t0').appendChild(f);
}
</script></head><body onload="init()"><div id="t0"></div></body></html>
902899:2006/10/19(木) 00:08:43 ID:???
>>901
ありがとうございます!早速実行して見ましたが全然違いました!
createDocumentFragmentなどかなり理解できてないみたいですね・・・
頂いたソースをじっくり読ませて頂きます!
あちがとうございました!!
903Name_Not_Found:2006/10/19(木) 01:57:02 ID:SiT3QgIN
ボタンを押すとその時間によってメッセージが表示させるという
スクリプトを使いたいのですがうまくいきません。
その場で表示するという仕方は分かるのですが、
ボタンを押すと表示させるとなるとできなくなるのです。

new Array(6);
でいくつか文をつくり

if((h >= 0) && (h < 3))
で時間を指定して

functionNowTime(){
でボタンで表示するというところまで分かったのですが
どうしても表示されません。
以下私なりにがんばったソースです。
どうか見捨てないでご指導のほどよろしくお願いします。
904903:2006/10/19(木) 02:02:44 ID:???
<SCRIPT language="JavaScript">
<!--
function NowTime(){
var morning = "おはようございます"
var afternon = "こんにちは
var afternoon = "こんにちは。ご飯は食べましたか?"
var evening = "こんばんは"
var night = "こんばんは。ご飯は食べましたか?"
var midnight = "。おやすみなさい"
var openhtm = new Date()
var hellomes
var h = openhtm.getHours()
905903続き:2006/10/19(木) 02:04:23 ID:???
if (h >= 5 && h <=9 ){
hellomes = " いま"+ h +"時ですね。" + morning
} else if ( h >= 10 && h <= 12){
hellomes = "いま"+ h +"時ですね。" + afternon
} else if ( h >= 13 && h <= 15){
hellomes = "いま"+ h +"時ですね。" + afternoon
} else if ( h >= 16 && h <= 18){
hellomes = "いま"+ h +"時ですね。" + evening
} else if ( h >= 19 && h <= 22){
hellomes = "いま"+ h +"時ですね。" + night
} else if ( h >= 23 && h <= 4){
hellomes = "いま"+ h +"時ですね。" + midnight
alert(hellomes);
}
//-->
</SCRIPT>
</HEAD>
<BODY>
<BUTTON onClick="NowTime()">時間をチェック!!</BUTTON>
</BODY>
</HTML>
906Name_Not_Found:2006/10/19(木) 02:40:29 ID:???
>>903
エラーメッセージを見ればわかるはず。文法ミス。
括弧の対応でも考えてくれ

かつ、親切心で他のバグを教えるとしたら
> } else if ( h >= 23 && h <= 4){
ここ間違い
907Name_Not_Found:2006/10/19(木) 03:53:20 ID:???
JavaScriptのhistoryって上書きできますか?
何がしたいかというと、ブラウザの戻るボタンで戻れなくしたいのです。
(フォームに設置した戻るボタンで戻って欲しい)

できない?
908Name_Not_Found:2006/10/19(木) 04:04:11 ID:???
909Name_Not_Found:2006/10/19(木) 07:20:37 ID:???
>>908
とりあえず>>1-8まで10回読みました。でも特にヒストリについて何も書いてありませんでした。
910Name_Not_Found:2006/10/19(木) 07:34:12 ID:???
わざわざフォームのボタンで戻るやつなんていねぇよ

ウザがられるよ
911Name_Not_Found:2006/10/19(木) 08:09:31 ID:???
>>909
そういうのは迷惑スクリプトだから教えてもらえないってことさ。
912Name_Not_Found:2006/10/19(木) 11:38:46 ID:???
まあどうしてもやりたいなら別の方法探しな。あるから。
913903:2006/10/19(木) 11:41:23 ID:???
>>906
ありがと。
 難しいなー。
914Name_Not_Found:2006/10/19(木) 11:47:03 ID:???
>>904-905 を書き直したい衝動に従っちゃ負けだと思っている
915Name_Not_Found:2006/10/19(木) 14:16:57 ID:???
くやしいっ…!! こんな奴に…
function NowTime(){
var h = new Date().getHours();
alert("いま"+h+"時ですね。"+["おやすみなさい","おはようございます","こんにちは","こんにちは。ご飯は食べましたか?",
"こんにちは。ご飯は食べましたか?","こんばんは","こんばんは。ご飯は食べましたか?"][Number("000001111122233344455550".charAt(h))]);
}
916Name_Not_Found:2006/10/19(木) 15:27:28 ID:???
>>915
それを分単位で制御できるように書き直せますか?
2時45分〜3時15分のメッセージ→「休憩してください」
5時15分〜5時45分のメッセージ→「早く仕事を切り上げて帰宅してください」
てな感じに
917Name_Not_Found:2006/10/19(木) 15:34:16 ID:???
>>916
いい加減切れるぞコラw

手取り足取りスレに行ってこい
918Name_Not_Found:2006/10/19(木) 16:30:17 ID:???
次スレの季節が近づいてきたんで前スレで
時間切れとなったテンプレ修正案を出してみることにする。
前スレ962-963からそれに対して出た意見をまとめ、
Q15/A15に関しては>>107>>110を基にしました。
919Name_Not_Found:2006/10/19(木) 16:30:55 ID:???
【FAQその1】
Q1. 開いた別窓/フレームの内容にアクセスできないのですが…
A1. ページ内容が別サーバの場合セキュリティ制約により絶対無理です。
Q2. JavaScriptでローカルファイルを読み/書きたいのですが…
A2. Webではセキュリティ制約により絶対無理です。できたら恐ろしいことに…
A3. 同じタグの中でonclick="foo()"とonclick="bar()"を同時に使いたいのですが…
A3. セミコロンで複数の文を区切られます。onclick="foo();bar();"としましょう。
Q4. document.write(...)でページ内容を追加したいのですが…
A4. 一度ページ表示完了後にwrite()すると内容はクリアされちゃいます。
 部分的に内容変更するには(1)他フレーム/iframe/別窓への表示、
 (2)textarea等への表示、(3)DOMでノード挿入、(4)innerHTMLのどれかで。
 innerHTMLは非標準ですがIE、Opera、Gecko(N6/N7/Firefox等)で対応済。
Q5. table/tbody/tr要素のinnerHTMLを書き換えるのがうまく行かないのですが…
A5. IEはそれらの要素のinnerHTMLは変更不能。DOMを使って書き換えるか
 <div><table>...</table></div>とでもしてdivのinnerHTMLを書き換えましょう。
Q6. DOMでtable要素にtr要素を追加しても表示されないのですが…
A6. IEではtbody要素にtr要素を追加する必要があります。
 tbody要素はtbodyタグを書いていなくても自動的に作成されます。
 またはtable.insertRow()/tbody.insertRow()を使いましょう。
Q7. Aタグのonclickで動作指定してるのですが時々動きません…
A7. 「onclick="...;return false"」としないとページ移動しちゃうから。
Q8. 変数w1、w2…を順にループで(番号をiに入れて)設定/参照したいのですが…
A8. グローバル変数はwindowのプロパティだからwindow['w'+i]を読み書きすれ。
Q9. フォーム部品名を変数にした「...myform.変数名.value」が動きません…
A9. 「document.forms.myform.elements[変数名].value」でどぞ。
 JavaScriptでは一般に「obj.x」と「obj['x']」は同じ意味です。
 例:「obj.p0=obj.p1=...=obj.p8=0;」⇔「for(i=0;i<9;i++) obj['p'+i]=0;」。
920Name_Not_Found:2006/10/19(木) 16:31:27 ID:???
【FAQその2】
Q10. CSSで設定した背景色がe.style.backgroundColorで取得できないのですが…
A10. IEではe.currentStyle、Geckoではwindow.getComputedStyle()を使います。
Q11. 100*1.15の結果が114.999…998となってしまうのですが…
A11. コンピュータの実数計算は全て近似値だと思え。誤差が嫌なら整数で計算。
Q12. 任意のデータをサーバ(別鯖ではない)から取り寄せたいのですが…
A12. Geckoのnew XMLHttpRequest()、IEのnew ActiveXObject("Microsoft.XMLHTTP")
 を使えばできる。古いブラウザだと隠しフレームに読むなどのワザが必要。
Q13. setAttribute("class","foo")、setAttribute("onclick","bar()")が動きません…
A13. IEではそれは不可。「obj.className="foo"」「obj.onclick=bar」でどうぞ。
 複数の関数を呼びたいときは obj.onclick=function(){foo();bar();};
 という風に無名関数を作りましょう。中に書かれたコードが実行されます。
Q14. ひとつのオブジェクトに複数のイベントを追加したいのですが…
A14. obj.onxxx=funcではなく、obj.addEventListener('xxx',func,false)
 (IEではobj.attachEvent('onxxx',func))を使いましょう。
Q15. addEventListener/setIntervalにオブジェクトのメソッドを渡せません…
 addEventLisntener("click",this.func,false)が思ったとおりに動きません…
A15. それだとfuncのみが取り出されthisが行方不明になります。↓でどうぞ。
 addEventListener("click",function(x){return function(){x.func();};}(this),false)
Q16. 文字列の置き換えをするときにコードを使いたい(Perlのs///e)のですが…
A16. string.replace(/.../,function(str,p1,p2,...,offset,s){...})としましょう。
 正規表現にマッチした文字列がreturnで返された文字列に置き換えられます。
 各引数はstrがマッチした部分文字列、p1,p2,...が1番目、2番目、…の()の中身、
 offsetがマッチした位置、sが置き換え前の文字列全体になります。
921903:2006/10/19(木) 17:04:47 ID:???
>>915
どうも教えていただきましてありがとうございました。
おかげさまで分かりました!

尚916は私ではありませんので・・・・。

失礼します。
922Name_Not_Found:2006/10/19(木) 18:47:09 ID:???
>>917
自分で作ってみますた。
function NowTime(){
var mess = {
T0000:"おやすみなさい",
T0500:"おはようございます",
T1000:"こんにちは",
T1300:"こんにちは。ご飯は食べましたか?",
T1445:"休憩してください",
T1515:"こんにちは",
T1600:"こんばんは",
T1715:"早く仕事を切り上げて帰宅してください",
T1745:"こんばんは",
T1900:"こんばんは。ご飯は食べましたか?",
T2300:"おやすみなさい"
};
var h = new Date().getHours();
var m = new Date().getMinutes();
var now_time = 'T'+('0'+h).substr(-2,2)+('0'+m).substr(-2,2);
var now_mess;
for(var time_key in mess){
if(time_key<now_time){
now_mess = {H:h,M:m,TEXT:mess[time_key]};
}
}
alert("いま"+now_mess['H']+"時"+now_mess['M']+"分ですね。"+now_mess['TEXT']);
}
923Name_Not_Found:2006/10/19(木) 19:36:07 ID:???
あれ、JavaScriptって文字列比較を演算子で出来るんだっけ?
924Name_Not_Found:2006/10/19(木) 19:50:54 ID:???
うん
925Name_Not_Found:2006/10/19(木) 22:18:10 ID:???
>>920
Q14/A14
http://msdn.microsoft.com/workshop/author/dhtml/reference/methods/attachevent.asp
> the functions are called in random order,
つまり、WinIEでは、順番を自分で管理する必要がある。


Q15/A15
Q15は自動的にEventが実引数になるが、A15はそれを考慮してないな。

そもそも、そういう手詰まりを招くようなパターンでイベントドリブンな処理をするのが悪い。
いわゆるバッドノウハウだから、FAQに入れるものではないだろう。
926Name_Not_Found:2006/10/19(木) 22:31:10 ID:???
> そういう手詰まりを招くようなパターンでイベントドリブンな処理をするのが悪い。
意味が取りづらいから詳しく。
927Name_Not_Found:2006/10/20(金) 00:11:22 ID:QlJIbiVw
質問です。
function A(){ this.pro = 'a';}
var o = new Object();
としたとき、オブジェクト「o」から「a」を求めるには
どうすればよいのでしょうか。IE6での実現です。
928Name_Not_Found:2006/10/20(金) 00:41:16 ID:???
>>927
取れない
929Name_Not_Found:2006/10/20(金) 00:42:32 ID:???
>>904-905
こういう冗長な無駄コード見ると、
経験有るプログラマーは黙ってられんよなw
930Name_Not_Found:2006/10/20(金) 02:30:19 ID:rfFBPog6
JavaScriptによるMVCを考えているのですが、
考えがまとまらず困っています。

ViewはHTMLそのもの、Modelはそれぞれのイベントに対して
Actionクラスを作ろうかと考えているのですが、
このような考え方で間違ってないでしょうか?

で、Controllerはどこに出てくるのかなと・・・
931Name_Not_Found:2006/10/20(金) 02:44:54 ID:???
Modelの理解が間違ってる。
Controllerは、ユーザの入力=イベントを受けてモデルに通達を出し、その結果に従いViewを更新する
Modelはデータとデータに対するロジックを保持
932Name_Not_Found:2006/10/20(金) 03:05:04 ID:SdMb6Bi6
HTMLに埋め込むときの onLoad="" とかって、
onLoadと書くのとonloadと書くのと、どちらが推奨されますか?
933930:2006/10/20(金) 03:27:02 ID:???
>>931
なるほど。
ボタン押したり、リンクをクリックしたりするとまずControllerが呼ばれると。
で、その中から適切なモデルが呼ばれるという感じでしょうか?
でも、それぞれのイベントに対して一つのActionクラス(Model)を
作るというのは間違ってますかね?

あと、適切なModelを呼ぶためのアクション名のようなものって
どうやってコントローラに渡すといいですかね?
画面遷移はなるべくさせたくないので、〜.html?action=XXX
みたいなのはさせたくないかなと。
934Name_Not_Found:2006/10/20(金) 04:38:04 ID:???
Modelは、データベース兼ビジネスロジックみたいな感じで、1つしかない。
なんつーか色々と誤解しているようだから、何か一つMVCモデルのフレームワークを使ってみては?
935Name_Not_Found:2006/10/20(金) 05:37:51 ID:???
divを入れ子にして、外側のdivにonMouseOutを設定した場合、
そのdiv内であっても、中のdivに入るとonMouseOutが発生します。

大きなdivのエリア内では、中の入れ子のdivに入っても、
onMouseOutが発生しないようにしたいのですが、そんなことはできますか?

MSIEで確認しています。
936Name_Not_Found:2006/10/20(金) 06:25:55 ID:???
外側のdivに設定してその中で作動するのは普通でしょ
もうちっと頭使うべし
937Name_Not_Found:2006/10/20(金) 06:33:29 ID:???
>>936
これがおそらく仕様通りの挙動なんでしょうけど、
この挙動って不便なだけじゃないですかね?
938Name_Not_Found:2006/10/20(金) 08:12:33 ID:???
>>932
HTMLでは大文字小文字を区別しないので推奨はない。
XHTMLでもJavaScriptでも「全部小文字でないといけない」
939Name_Not_Found:2006/10/20(金) 08:22:28 ID:???
>>938
ども。XHTMLを考慮すると、小文字で書いておいたほうがいいですね。
940Name_Not_Found:2006/10/20(金) 13:46:13 ID:???
<script type="text/javascript">
/* 半角英文字チェック */
function AlphabetCheck() {
var str = document.iform.EnglishText.value;
if( str.match( /[^A-Za-z\s.-]+/ ) ) {
return 1;
}
return 0;
}
/* 最終チェック */
function AllCheck() {
var check = 0;
check += AlphabetCheck();
if( check > 0 ) {
  alert("項目1は、半角英文字のみで入力して下さい。");
return false;
}
return check;
}
</script>

<form name="iform" action="test.cgi" method="post">
項目1<input type="file" name="EnglishText" size="30" onblur="AlphabetCheck();"><br>
<input type="submit" value="送信" onClick="return AllCheck();">
</form>

のような
941940:2006/10/20(金) 13:49:59 ID:???
940です、途中で送信してしまいました。

上記のような入力チェックスクリプトを作ったのですが、
IE7でうまくtest.cgiに移動しません。
項目1のtype="file"をtype="text"にすればうまく動くのですが
どうしてでしょうか?
ちなみにIE6やFireFoxは正常に動作します。
942Name_Not_Found:2006/10/20(金) 14:16:38 ID:???
>>941
セキュリティがらみで type="file" はほとんどいじれない
943Name_Not_Found:2006/10/20(金) 14:17:59 ID:eqMs+dym
idがsのdivタグに
s.innerHTML
でアクセスできるのはどうしてでしょうか。それから、この保証はECMA的に
ありますか。
944Name_Not_Found:2006/10/20(金) 14:27:31 ID:???
>>943
IEの独自拡張。ECMAは言語について定めるものであり、そのような
ブラウザにくっついているライブラリにはいっさい感知しない。
標準ということならDOMだがDOM的にはdocument.getElementById()
を使う必要がある。
945Name_Not_Found:2006/10/20(金) 15:12:51 ID:???
>>944さん 有難うございました。
946918:2006/10/20(金) 20:52:14 ID:???
>>925
> WinIEでは、順番を自分で管理する必要がある。
DOM2 Eventsでもリスナの呼び出し順は明記されてないし、
DOM3 Eventsにいたっても異なるイベントグループ間での
リスナの呼び出し順は不定なんで、FAQで掘り下げるほどでもないかと。
実際prototype.jsやMochiKitなどよく使われるライブラリでも特に管理してませんし。

> Q15は自動的にEventが実引数になるが、A15はそれを考慮してないな。
ではとりあえず↓でどうでしょ。
A15. それだとfuncのみが取り出されthisが行方不明になります。↓でどうぞ。
 addEventListener("click",function(x){return function(e){x.func(e);};}(this),false)

まあ確かにバッドノウハウといえばそうかもしれないけど
なぜQ15のままじゃダメでA15のようにするとうまくいくのを押さえておくのは
実際スクリプト書いてくうえで役立つと思うし、これに絡む質問も
そこそこあるんでFAQに入れておいて損はないかと。

あと、926じゃないけど↓をもうちょっと詳しくお願いできますか?
> そもそも、そういう手詰まりを招くようなパターンでイベントドリブンな処理をするのが悪い。
947Name_Not_Found:2006/10/20(金) 21:59:44 ID:???
http://pc8.2ch.net/test/read.cgi/hp/1155954169/
ここのスレから飛んできました
今野球ゲームというかホームラン競争っぽいゲームをJavaScriptで作っているのですが
打つタイミングがおかしいので誰かよくアドバイスをお願いします。

http://antiasterisk.neconet.net:40080/up/index.html
ソースは、ここの「yakyu」です
dkkeyは「saito」です
948Name_Not_Found:2006/10/20(金) 23:59:02 ID:+3k2ju3O
質問です。

Firefoxのタブを閉じた時や他ページに移動した時、
戻るボタンを押した時などのアクションをJavascriptで
検知するにはどうしたらいいですか。

調べてもBODYタグにonUnloadを貼るっていうのしか出てこないのですが、
これだとIEでブラウザを閉じた時や、
Firefoxの全体のWindowを閉じた時(それによってFirefoxが終了する場合のみ)
のアクションしか検知できません。

一方、Meebo.comやGoogleのGMAILについてくるメッセンジャーなどでは、
そのようなアクションを行うとダイアログが出てきます。

ということは検知できるということですよね。

誰か知ってる方いたらよろしくお願いします。
949Name_Not_Found:2006/10/21(土) 03:00:40 ID:gdbQp+/W
ttp://www.marguerite.to/Nihongo/HowToMakeYourWeb/JavaScript/index.html

プログラム初心者が勉強するにはこのサイトはどうですか?評価を聞かせてください。
950Name_Not_Found:2006/10/21(土) 04:02:07 ID:???
>>949
自分が読んでみて分かり易ければ良いんじゃない?
951Name_Not_Found:2006/10/21(土) 07:59:53 ID:???
>>948
このスレの過去ログを呼んでいるとonbeforeunloadというのも
出て来るはずなんだけどね。
952Name_Not_Found:2006/10/21(土) 08:07:50 ID:???
新スレは975超えたら。テンプレ(とくに2レスに分けるFAQ)の意見は
お早めに。
953Name_Not_Found:2006/10/21(土) 08:43:42 ID:RIMO9wU9
document上にオブジェクトを生成する場合、appendChildで追加できますが、
その元になるHTMLのオブジェクトをJavaScriptで作るにはどうすればよいの
でしょうか。
var t=document.cereateElement('div');
document.appendChild(t);
だとクラッシュします。
954Name_Not_Found:2006/10/21(土) 08:47:27 ID:???
>>953
クラッシュしねーよ、ただエラーが出るだけだよ
頼むからエラーメッセージくらい読もうぜ
955953:2006/10/21(土) 09:52:50 ID:???
>>954
失礼しました。ページが破棄されるのでついクラッシュと書いてしまいました。
お答えよろしくお願いします。
956Name_Not_Found:2006/10/21(土) 11:00:19 ID:???
>>946
>DOM3 Eventsにいたっても異なるイベントグループ間での
>リスナの呼び出し順は不定なんで、
論点がそれてるよw

>実際prototype.jsやMochiKitなど
>よく使われるライブラリでも特に管理してませんし。
だから?
バグを真似しろとでも?w
957Name_Not_Found:2006/10/21(土) 11:03:10 ID:???
>>953
質問の意味が分からない。何をしたいのかも分からない。
958Name_Not_Found:2006/10/21(土) 12:02:03 ID:???
javascrictのリンクとハイパーリンクは何処がどう違うんですか?
959Name_Not_Found:2006/10/21(土) 12:23:11 ID:???
>>958
「javascriptのリンク」って言うのは<a href="javascript:...">ってやつのこと?
もしそうだとしたら……「ハイパーリンク」は実行すると指定されたページに飛ぶけど
「javascriptのリンク」は実行するとhrefに指定されたJavaScriptが実行される、って説明でOK?

>>956
じゃあこれでどうでしょ。

Q14. ひとつのオブジェクトに複数のイベントを追加したいのですが…
A14. obj.onxxx=funcではなく、obj.addEventListener('xxx',func,false)
 (IEではobj.attachEvent('onxxx',func))を使いましょう。ただしIEではイベントを
 複数指定したときの実行順は不定です。順番が大切なら自分で管理しましょう。

それからこれは俺の勝手な想像だが、prototype.jsやMochiKit、Yahoo! UIなどで
これに対する対策がとられていないのは、開発者がこの問題を認識していない
からではなくて、彼らがこのことを重要な問題とは捉えてないからだと思う。
言うならば妥協。リスナの実行順が重要になる場面ってあんまりないと思うし。
960Name_Not_Found:2006/10/21(土) 13:32:14 ID:???
結論が出ないようならFAQの改訂は無理だということになるが。
961Name_Not_Found:2006/10/21(土) 13:45:11 ID:???
>>959 said
「javascriptのリンク」は実行するとhrefに指定されたJavaScriptが実行される、

どこでそんなこと習ってきたの?
962Name_Not_Found:2006/10/21(土) 13:50:54 ID:???
a href と onclick の挙動がおなじだったりして

a onclick = javascript: と a href = はおなじだろ
963Name_Not_Found:2006/10/21(土) 14:05:26 ID:???
>>962
<a href="javascript:alert('href')">href</a>
<a onclick="alert('onclick')">onclick</a>
<a href="javascript:alert('href')" onclick="alert('onclick')">href&onclick</a>
964Name_Not_Found:2006/10/21(土) 14:34:29 ID:???
じゃFAQ14,15あたり? はとりあえず審議中で分断するか、
外してしまうかしときゃいいじゃん。
965Name_Not_Found:2006/10/21(土) 15:24:49 ID:???
obj.onxxx=function(){a();b();c()}
obj.addEventListener('xxx',function(){a();b();c()},false)

で何がダメなの?
966Name_Not_Found:2006/10/21(土) 15:38:15 ID:???
>>962
<a href="javascript:'GoodBy!'">Hello!</a>
967Name_Not_Found:2006/10/21(土) 16:03:50 ID:o4WDMAy4
正直>>947は天才だと思う。
この野球ゲーム、完成させようぜっ!
968Name_Not_Found:2006/10/21(土) 16:07:57 ID:???
>>947
よくアドバイスしたいんだけど、タイミングがどうおかしいんだ?
969Name_Not_Found:2006/10/21(土) 16:31:08 ID:0RpVgaQM
ページのどのあたりがクリックされたかを解析したいと思い
JavaScriptでWindowサイズと、クリックした座標を取得し、コンテンツの横幅を設定し
そこから割り出そうと思っているのですが、ページをスクロールされている場合、
高さを割り出すことができずに困っています。

どうにかこうにかなりませんか?
970Name_Not_Found:2006/10/21(土) 16:32:36 ID:???
あるタグが画面のしたほうにあったとして、それをユーザがスクロールして
画面に入ったときイベントを発生させたいのですが、やり方がありましたら
教えてください。

お願いします。
971Name_Not_Found:2006/10/21(土) 17:06:39 ID:???
タグが画面にあるかどうかはわからんね
972Name_Not_Found:2006/10/21(土) 17:08:35 ID:???
>>971
わかるだろ

973Name_Not_Found:2006/10/21(土) 17:17:50 ID:???
だってタグだよ?
974Name_Not_Found:2006/10/21(土) 17:23:22 ID:???
>>947
ttp://antiasterisk.neconet.net:40080/up/upload.cgi?mode=dl&file=2279
saito

この先どうしたいのか教えてくれ
975次スレFAQ 14,15は抜きで:2006/10/21(土) 17:29:37 ID:???
【FAQその1】
Q1. 開いた別窓/フレームの内容にアクセスできないのですが…
A1. ページ内容が別サーバの場合セキュリティ制約により絶対無理です。
Q2. JavaScriptでローカルファイルを読み/書きたいのですが…
A2. Webではセキュリティ制約により絶対無理です。できたら恐ろしいことに…
A3. 同じタグの中でonclick="foo()"とonclick="bar()"を同時に使いたいのですが…
A3. セミコロンで複数の文を区切られます。onclick="foo();bar();"としましょう。
Q4. document.write(...)でページ内容を追加したいのですが…
A4. 一度ページ表示完了後にwrite()すると内容はクリアされちゃいます。
 部分的に内容変更するには(1)他フレーム/iframe/別窓への表示、
 (2)textarea等への表示、(3)DOMでノード挿入、(4)innerHTMLのどれかで。
 innerHTMLは非標準ですがIE、Opera、Gecko(N6/N7/Firefox等)で対応済。
Q5. table/tbody/tr要素のinnerHTMLを書き換えるのがうまく行かないのですが…
A5. IEはそれらの要素のinnerHTMLは変更不能。DOMを使って書き換えるか
 <div><table>...</table></div>とでもしてdivのinnerHTMLを書き換えましょう。
Q6. DOMでtable要素にtr要素を追加しても表示されないのですが…
A6. IEではtbody要素にtr要素を追加する必要があります。
 tbody要素はtbodyタグを書いていなくても自動的に作成されます。
 またはtable.insertRow()/tbody.insertRow()を使いましょう。
Q7. Aタグのonclickで動作指定してるのですが時々動きません…
A7. 「onclick="...;return false"」としないとページ移動しちゃうから。
Q8. 変数w1、w2…を順にループで(番号をiに入れて)設定/参照したいのですが…
A8. グローバル変数はwindowのプロパティだからwindow['w'+i]を読み書きすれ。
976次スレFAQ 14,15は抜きで:2006/10/21(土) 17:30:12 ID:???
【FAQその2】
Q9. フォーム部品名を変数にした「...myform.変数名.value」が動きません…
A9. 「document.forms.myform.elements[変数名].value」でどぞ。
 JavaScriptでは一般に「obj.x」と「obj['x']」は同じ意味です。
 例:「obj.p0=obj.p1=...=obj.p8=0;」⇔「for(i=0;i<9;i++) obj['p'+i]=0;」。
Q10. CSSで設定した背景色がe.style.backgroundColorで取得できないのですが…
A10. IEではe.currentStyle、Geckoではwindow.getComputedStyle()を使います。
Q11. 100*1.15の結果が114.999…998となってしまうのですが…
A11. コンピュータの実数計算は全て近似値だと思え。誤差が嫌なら整数で計算。
Q12. 任意のデータをサーバ(別鯖ではない)から取り寄せたいのですが…
A12. Geckoのnew XMLHttpRequest()、IEのnew ActiveXObject("Microsoft.XMLHTTP")
 を使えばできる。古いブラウザだと隠しフレームに読むなどのワザが必要。
Q13. setAttribute("class","foo")、setAttribute("onclick","bar()")が動きません…
A13. IEではそれは不可。「obj.className="foo"」「obj.onclick=bar」でどうぞ。
 複数の関数を呼びたいときは obj.onclick=function(){foo();bar();};
 という風に無名関数を作りましょう。中に書かれたコードが実行されます。
Q14. 文字列の置き換えをするときにコードを使いたい(Perlのs///e)のですが…
A14. string.replace(/.../,function(str,p1,p2,...,offset,s){...})としましょう。
 正規表現にマッチした文字列がreturnで返された文字列に置き換えられます。
 各引数はstrがマッチした部分文字列、p1,p2,...が1番目、2番目、…の()の中身、
 offsetがマッチした位置、sが置き換え前の文字列全体になります。
977Name_Not_Found:2006/10/21(土) 18:25:36 ID:???
>>968,974
右バッターなので、早くふるとレフトに飛んで遅くふるとライトに飛ぶように
しているのですがいまくいきません
それ以前球の当たりがまったくおかしいのです
バットがボールにあたってないのでヒットになったりと・・・

978Name_Not_Found:2006/10/21(土) 18:47:21 ID:???
次スレ立てました。

+ JavaScript の質問用スレッド vol.52 +
http://pc8.2ch.net/test/read.cgi/hp/1161422792/
979Name_Not_Found:2006/10/21(土) 21:23:50 ID:24MI3M23
質問です。
o={a:'b'}とo={'a':'b'}のちがいについて教えてください。
980Name_Not_Found:2006/10/21(土) 21:34:56 ID:???
>>977
処理の概要書いてくれないと読むのちょっとしんどい。
見た感じ、「プレイ」を放してからのボール到達時間は一定。
「打つ」を放してからのスイングは一定みたいなので、
2つのボタンを放した時の時間差分で、結果は作れるように思う。
変化球追加してもそれは同様。
981Name_Not_Found:2006/10/21(土) 22:13:41 ID:???
>>979
それはまったく同等。フィールド名を''で囲めるようになっている
のは、名前でない(数字や記号などの)フィールド名が使えるように
するためだけど、普通の名前のときも囲んでも別にいい。
フィールド名じゃなくプロパティ名だろとかの突っ込みはご勘弁を。
982Name_Not_Found:2006/10/21(土) 22:29:17 ID:???
>>980
失礼しました
処理の概要はおっしゃる通りです
実際には、GIFアニメを使っているので、ボールがホームベース上にいくコマのタイミング
とバットを振ったときに、ホームベース上にいくコマのタイミングが合致したらボールが
飛ぶというGIFアニメに変更しています。
そのときに、タミングが多少早いとレフト方向に飛ぶGIFアニメ、遅いとライト方向に飛ぶGIFアニメ
に差し替えています。

ここのスレを教えてもらったスレでのアドバイスは「i_Disp1」の数値加算がうまくいってないのでは
とのことです。

こんな感じで質問の内容わかるでしょうか?
983Name_Not_Found:2006/10/21(土) 22:50:26 ID:24MI3M23
My result is this :
Prototype.js is junk.
984Name_Not_Found:2006/10/21(土) 23:47:53 ID:???
>>982
じゃ、内部処理としては問題なし、ということかな?
問題は見た目。内部処理と見た目の隔たりだけということ?
985Name_Not_Found:2006/10/22(日) 00:11:32 ID:???
986Name_Not_Found:2006/10/22(日) 00:40:03 ID:???
テキストボックスの中に入れる数値が未入力だと=ボタンを
押した時に”未入力です”と表示させたいのですが、
どうがんばってもポップアラートがでません。
どこがおかしいのか教えていただけないでしょうか?

987986:2006/10/22(日) 00:42:10 ID:???
<script type="text/javascript">
<!--
function keisan(){
var f = document.f1;
var v1 = eval(f.t1.value);
var v2 = eval(f.t2.value);
switch(f.color2.value){
case "+" :
document.f1.t3.value = v1 + v2;
break;
case "−" :
document.f1.t3.value = v1 - v2;
break;
case "×" :
document.f1.t3.value = v1 * v2;
break;
case "÷" :
document.f1.t3.value = v1 / v2;
break;}
function blankCheck(){
if(document.f1.t1.value==""){
alert("未入力です");
return false;}
if(document.f1.t2.value==""){
alert("未入力です");
return false;}
}
}
//-->
</script>
988986:2006/10/22(日) 00:42:47 ID:???
</head>
<body>
<form name="f1" onSubmit="return blankCheck()">
<input type="text" size="5" name="t1">
<select name="color2">
<option value="+">+</option>
<option value="−">−</option>
<option value="×">×</option>
<option value="÷">÷</option>
</select>
<input type="text" size="5" name="t2">
<input type="button" value="=" onClick="keisan()">
<input type="text" size="5" name="t3">
</form>
</body>
</html>
989948:2006/10/22(日) 06:51:16 ID:rJb00/3P
>>951
OnBeforeUnloadだとダイアログ出すことは出来ますが、
そのままブラウザ閉じられた場合に関数を実行できません。
window.addEventListener('beforeunload', '関数名', true)
のようにしてもそのまま閉じられた場合はFirefoxではアクションを検知しません。
何か対策はありますでしょうか・・・。
990Name_Not_Found:2006/10/22(日) 09:35:40 ID:???
>>984
内部処理として問題なしかどうかが私的に?なんです
すいません。
以下の加算するのがうまくいかずタミングがづれている感じです
デバッグでステータス場合に値を表示しているのでそれでわかるのではと思います。
i_Str = parseFloat(i_Str)+0.01;

いかがでしょう?
991Name_Not_Found:2006/10/22(日) 09:48:44 ID:???
>>990
setTimeoutで指定した関数が呼ばれるタイミングは保障されていないんだから、その処理では無理。
>>974では時間差分で判定してるけど、それじゃだめなの?
992Name_Not_Found:2006/10/22(日) 10:02:17 ID:???
>>986

<form name="f1" onSubmit="return blankCheck()">のonsubmit〜はいらない


<input type="button" value="=" onClick="keisan()"> を
<input type="button" value="=" onClick="blankCheck() && keisan()">

この書き方がジャヴァスクリプトで出来たか記憶があいまいだけど・・・
javascriptの論理積って左から評価されること、偽があればそこで評価を終えることは保障されてる?
993Name_Not_Found:2006/10/22(日) 10:09:07 ID:???
>>992
保証されているとも。でも「onclick="return blankCheck() && keisan()"」だね。
994Name_Not_Found:2006/10/22(日) 10:11:50 ID:???
>>993なんでreturnすんの?サブミットボタンじゃないんだぜ?
あれ、フォーム内のただのボタンでもサブミットされるんだっけ?
995Name_Not_Found:2006/10/22(日) 11:32:19 ID:???
よーし、今度はパパが1000ゲットするぞ。
996Name_Not_Found:2006/10/22(日) 11:47:33 ID:???
>>974
失礼しました。
修正版をアップしてくれてたんですね
なかなかいいですね
打った瞬間スローになるところも
ありがとうございます

このあとは、それぞれとんだ方向のGIFに切り替わりホームランかどうかランダム?
に判定してその結果をGIFに反映させるという感じです。
あとは、ポール際のシーンもあって、ファールかホームランかの微妙なGIFも使いたいと思っています
そのシーンのGIFはまったく作ってないですが

>>991
ってことで>>947さんが修正してくれた感じでいいと思います
997Name_Not_Found:2006/10/22(日) 12:18:26 ID:???
f
998Name_Not_Found:2006/10/22(日) 12:18:58 ID:???
t
999Name_Not_Found:2006/10/22(日) 12:19:30 ID:???
p
1000Name_Not_Found:2006/10/22(日) 12:19:58 ID:???
1000ならJSONP
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。