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

1 名前:まず >>2-3 読め! 続いて過去スレ全集を検索! 投稿日:2006/09/17(日) 13:54:16 ID:???
━━━━━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またはまとめサイト

2 名前:Name_Not_Found 投稿日:2006/09/17(日) 14:15:42 ID:8wQIWeGm
米騒動

3 名前:まず >>2-3 読め! 続いて過去スレ全集を検索! 投稿日:2006/09/17(日) 14:30:02 ID:???
【質問を書く上で】
1)ユーザ(閲覧者)に迷惑がかかる性悪スクリプトは回答されない。
 例: 別窓開きまくり、閉じる/戻るのを妨害、全画面占有、etcは最悪。
 答えさせようと「分からねえんだろ」と煽っても無駄(過去スレが証明)。
2)言葉でぐだぐだ書かずにソースを貼る、ただし要点を整理して。
 そのまま貼って動かせると試してもらいやすい(ただし回答者に連結さすな!)
 長い(1レスに入らない)場合はアップロードしてURIを貼る。
3)初心者という言葉は危険なので使わない方がよい。
 初心者を言い訳に自力で調べない/考えない奴が最悪に嫌われる。
4)自分で調べたこと/試したこときちんと書く(調べもしない奴は最低)。
 ただ「動きません」「エラーです」は何も情報がないため嫌われる。
 エラーは「どの行で何のエラー」を書く(ブラウザをそのように設定すれ)。
 ブラウザの設定すらできんヤシはFFxのJavaScriptコンソールを使え!!!
 OS、ブラウザ、バージョン、うまく行かない条件を明記しエラー再現可能に。
5)特に古いバージョン限定の時は必ず明記! 回答もチグハグになり回答者に2度
 手間を食わせる可能性大(現行Ver.:IE5.5-6、N6-7、Opera7-8)
6)どういう時にどういう動作をさせたいのかを脳内にとどめずきちんと書く。
 例:「自動ポップアップしたい」←どういう場合(マウスオーバー、クリック、
 ボタン押し、select選択)に何(別窓、レイヤー、その他)が出るのか書け!
7)質問はまっとうな(他人に理解できる)日本語で。
 前項の例に限らず、他人に理解できない質問文は煽られるだけで時間の無駄

4 名前:まず >>2-3 読め! 続いて過去スレ全集を検索! 投稿日:2006/09/17(日) 14:30:48 ID:???
【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")
 を使えばできる。古いブラウザだと隠しフレームに読むなどのワザが必要。

5 名前:まず >>2-3 読め! 続いて過去スレ全集を検索! 投稿日:2006/09/17(日) 14:31:27 ID:???
【主張の対立:他人の嗜好は尊重。損得の議論は歓迎】
・仕様を読む:回答者なら仕様の該当部分は読んでいるべき。質問者でも
 仕様を読まずうだうだ書く奴は注意されて当然。読み間違いは生温く指摘。
・英文文書:翻訳の努力を惜しむべからず。 読めないなら和訳を探し、
 なければあきらめよう。翻訳サイトを知っている人はうまく誘導してあげて。
・IE専用/アンチIE/クロスブラウザ:「○○は不要」「○○だけであと
 は無視」は不毛。質問者が分かって選択していれば尊重する。無知か
 らIE専なのは指摘してあげると親切。
・標準準拠 vs 使えればよい:標準はブラウザが変わっても維持される
 可能性大。非標準機能も損得を分かった上で使うならよい。
・MS vs アンチMS:MS固有の情報はMSのサイトで見ないと分からないが、
 そこだけ見ているとIE専になる。あとは上2件と同様。
・別窓、イベント抑止など:一般には迷惑スクリプトだが質問者に正当
 な理由があることも。尋ねて分かってないようなら煽っても可(w
・innerHTML vs DOM:それぞれに長所/弱点があるので理解した上で選
 択するべき。一概にどちらは駄目、とは言えない。
・on属性 vs addXXX():ハンドラが1つだけと分かっていればon属性
 で簡単にハンドラを設定もあり。上書きが心配ならaddXXX()。

6 名前:まず >>2-3 読め! 続いて過去スレ全集を検索! 投稿日:2006/09/17(日) 14:32:12 ID:???
【標準規格・リファレンス】
規格を読まずにどうなってるか分からんとか質問しないこと!

まとめサイト
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/

7 名前:まず >>2-3 読め! 続いて過去スレ全集を検索! 投稿日:2006/09/17(日) 14:33:02 ID:???
【チュートリアルサイト・サンプルサイト】
規格が読めないならまずはチュートリアル。サンプルサイトも沢山ある。

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/

8 名前:まず >>2-3 読め! 続いて過去スレ全集を検索! 投稿日:2006/09/17(日) 14:36:49 ID:???
【検索】
キーワード『…』で検索しろ」「ぐぐれ」と言われた場合はこちらへ
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

9 名前:Name_Not_Found 投稿日:2006/09/17(日) 14:39:15 ID:???
>>1-8
お湯

10 名前:Name_Not_Found 投稿日:2006/09/17(日) 14:49:32 ID:???
>>1
>>3-8
お湯!

11 名前:Name_Not_Found 投稿日:2006/09/17(日) 14:58:29 ID:???
>>1-8
超お湯

12 名前:Name_Not_Found 投稿日:2006/09/17(日) 16:12:18 ID:???
>>1-8
ちべたいちべたい!

13 名前:Name_Not_Found 投稿日:2006/09/17(日) 17:29:19 ID:???
        _
       / jjjj    _
     / タ     {!!! _ ヽ、
    ,/  ノ      ~ `、  \
    `、  `ヽ. _,,..,,,,_  ,‐'`  ノ 
     \  V ;' 3  `" .ノ/ >>1お湯
        ヽ.      )r '
         ( ┌┐ '、
         |  |  \ \
         |  |   \ \
         |  )    |  )
         / /     / /
         / /     L_\
        L_\       ̄
           ̄

14 名前:age 投稿日:2006/09/17(日) 17:48:48 ID:???
selection.createRange().text って
テーブルの中の文字は取得できない?

15 名前:Name_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>

16 名前:Name_Not_Found 投稿日:2006/09/17(日) 22:13:15 ID:???
げげ、なぜか消し忘れた</style>が…

17 名前:Name_Not_Found 投稿日:2006/09/17(日) 22:24:39 ID:???
>>16
なぜか
消し忘れた
</style>が…

日本語おかしくない?なぜかって言った直後に消し忘れたってネタバレしてるし…

18 名前:Name_Not_Found 投稿日:2006/09/17(日) 22:59:50 ID:???
はいはいすまそ。ちなみにonload="init()"も消し忘れている。

19 名前:Name_Not_Found 投稿日:2006/09/17(日) 23:00:14 ID:???
スクリプト書くのに10年近くM$のメモ帳使ってきた。エディタはウザイ気がして。
色が邪魔だな。カラーTVを初めて買った感じ。それとCtrl+Sが使いづらい。
みんなもエディタ使ってるの?

20 名前:Name_Not_Found 投稿日:2006/09/17(日) 23:21:25 ID:???
メモ帳使うならEmEditor

21 名前:Name_Not_Found 投稿日:2006/09/17(日) 23:21:25 ID:???
メモ帳はエディタとは言わないの?
俺はvim使ってる

22 名前:Name_Not_Found 投稿日:2006/09/17(日) 23:25:30 ID:???
>>15
スイマセン!事故解決できました。
selection.createRange().textを
onselectで動かしてたのですが、
onmousemoveにしたら取得できました。
onselectではフォーム、もしくはHTMLでマークアップされていない
文字しか取得できませんでしたね。
選択部分を取得するのだからonselectだろうという固定観念でした。
ホントすいまソん。


23 名前:Name_Not_Found 投稿日:2006/09/18(月) 11:22:26 ID:???
M$純正notepadなんて使いもんにならね
俺はsakuraだな

24 名前:19 投稿日:2006/09/18(月) 12:04:35 ID:???
全くだな。洩れはもう何万回<script></script>やfunctionって打ってきたかな。
今はsと打つとscriptって入れてくれる。でも最初からこれ使ってたら便利すぎ
て逆に打てなくなるね。notepad利用者は本職でも結構多いよ。

25 名前:Name_Not_Found 投稿日:2006/09/18(月) 12:41:26 ID:uvhF048d
こんにちは。
<script>var hs="こんばんは"</script>
<script src="konban.js"></script>
というように変数を先に出してあとの外部jsファイルで定義した関数を呼び
出してここにdocument.writeさせるように書いているのですが、試みに文法
チェックに掛けてみたところ、2番目のscriptタグは「ここには置けません」
と指摘されました。
なぜ文法的にまちがいなのでしょうか。

26 名前:Name_Not_Found 投稿日:2006/09/18(月) 15:17:33 ID:???
ん?

27 名前:Name_Not_Found 投稿日:2006/09/18(月) 15:19:11 ID:???
1、「他サイトから」、javascript をとってくる。
2、ちょっと加工して、eval() する。

これ、どーやってやろう。
1の条件がなければ xmlHttpRequest で一発だし、
2の条件がなければ、<script src=> でOKなんだけど、
1と2、両方とも、となると、お手上げ。
なんかいいアイディアないですか?
JSON とかならできるのかな?


28 名前:Name_Not_Found 投稿日:2006/09/18(月) 16:07:19 ID:VMEwfHtH
>>19
>色が邪魔だな。カラーTVを初めて買った感じ。

この例えが実感出来る世代の人はココには殆ど居ないと思いますよ、人生の大先輩。

29 名前:Name_Not_Found 投稿日:2006/09/18(月) 16:11:28 ID:???
>>24
あほかw script, function くらいスペル補完機能あっても忘れんわ

本職でも結構多いってさ、JAVAとかCになるとIDEとかじゃないと辛くね?
notepadはHTMLでさえも不便に感じる

30 名前:Name_Not_Found 投稿日:2006/09/18(月) 16:19:26 ID:???
[00-aa][01-ab][02-ac]のような[0-9]のない[a-z]までの26進法つくり
左側を右側に、右側を左側に相互変換したいのですが、どうしたらいいのですか?

31 名前:pom 投稿日:2006/09/18(月) 16:23:28 ID:whcQLjS6
はじめまして。
2ちゃんカキコミ初めてで緊張してるんですが。
今サイトを作ろうと思っているのですが、
ログインフォームと登録フォームをhtmlで作ろうと頑張って
るのですが、調べていくうちにJavaScriptやらcgiやらが
必要になってくるのかうまく作れません。カキコミが許され
ない人間なのかも知れませんが、宜しくお願い致します。

32 名前:Name_Not_Found 投稿日:2006/09/18(月) 16:39:33 ID:???
>>31
pomよ、お前のカキコミは俺が許す。
まず2chに登録するためにfusianas(ry

33 名前:pom 投稿日:2006/09/18(月) 16:46:24 ID:whcQLjS6
>>32
ありがとうございます><
道場訓を一つだけ自身持ってクリアしたものがあります。
ブラクラに打ち勝つ勇気だけはありました。
(その後、ハードディスクが壊れたのか7万の修理代とメッセの友人
を無くしました)
すみません。。fusianas<登録したいのですが、わかりません泣

34 名前:Name_Not_Found 投稿日:2006/09/18(月) 16:46:42 ID:???
>>31
pomさんはじめまして^^
ここはJavascriptスレなので、
何がしたいのかもうちょっと具体的にね
丸投げは受け付けてないお。

あと、今度からfusianasa(ry

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

fusianasa(ry

すみません。何ですかこれはw

36 名前:Name_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

37 名前:pom  投稿日:2006/09/18(月) 17:23:56 ID:whcQLjS6
騙り防止機能っていうものですか!?

38 名前:Name_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`)
過去ログに似たようなのがあったけど、同じ挙動になるんだ。

39 名前:Name_Not_Found 投稿日:2006/09/18(月) 17:52:09 ID:???
スマン
あげてしまった。

40 名前:Name_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>

41 名前:Name_Not_Found 投稿日:2006/09/18(月) 18:29:51 ID:???
本筋からそれるが、scriptタグの中に2つ書くのはよろしくない。

42 名前:27 投稿日:2006/09/18(月) 20:09:10 ID:???
おしえてん。


43 名前:Name_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>

引数で判断すればいい。

44 名前:Name_Not_Found 投稿日:2006/09/18(月) 20:43:48 ID:UttkhhbM
>>27
どの関数を加工するか分かっているなら、その関数を
toString()して加工して再定義することはできるね。

45 名前:Name_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]);'));
}
としたいのですが、エラーになります。
どうすればいいのでしょうか?よろしくお願い申し上げます。

46 名前:Name_Not_Found 投稿日:2006/09/18(月) 20:52:11 ID:cg3fwPrL
>>45
>>3

47 名前:Name_Not_Found 投稿日:2006/09/18(月) 20:52:57 ID:???
>>45
どの行でどういうエラーが出ているのか書け。それができないなら帰れ。
ちなみにIEではsetAtrributeでonclickハンドラをつけることはできないから。

48 名前:Name_Not_Found 投稿日:2006/09/18(月) 21:10:27 ID:???
>>35
会員のデータ登録とかは JS じゃできないから CGI でおk
フォームの作成は HTML でおk

49 名前:Name_Not_Found 投稿日:2006/09/18(月) 21:13:44 ID:???
elm[i].onclick = new Function('alert(str[' + i + '][3]);');
かな?

50 名前:Name_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 またはオブジェクトではありません。
とでます。どうかよろしくお願い申し上げます。


51 名前:Name_Not_Found 投稿日:2006/09/18(月) 21:15:26 ID:???
ねぇ、 new Function っての使うメリットってなーに?

52 名前:Name_Not_Found 投稿日:2006/09/18(月) 21:17:59 ID:???
>>49さん
出来ました。有り難うございます。やった!。
>>51さん
無名関数だと動きませんので。

53 名前:Name_Not_Found 投稿日:2006/09/18(月) 22:04:25 ID:???
>>52
無名関数でできないのは自分の腕前の問題だろ。洩れはnew Functionなんて
数年来使ったことがないよ。

54 名前:Name_Not_Found 投稿日:2006/09/18(月) 22:17:07 ID:???
> 無名関数だと動きませんので。

動きます><

55 名前:Name_Not_Found 投稿日:2006/09/18(月) 22:18:16 ID:???
もちろんあのnew Function()が自力で書けない奴は無名関数だって
書けないだろうとも。もう終了しよ。

56 名前:Name_Not_Found 投稿日:2006/09/18(月) 22:25:37 ID:???
どう

57 名前:Name_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}
}

58 名前:Name_Not_Found 投稿日:2006/09/18(月) 23:02:53 ID:???
>>57
ヴぁープロとてぃぷ は、 
ヴぁーじょん ころん 1.4.0
すくりぷとふらぐめんと ころん ごにょごにょ
えんプリティふぁっくしょん ふぁっくしょんかっこ
けい、 ふぁんくしょん かっこえーっくす、 れつるん えっくす

59 名前:Name_Not_Found 投稿日:2006/09/18(月) 23:09:46 ID:???
ちょwwwwwww

60 名前:Name_Not_Found 投稿日:2006/09/18(月) 23:13:45 ID:???
ごにょごにょ と来たかw

61 名前:57 投稿日:2006/09/18(月) 23:23:24 ID:???
余も老けて参りました。真面目にお願いします。

62 名前:Name_Not_Found 投稿日:2006/09/18(月) 23:24:57 ID:???
大音量でお楽しみください

63 名前:Name_Not_Found 投稿日:2006/09/18(月) 23:32:32 ID:???
>>58
ヴィトゲンシュタインも言っているが、
Sie wollen mich abzocken.を
ずぃー ヴぉれん みっひ あっぷつぉっけん。
といってもそれは決して日本語ではない。
トマトが魚でないのと同じである。

64 名前:Name_Not_Found 投稿日:2006/09/18(月) 23:35:32 ID:???
>>61
だからオブジェクトイニシャライザでVersion, ScriptFragment等の
プロパティにそれぞれ値を設定したオブジェクトを作り変数Prototype
に格納している。それ以上説明しようがないな。あとはどこでどう使う
か次第だと思うがね。

65 名前:Name_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のコードがいいのですが、無可能なら
パールやジャバでもいいです。

66 名前:Name_Not_Found 投稿日:2006/09/18(月) 23:55:55 ID:???
>>65
お前にホームページを制作する資格は無い

無可能キタコレ

67 名前:Name_Not_Found 投稿日:2006/09/18(月) 23:56:38 ID:???
>>63
ヒント:ちょっとした日本語
トマト:ちょっとした魚

>>65
どっかで見た質問だけどまあいいや。
HTMLだけでは無可能。javascriptをつかえばおk
ヒント:SetTimeout

68 名前:Name_Not_Found 投稿日:2006/09/19(火) 00:06:29 ID:???
>>65
index A.html とやらのソースをいじれるなら
html の範囲内でできるでそ

http://www.htmq.com/html/meta.shtml

69 名前:Name_Not_Found 投稿日:2006/09/19(火) 00:07:37 ID:???
>>67
サンクス!!!!!「
全身全霊を持ってヒントをググってみます!

70 名前:Name_Not_Found 投稿日:2006/09/19(火) 00:08:38 ID:???
>>68
以下同文

71 名前:Name_Not_Found 投稿日:2006/09/19(火) 00:10:09 ID:???
IDが表示してない、、
>>69=>>70です

ほんとありがと、じゃばの板なのに

72 名前:Name_Not_Found 投稿日:2006/09/19(火) 00:23:40 ID:???
じゃばじゃないもん

73 名前:Name_Not_Found 投稿日:2006/09/19(火) 02:54:26 ID:???
すくりぷとだもん

74 名前:Name_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の元コードの中であるのでしょうか。
ご意見お聞かせください。

75 名前:38 投稿日:2006/09/19(火) 09:18:05 ID:???
>>40>>43
おお(゚∀゚)
二人ともありがd!感謝!!
二つともやってみるよ。

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

>>41
<SCRIPT language="JavaScript" type="text/javascript">
       ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
これのことかしら

76 名前:Name_Not_Found 投稿日:2006/09/19(火) 11:16:42 ID:???
>>74
そのブラウザがたまたまそのように作られただけで
その動作には何の保証もない。別ブラウザだったり
バージョンが替わったら動かないかも知れない。
洩れはだからそういう「たまたまの」動作には興味も
関心もない。まあせいぜい好きなだけ探求すれば。

77 名前:Name_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ではないしね)。

78 名前:Name_Not_Found 投稿日:2006/09/19(火) 11:26:03 ID:???
>>77
なるほどそう読めるね。スマソかった。

79 名前:Name_Not_Found 投稿日:2006/09/19(火) 11:42:55 ID:???
> if multiple options are selected this is the
> value of the first selected option
役に立たない仕様だな…

80 名前:Name_Not_Found 投稿日:2006/09/19(火) 12:35:47 ID:???
後付け仕様なんてそんなもんさ

81 名前:Name_Not_Found 投稿日:2006/09/19(火) 18:14:07 ID:???
<meta http-equiv="???" url=aaa.htm">

の中にTargetを組み込んで
ジャンプする前のページのフレーム内に表示することはできますか?

82 名前:Name_Not_Found 投稿日:2006/09/19(火) 18:25:52 ID:???
>>81
それはフレームの使い方として向かない

83 名前:Name_Not_Found 投稿日:2006/09/19(火) 18:46:38 ID:???
質問があります。よろしくお願いします。

ポートフォリオ形式のサイトを作るにあたって、
リストになっている画像ボタンを押すと、隣のボックスにある大きな画像が変わる
という状態のものをつくりたいと思ってます。
どうにかそれらしきjava scriptを入れ込んだのですが、ターゲットにしたかった大きな画像ではなく
リストの真上にあるタイトル画像が変わってしまいます。
どうやってターゲット先を指定するのでしょうか。
HTMLとCSSは大丈夫ですが、java scriptはまだ初心者です。
よろしくお願い致します。

84 名前:Name_Not_Found 投稿日:2006/09/19(火) 19:22:35 ID:???
>>83
そういう曖昧な質問を受けても君は的確に答えられるのか?
最低限のソースも貼れないヤツは、こちらへ ∩( ´∀`)∩ドウゾ (っ´∀`)っ))ヨロシク

手取り足取り教えるJavaScriptスレpart4
http://pc8.2ch.net/test/read.cgi/hp/1155954169/

85 名前:Name_Not_Found 投稿日:2006/09/19(火) 19:36:52 ID:???
答えられないのでここに来たのですが、お忙しい所申し訳ありません。
ソースが必要ならここに全部貼ってしまっていいのでしょうか。java script の部分だけで解りますか?
こういった場所での質問が初めてなもので。
回答ありがとうございました。

86 名前:Name_Not_Found 投稿日:2006/09/19(火) 19:56:20 ID:???
>>85
テンプレも読めないアホは帰れ

87 名前:Name_Not_Found 投稿日:2006/09/19(火) 20:06:49 ID:???
そうします。お騒がせ致しました。

88 名前:74 投稿日:2006/09/19(火) 21:52:08 ID:???
>>77
ありがとうございました。あながち間違いではないんですね。
標準規格という問題もあるでしょうけれど。

89 名前:Name_Not_Found 投稿日:2006/09/19(火) 23:12:45 ID:???
すいません、アルゴリズムを教えてもらいたいです

90 名前:Name_Not_Found 投稿日:2006/09/19(火) 23:28:29 ID:???
>>89
http://ja.wikipedia.org/wiki/%E3%82%A2%E3%83%AB%E3%82%B4%E3%83%AA%E3%82%BA%E3%83%A0

91 名前:Name_Not_Found 投稿日:2006/09/19(火) 23:36:01 ID:???
<A href=""><IMG src=""></A>
イメージタグの挟まったアンカータグのみを残して
removeChildかremoveAttribute('href')
したいのですがどうマッチさせればいいのでしょうか?
ご教授よろしく御願いします。

92 名前:Name_Not_Found 投稿日:2006/09/19(火) 23:57:47 ID:???
>>91
文字列で行く?
ドムで行く?

93 名前:Name_Not_Found 投稿日:2006/09/20(水) 00:07:11 ID:???
ドムで御願いします。

94 名前:Name_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");
}}

みたいな?

95 名前:Name_Not_Found 投稿日:2006/09/20(水) 00:12:16 ID:???

3-4行目のe.はes[i].の間違い。
5行目のe.はes[i].parentNodeの間違い。
4行目と5行目は逆。

96 名前:Name_Not_Found 投稿日:2006/09/20(水) 00:24:59 ID:???
JSONについて教えてください。
(1) 読み方はジェイソンですか、ジェイエスオーエヌですか?
(2) { "foo" : "bar" } と { foo : "bar" } どちらの書き方が正しいですか?

97 名前:Name_Not_Found 投稿日:2006/09/20(水) 00:28:28 ID:???
>>96
(1)当然ジェイソン
(2)前者

98 名前:Name_Not_Found 投稿日:2006/09/20(水) 00:29:02 ID:???
>>95
tagName.match(/img/i)とやってダメだったのですが
nodeName.match(/img/i)で動きました。
有り難うございました。



99 名前:Name_Not_Found 投稿日:2006/09/20(水) 01:07:43 ID:???
>>97
ありがとうございました。
(2)で僕はいつも後者で書いているのですが、後者だと何か問題ありますか?

100 名前:Name_Not_Found 投稿日:2006/09/20(水) 01:14:22 ID:???
>>99
今のところ、javascriptのevalで使うくらいだろうから、問題ないと思う。
仕様に厳しく正しく従うJSONパーサが出てきたら、問題。

でも、そんなパーサでも(2)でも動くように作ると思うけど。

101 名前:Name_Not_Found 投稿日:2006/09/20(水) 02:39:37 ID:???
>>100
ありがとうございました。

102 名前:Name_Not_Found 投稿日:2006/09/20(水) 07:28:37 ID:CHEZ0gkb
テーブルのセルの空欄部分にJavaScriptで斜めの線を引くことはできませんか?

103 名前:Name_Not_Found 投稿日:2006/09/20(水) 08:08:51 ID:???
(第2章)上につかった、a, b, c など算数の未知数のようなものを、
プログラミングの世界では 変数といいます。
www.aanda.co.jp/VIPRoom/vsdoc/seminner/step2.htm

そうなの?


104 名前:Name_Not_Found 投稿日:2006/09/20(水) 08:19:02 ID:???
>>103
その説明はあんまりよくないと思うけどね。a=a+1みたいなのの
説明ができないからね。
>>102
斜め線の画像を用意してそのセルに埋めるのが一番素直かな。

105 名前:Name_Not_Found 投稿日:2006/09/20(水) 08:50:28 ID:???
a=a+1は代入だから問題なくね?

106 名前:Name_Not_Found 投稿日:2006/09/20(水) 09:01:06 ID:???
ちょー初歩的質問いいですか?
10の2乗を2進法で表わすとどうして4なんですか?
2進法って0と1だと習ったのに。
parseInt(String(Math.pow(10,2)),2) //<--4
こんな感じです。

107 名前:Name_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への参照になってしまいます。

108 名前:107 投稿日:2006/09/20(水) 10:16:29 ID:??? BE:30613032-2BP(433)
すいません。
×onclick
○click

109 名前:Name_Not_Found 投稿日:2006/09/20(水) 10:29:10 ID:???
>>106
勘違いしとるよ。
2進で100は10進で4。
そういう関数。

110 名前:Name_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が等しいような「ある数」
ってないじゃん。だから未知数という教え方はよくないと思うね。

111 名前:Name_Not_Found 投稿日:2006/09/20(水) 11:12:30 ID:???
>>107
>func内の this が、自分自身への参照ではなく、
>イベントの発生Nodeへの参照になってしまいます。

それは偶然。

112 名前:106 投稿日:2006/09/20(水) 11:27:19 ID:???
>>109 すいません大ボケでした。thx



113 名前:Name_Not_Found 投稿日:2006/09/20(水) 12:27:57 ID:???
TABLEのROWを削除するコードで
obj.removeChild(obj.rows[i]);
としたんですが、ここ↑で引数が無効だとエラーが出ます。
書き方悪いでしょうか?


114 名前:Name_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>

115 名前:Name_Not_Found 投稿日:2006/09/20(水) 13:00:44 ID:???
obj.deleteRow(obj.rows[i]);

116 名前:Name_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>

117 名前:Name_Not_Found 投稿日:2006/09/20(水) 13:27:12 ID:???
>>116
あ、そうか。うっかりしたわ

118 名前:113 投稿日:2006/09/20(水) 13:43:55 ID:???
>>114
ホレさま、できました!ありがとうございました。

119 名前:Name_Not_Found 投稿日:2006/09/20(水) 15:28:07 ID:???
var にはどんな役割があるのでしょうか。
あと、ブロック内で、グローバルな変数を宣言
するにはどうすればいいのでしょうか?

120 名前:107 投稿日:2006/09/20(水) 15:52:52 ID:??? BE:183676649-2BP(433)
>>110
なるほど、こうすればいいのですね。。
ありがとうございました。

121 名前:Name_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;

122 名前:Name_Not_Found 投稿日:2006/09/20(水) 16:50:04 ID:???
ごめん、うそ書いたかも。

123 名前:Name_Not_Found 投稿日:2006/09/20(水) 17:12:32 ID:???
>>121の補足
globalスコープ(=関数内でない場所)では、varをつけずに変数が使えるが、
関数内では必ずvarをつけないといけない。

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

関数内の変数は、その関数内の宣言以降のシーケンスならどこでも使える。
宣言をしない変数は使えない。

124 名前:119 投稿日:2006/09/20(水) 17:55:05 ID:???
ありがとうございます。

125 名前:Name_Not_Found 投稿日:2006/09/20(水) 18:05:59 ID:???
>>123
宣言なしでも関数内で使えるんじゃ

126 名前:Name_Not_Found 投稿日:2006/09/20(水) 18:13:26 ID:???
関数内で宣言なしで使うとグローバルになる

127 名前:Name_Not_Found 投稿日:2006/09/20(水) 18:19:39 ID:???
厳密に言えば引数リストに現れる名前の場合引数になる(笑)

128 名前:89 投稿日: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でそのツリー文字とデータの値とを連結しながら書き出す。

129 名前:Name_Not_Found 投稿日:2006/09/20(水) 21:15:40 ID:???
>>128
それでいいから。

130 名前:Name_Not_Found 投稿日:2006/09/20(水) 21:49:23 ID:???
┣¨┣¨┣¨┣¨┣¨・・・

131 名前:Name_Not_Found 投稿日:2006/09/20(水) 22:26:04 ID:???
>>128
自分も、先週そんなコードをRubyの練習として書いてた。
描画にも再帰使ってるのでかなり遅いけど。

自分自身の兄弟ノードが自分より後に無いかどうかさえ判定出来ればいいんで
そう難しくはないんだけど、もっとスマートな方法があるような気がしてならない。
JavaScript スレで言うことじゃないけど、誰か知っていたらヒントでもいいので下さい。
気になる。

132 名前:131 投稿日:2006/09/20(水) 22:30:15 ID:???
ん、よく読んだら微妙に違うな。
同じ考えなら、解析と描画にそれぞれ一度再帰を使うだけで最後のループとかはいらない。

133 名前:Name_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>

134 名前:Name_Not_Found 投稿日:2006/09/21(木) 00:31:06 ID:???
げげ、letter()とか要らんね。!letter(a[i][j]) を a[i][j]==' ' に直す。

135 名前:Name_Not_Found 投稿日:2006/09/21(木) 00:33:52 ID:???
げげ、>>134では違うな。まあいいや元のままが分かりやすいかもね。

136 名前:Name_Not_Found 投稿日:2006/09/21(木) 00:59:30 ID:???
◎ < おまえは鬼太郎か!


137 名前:131 投稿日:2006/09/21(木) 01:10:08 ID:???
>>133
なるほど。先に修飾部分を作っちゃうのか。
勉強になりました。ダメもとで聞いてみてよかった。

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

ありがとうございました。

138 名前:Name_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で削除させないことが出来るでしょうか。

どなたかお助けください。よろしくお願いします。

139 名前:Name_Not_Found 投稿日:2006/09/21(木) 08:44:26 ID:???
designMode = 'on'の挙動なんてブラウザにおまかせなんだから
それ以上どうにかできるとは思えないけどね。

140 名前:Name_Not_Found 投稿日:2006/09/21(木) 11:37:46 ID:???
>>139
designModeには色々とテクニックがあるんだけどね

141 名前:Name_Not_Found 投稿日:2006/09/21(木) 11:59:22 ID:???
>>140
ふーん知らない。だったらぜひご教示を。

142 名前:Name_Not_Found 投稿日:2006/09/21(木) 12:18:26 ID:???
document.createElementを使って新しく作ったIFRAMEの中で
勝手にフォントの書体やサイズが変わるのが嫌なんですが、
外のBODYと全く同じ概観にすることって出来ますか?

143 名前:Name_Not_Found 投稿日:2006/09/21(木) 12:19:09 ID:???
>>141
何が聞きたいの?

144 名前:119 投稿日:2006/09/21(木) 12:26:49 ID:???
>>142
var obj = document.createElement("iframe");
obj.document…
みたいにしてなんとかするんじゃまいか?
ドメイン違ったら

145 名前:Name_Not_Found 投稿日:2006/09/21(木) 12:56:42 ID:???
>>143
「テクニック」がないとひっかかりがちな罠をいくつか。
簡単なら解決方法も。

146 名前:Name_Not_Found 投稿日:2006/09/21(木) 14:23:54 ID:???
>>145
たとえばIEで、designMode=onでは扱えなくてcontentEditable=trueだと扱えるスタイルがある。逆も。
138のvisibilityやblockもそうだし、floatなどは逆で存在する。

147 名前:Name_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め。
こういうのは地道に調べるしかないんかね。
最近は圧縮流行でソース参照しづらくて困る。

148 名前:Name_Not_Found 投稿日:2006/09/21(木) 17:59:50 ID:???
>>147
人のソースを参照しようという心構えがいかんのだよ

149 名前:Name_Not_Found 投稿日:2006/09/21(木) 18:03:34 ID:???
圧縮ツールがあるなら解凍ツールもあるのだよ

150 名前:89 投稿日: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%ほど高速化しました。

どうも、本当に助かりました。

151 名前:Name_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>

152 名前:Name_Not_Found 投稿日:2006/09/22(金) 10:55:57 ID:???
>>151
style.top等は「自分で設定した値」は参照できるがブラウザが
決めた値を取るのには使えないぞ。FAQにもあるだろうがボケ!
位置を知るためのプロパティは別にある。過去ログでも探せば。
(すぐ教えてやる気にならんのであしからず。)

153 名前:Name_Not_Found 投稿日:2006/09/22(金) 12:13:46 ID:???
>>151
offsetTopは?

154 名前:151 投稿日: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>

155 名前:Name_Not_Found 投稿日:2006/09/22(金) 14:19:39 ID:???
>>154
それは期待通りになるだろうけど、間違えているね。

156 名前:Name_Not_Found 投稿日:2006/09/22(金) 14:42:49 ID:???
確実にチラシの裏だが聞いてくれ

var obj = {};
var x = 1;

obj[x] = something;

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

特に理由が無い限り、Operaサポートする宿命を負った哀れな人は、上のようなコードを避けることを強くお勧めする

157 名前:Name_Not_Found 投稿日:2006/09/22(金) 15:04:44 ID:???
var obj = [];


158 名前:Name_Not_Found 投稿日:2006/09/22(金) 15:38:42 ID:???
>>157
つprototype.js 汚染問題

159 名前:Name_Not_Found 投稿日:2006/09/22(金) 16:09:31 ID:???
prototype.js//感染拡大

160 名前:Name_Not_Found 投稿日:2006/09/22(金) 16:59:42 ID:???
prototype.js//害毒蔓延

161 名前:Name_Not_Found 投稿日:2006/09/22(金) 19:07:00 ID:???
IE6で
document.fileUpdatedDateが出てこないのですが、何故ですか?

162 名前:Name_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要素にしか使えないと明記されているぞボケ!

163 名前:Name_Not_Found 投稿日:2006/09/22(金) 19:20:42 ID:???
document.fileUpdatedDateなんてプロパティ初めて見た

164 名前:Name_Not_Found 投稿日:2006/09/22(金) 19:33:28 ID:???
>>162
アリガット
Kilroy Was Here.

165 名前:Name_Not_Found 投稿日:2006/09/22(金) 20:28:34 ID:???
2ちゃんねるの「ひろゆき」失踪…掲示板閉鎖も
訴状などは東京・西新宿の古アパートに送られるが西村氏はいつも不在イン
ターネットの巨大匿名掲示板「2ちゃんねる」の管理運営者「ひろゆき」こ
と、西村博之氏(29)が失踪状態にあることが22日までにわかった。同
掲示板は西村氏個人が管理している。当局が不適切な書き込みの削除や投稿
者の情報を求めようにも行方知れずで放置され、裁判所からの呼び出しにも
応じていない。ネット社会の象徴的な存在でもある「2ちゃんねる」は最悪
の場合、「掲示板閉鎖」という事態まであり得る情勢だ。
ttp://www.zakzak.co.jp/top/2006_09/t2006092201.html

166 名前:Name_Not_Found 投稿日:2006/09/22(金) 22:58:05 ID:???
(´・ω・)ス

167 名前:Name_Not_Found 投稿日:2006/09/23(土) 03:49:10 ID:???
(´・ω・)キ

168 名前:Name_Not_Found 投稿日:2006/09/23(土) 12:38:06 ID:???
(´・ω・)ス

169 名前:Name_Not_Found 投稿日:2006/09/23(土) 19:06:35 ID:???
(´・ω・)キ

170 名前:119 投稿日:2006/09/23(土) 21:22:44 ID:???
(´・ω・)ス

171 名前:Name_Not_Found 投稿日:2006/09/23(土) 21:26:23 ID:???
(´・ω・)キッ

172 名前:Name_Not_Found 投稿日:2006/09/23(土) 22:13:44 ID:???
(´・ω・)ス


173 名前:Name_Not_Found 投稿日:2006/09/23(土) 22:14:16 ID:???
(´・ω・)キ

174 名前:Name_Not_Found 投稿日:2006/09/23(土) 22:14:56 ID:???
(´・ω・`)アイシテル

175 名前:Name_Not_Found 投稿日:2006/09/23(土) 22:52:08 ID:???
(*´・ω・`*)javascript

176 名前:75 投稿日:2006/09/23(土) 23:17:23 ID:???
またしても質問なんだが、

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

うp
ttp://www.uploda.org/uporg525196.txt.html
passは目欄

177 名前:Name_Not_Found 投稿日:2006/09/23(土) 23:27:17 ID:???
<AREA shape="circle" href="a.html" onmouseover=alert("foo")>
みたいなコードを入れている。

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

なんとかして!!!!。


178 名前:Name_Not_Found 投稿日:2006/09/23(土) 23:28:53 ID:???
うわあい・・・(´・ω・)

179 名前:Name_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>


180 名前:Name_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]);でいい。
解決したようだけど、皆さんの参考になれば。

181 名前:Name_Not_Found 投稿日:2006/09/24(日) 11:55:56 ID:???
>>177
ならんだろ
<AREA shape="circle" href="×.html" onmouseover=alert("foo") alt="円形" coords="197,69,54">

182 名前:Name_Not_Found 投稿日:2006/09/24(日) 17:55:25 ID:???
document.getElementsByTagName('br');
文中の<br>タグを削除するにはどうすればいいのですか、お願いします。

183 名前:Name_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; }

とした方が簡単かもしれない。

184 名前:Name_Not_Found 投稿日:2006/09/24(日) 18:26:20 ID:???
ありがとうございました。

185 名前:Name_Not_Found 投稿日:2006/09/24(日) 18:52:16 ID:???
>>183
それうまくいかないんじゃない?やるんなら
while (br.length) br[0].parentNode.removeChild(br[0]);

186 名前:Name_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

187 名前:Name_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);
}
が読みやすくて速いんじゃないの。

188 名前:Name_Not_Found 投稿日:2006/09/24(日) 21:43:28 ID:???
>>185
そのとおりです。ごめんなさい。

189 名前:Name_Not_Found 投稿日:2006/09/25(月) 00:00:51 ID:???
>>186
try なんかしなくても
while (brs[0]) brs[0].parentNode.removeChild(brs[0]);
これでいいやん

190 名前:Name_Not_Found 投稿日:2006/09/25(月) 07:44:06 ID:???
>>189
だからそれはのろいというのが>>186の指摘でしょ。

191 名前:Name_Not_Found 投稿日:2006/09/25(月) 11:25:59 ID:???
>>186 は brs.length 遅ぇ、って指摘してるだけでそ

192 名前:Name_Not_Found 投稿日:2006/09/25(月) 13:32:27 ID:???
var len = brs.length;
とかしたらいいんじゃね?

193 名前:Name_Not_Found 投稿日:2006/09/25(月) 13:39:16 ID:???
>>192
コード読んでないだろ阿呆。それじゃ無限ループになるって。

194 名前:Name_Not_Found 投稿日:2006/09/25(月) 13:41:56 ID:???
>>192

195 名前:192 投稿日:2006/09/25(月) 13:51:46 ID:???
よく見てなかったけど、もちろんforで使うって意味だった
でもケツから削除してくのは遅いかな

196 名前:Name_Not_Found 投稿日:2006/09/25(月) 17:26:53 ID:SABw46Bg
http://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/7_Lexical_Conventions.html

「構文的な文法内に、除算および RegularExpressionLiteral の両方が構文的文法によって許されるコンテキストが存在する」
ってあるけど、これって例えばどんな時?

197 名前:Name_Not_Found 投稿日:2006/09/25(月) 19:08:39 ID:???
ある要素hogeに名前空間fooである属性barがあるんですが、
hoge.getAttributeNode("foo:bar")のように直接foo:barと書いてもうまく属性を取得できません。
名前空間が異なる属性を取得するにはどうすればいいでしょうか。

198 名前:Name_Not_Found 投稿日:2006/09/25(月) 19:26:09 ID:???
>>197
getAttributeでいんじゃね?

199 名前:Name_Not_Found 投稿日:2006/09/25(月) 19:45:12 ID:???
>>197
ふつうにgetAttributeNodeNSでできるが、何を聞いているんだ?

200 名前:Name_Not_Found 投稿日:2006/09/25(月) 20:18:04 ID:???
正規表現は聞いたらダメですよね?

201 名前:Name_Not_Found 投稿日:2006/09/25(月) 20:26:44 ID:???
正規表現そのものについては、
正規表現の中の人に聞いた方がいいと思う。
JavaScriptでの正規表現の扱いについてはこのスレでおk

202 名前:Name_Not_Found 投稿日:2006/09/25(月) 20:28:26 ID:???
ありがとうございます。

203 名前:Name_Not_Found 投稿日:2006/09/25(月) 20:43:30 ID:???
フォーカスがあたっている要素情報ってとれますか?

204 名前:Name_Not_Found 投稿日:2006/09/25(月) 20:57:17 ID:???
>>203
前にもその質問あったけど全部にonfocusつけて追跡して記録とか
しかないという話になった記憶が。

205 名前:Name_Not_Found 投稿日:2006/09/25(月) 21:18:59 ID:???
onfocusで検索してみましたが...どれがそうなのか分かりません。
フォーカスがあたっているいるところのvalueとnameがほしいのですが、
出来そうならYes出来なさそうならNoでお答えください。


206 名前:Name_Not_Found 投稿日:2006/09/25(月) 21:25:46 ID:???
検索も出来ないお前さんにはNoと答えよう

207 名前:Name_Not_Found 投稿日:2006/09/25(月) 21:32:25 ID:???
ごくふつうに、document.activeElementでWinIEはいけるだろ。
他は、document.addEventListener('focus',...,...)して、リスナーの中でイベントオブジェクトに問え。
全部にonfocusなんて、今時のブラウザシェアを考えれば、ナンセンスだよ。

208 名前:Name_Not_Found 投稿日:2006/09/26(火) 00:05:26 ID:oVALTzWd
ファイル選択ダイアログで、ファイルの種類のコンボボックスは編集できますか?
拡張子 "jpg"しか選択できないみたいな。

209 名前:Name_Not_Found 投稿日:2006/09/26(火) 00:10:23 ID:???
できない

210 名前:Name_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>が上に表示されます。

ポップアップしたときにカレンダーを最前面に表示するにはどうしたらいいでしょうか。
よろしくおねがいします。

211 名前:Name_Not_Found 投稿日:2006/09/26(火) 00:44:34 ID:???
↑それってIEの話だろ?
select要素がz-index無視して、一番手前に表示されるのは
多くの人がムカついてるIEの挙動の一つで、結局、邪魔な時は
selectのstyleいじって隠すってのが、一つの手。
Lightbox系のライブラリは大抵そうしてるみたいだ。

212 名前:Name_Not_Found 投稿日:2006/09/26(火) 02:01:55 ID:???
z-indexをいじるのは不安だな。
SafariやOperaの対応の駄目さ加減が泣ける

213 名前:Name_Not_Found 投稿日:2006/09/26(火) 08:38:56 ID:???
カレンダーをIFRAMEに入れたら

214 名前:210 投稿日:2006/09/26(火) 08:41:55 ID:???
>211
ご回答ありがとうございました。
有名なバグだったんですね(;´Д`)

JSでナントカできないか頑張ってみたいと思います。
本当にありがとうございました。

215 名前:Name_Not_Found 投稿日:2006/09/26(火) 08:55:23 ID:???
JavascriptをUAによって読み込ませたいのですが、
これは見栄えの違いはあってもすべての環境でエラーなく実行させるのに
合理的な方法ですか?

216 名前:Name_Not_Found 投稿日:2006/09/26(火) 09:14:06 ID:???
日本語でおk

217 名前:Name_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の中を
どう書けばよいのでしょうか。

218 名前:Name_Not_Found 投稿日:2006/09/26(火) 09:48:01 ID:???
( ゚д゚ )

219 名前:Name_Not_Found 投稿日:2006/09/26(火) 09:57:11 ID:???
( ^д゚ /☆パチッ

220 名前:Name_Not_Found 投稿日:2006/09/26(火) 10:49:00 ID:???
>>217
まずHTMLの文法がおかしい。正しく空白をあけろボケ!
次にアンタのコードでは最初にqに''が入っていて、Q()が
呼ばれるとqに'Q()'という文字列を入れるようになってるが、
どこからもQ()を呼んでないから永遠にqは''のままだろボケ!
最後に、変数qに関数Qを入れてq経由で呼び出したいのなら
設定する方は「q=Q;」、呼び出す方は「onclick="q()"」だボケ!

221 名前:Name_Not_Found 投稿日:2006/09/26(火) 14:01:45 ID:???
(゜Д゜)ポカーン

222 名前:Name_Not_Found 投稿日:2006/09/26(火) 14:20:40 ID:???
function abc() { }

window.abc = function() { }

window abc = new function() { }
の違いを教えてください。

223 名前:Name_Not_Found 投稿日:2006/09/26(火) 14:31:51 ID:???
>>222
1番目と2番目はほとんど違わないが1番目のものは
呼び出す箇所より後ろにあっても大丈夫。そして3番目
は構文エラーつか滅茶苦茶だぞ!!! 文法が分かるまで
2度と来ないでくれ。

224 名前:Name_Not_Found 投稿日:2006/09/26(火) 14:32:05 ID:???
ついでにオイラにも
abc.prototype.x=function(){]
との違いも教えてくんなまし。

225 名前:Name_Not_Found 投稿日:2006/09/26(火) 14:35:25 ID:???
>>224
テメエも構文エラーだボケ! それを直したとして
new abc()で作るオブジェクトのxというメソッドを定義する。
この説明で分からなければ地道に本でも買って勉強し直せ。

226 名前:Name_Not_Found 投稿日:2006/09/26(火) 14:59:16 ID:???
>>223
最後のはタイプミスです。
window.abc = new function() { }

227 名前:Name_Not_Found 投稿日:2006/09/26(火) 15:07:11 ID:???
^o^/^O^/^0^/^_^/^o^/^O^/^O^/^_^/^|^/^0^/^O^/

228 名前:Name_Not_Found 投稿日:2006/09/26(火) 15:09:25 ID:???
>>223
オイラもタイプミスだった。
abc.prototype.x=function(){ }
ありがと、先コーよ。


229 名前:Name_Not_Found 投稿日:2006/09/26(火) 15:30:32 ID:???
>>226
エラーになるか、何だかよく分からないオブジェクトが
作られてそれがabcに入るか、どっちか。ホント真面目に本などで
勉強し直せって。ここでそんなアホなこと聞いてたら煽られる
だけで時間の無駄だと思う。

230 名前:Name_Not_Found 投稿日:2006/09/26(火) 15:42:21 ID:???
入門書とかのわりと最初の方でよく出てくるね。

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

みたいなのが。

231 名前:Name_Not_Found 投稿日:2006/09/26(火) 16:09:22 ID:???
>>230
おいおい、それは何だよ、煽り?小文字で始まるfunctionは
予約語だっつーの。ともかくnew Function(...)なんてまず
出て来るような入門書は捨てるべきだな。普通使わないだろ。

232 名前:Name_Not_Found 投稿日:2006/09/26(火) 16:18:15 ID:???
実行内容が空っぽの関数オブジェクト作るときはコンストラクタでやるけどな

233 名前:Name_Not_Found 投稿日:2006/09/26(火) 16:25:34 ID:???
>>229
なんでエラーになると思ったの?
お前も勉強しなおしたら?

234 名前:Name_Not_Found 投稿日:2006/09/26(火) 16:50:32 ID:???
>>233
うんエラーにはならないね。function(){;}の
[[Construct]]プロパティがどうなるかまでリファレンスを
読まずに書いたから。スマソかった。

235 名前:Name_Not_Found 投稿日:2006/09/26(火) 16:54:28 ID:???
>>233-234
「何だか分からないオブジェクト」じゃなくnew Object()と
同等のオブジェクトじゃないのかな。

236 名前:Name_Not_Found 投稿日:2006/09/26(火) 16:59:51 ID:???
そんでまあこの流れで言える事は、
このスレにはC++やJAVAもスラスラなコーダーもいれば
HTMLすらアヤフヤなPC初心者レベルまで幅広くいる
ってこったな。

237 名前:Name_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')
ではうまくいきません。
よろしくお願いします。

238 名前:Name_Not_Found 投稿日:2006/09/26(火) 17:52:05 ID:???
日本語でおk

239 名前:Name_Not_Found 投稿日:2006/09/26(火) 17:55:50 ID:???
日本語でおk

ってか、意味は分かるけどコードじゃなく言葉で質問できるようになれ

240 名前:Name_Not_Found 投稿日:2006/09/26(火) 18:26:43 ID:???
ご指摘Спасибо。御願いします。

241 名前:211 投稿日:2006/09/26(火) 18:51:13 ID:VWYIxMoc
>>210,212
レス遅れたけど、「styleいじって〜」って言ったのは
z-indexいじるんじゃなくて、JavaScriptからselectのstyle属性の
visibilityをhiddenにする って意味だよ。
カレンダーをポップアップさせる時だけ、そうやって邪魔なselect要素を
隠すわけ。

242 名前:Name_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が表示されるように直してください。

243 名前:Name_Not_Found 投稿日:2006/09/26(火) 23:20:07 ID:???
日本語でおk

244 名前:Name_Not_Found 投稿日:2006/09/26(火) 23:20:53 ID:???
アンタが勉強するためのスレだからね。洩れは書かないよ。
分からないことがあるならその分からないことを日本語で
質問しなよ。

245 名前:Name_Not_Found 投稿日:2006/09/26(火) 23:32:41 ID:9MZUf+OT
>>244>>243
お前ら馬鹿だな。2バイト書けば済むことなのに。

246 名前:Name_Not_Found 投稿日:2006/09/26(火) 23:36:35 ID:???
>>241
安心しろ、俺には通じてる。多分zIndexをいじっても隠れないと思うしね

247 名前:Name_Not_Found 投稿日:2006/09/26(火) 23:52:02 ID:???
>>242が引数にidを代入しているからalert(p)でFAな件について。

248 名前:Name_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ですらない

249 名前:Name_Not_Found 投稿日:2006/09/26(火) 23:55:28 ID:???
>>242
関係ないが、HTMLの属性値に ) や ( を直に書く時には、
属性値を囲む引用符を省けない。

250 名前:Name_Not_Found 投稿日:2006/09/26(火) 23:59:46 ID:???
HTMLとして正しく、かつ、関数fを変更せずに、
onclick="f(id)"
と書くのが最短だろう。

251 名前:Name_Not_Found 投稿日:2006/09/27(水) 00:00:30 ID:???
JSON

252 名前:Name_Not_Found 投稿日:2006/09/27(水) 00:07:08 ID:???
すいません、質問です

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

具体的には
elm.addEventListener("click", hoge, false);
if (elmにhogeが登録されていれば) {
elm.removeEventListener("click", hoge, false);
}
のようにイベントリスナが登録されているか調べて、
登録されていればremoveEventListenerで取り除きたいのですが…

253 名前:Name_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を立てて管理する

254 名前:Name_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.

なんだから。


255 名前:Name_Not_Found 投稿日:2006/09/27(水) 00:31:14 ID:???
>>253
>>254
調べなくても良かったんですね…
お二方ともありがとうございました

256 名前:Name_Not_Found 投稿日:2006/09/27(水) 00:44:11 ID:???
イベントリスナの解除は確か、Firefox1.0で正常に動作しないバグがあったよね。
登録されたほかのリスナをすべて解除してしまうとかという、割と致命的なの。
可能であれば使わないことをお勧めします

257 名前:Name_Not_Found 投稿日:2006/09/27(水) 01:09:34 ID:???
>>256
ありがとうございます。

そうなんですか、知りませんでした
ちゃんと取り除かないとメモリの解放なんかで
問題になるかな、と思ったんですが
バグがあるなら(Firefox 1.0では特に)控えたほうがいいかもしれませんね

258 名前:Name_Not_Found 投稿日:2006/09/27(水) 01:36:04 ID:???
>257
> ちゃんと取り除かないとメモリの解放なんかで
> 問題になるかな

クロージャを使った実装ならIEのバグでメモリ開放が失敗する可能性はあるが、
うまく動かない問題の方がよりクリティカルだしね

259 名前:Name_Not_Found 投稿日:2006/09/27(水) 01:42:25 ID:bGEcu8Cx
便乗で申し訳ないんですが教えて下さい。
イベントリスナーを付けた要素自体をDOM操作もしくはinnerHTMLの上書きで消去してしまう場合、要素を消去する前に、その要素に付けられたイベントリスナーは解除しておくべきでしょうか?

動的に書き換えるdivの中の要素にイベントリスナーを付ける事を検討しているところです。(タブでページを切り替えるようなインターフェイスを考えています。)

260 名前:Name_Not_Found 投稿日:2006/09/27(水) 02:08:41 ID:???
>>259
どっちでもいいんじゃない?

261 名前:Name_Not_Found 投稿日:2006/09/27(水) 03:05:29 ID:???
質問です。JavaScriptで音を鳴らす方法を教えてください。

鳴らすと決めてからタイムラグなく鳴らしたいので、
プリロードは必須になってしまいます。
可能であれば再生の制御もしたいですが、とりあえずは鳴らすだけでも十分です。

262 名前:Name_Not_Found 投稿日:2006/09/27(水) 06:48:04 ID:???
>>261
まさかググってはみたんだろうな。ググりもしないのなら相手にされないぞ。

263 名前:Name_Not_Found 投稿日:2006/09/27(水) 08:25:18 ID:???
>>262
調べたことを書かずにすみませんでした。
<BGSOUND>タグを使った実装は色々ありましたが、
Firefoxで使える方法を探しています。

264 名前:Name_Not_Found 投稿日:2006/09/27(水) 08:55:37 ID:???
>>263
ここでも勉強するのがいいんでないの。
ttp://kb.mozillazine.org/Windows_Media_Player

265 名前:Name_Not_Found 投稿日:2006/09/27(水) 09:16:00 ID:???
Operaでも使おうと思ったらFlash使うしかないね

266 名前:Name_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属性だけ変更できなかった。


267 名前:Name_Not_Found 投稿日:2006/09/27(水) 09:37:25 ID:???
<object> でできなかったっけ?
<embed> なんてのはできれば使いたくないねえ。

プリロードは、パラメータで再生しないようにしつつ、あらかじめいくつか埋め込んでおけばいいんじゃね。

268 名前:Name_Not_Found 投稿日:2006/09/27(水) 09:47:15 ID:???
>>267
> <embed> なんてのはできれば使いたくないねえ。
同意なんだけど、なんでだろう?

269 名前:Name_Not_Found 投稿日:2006/09/27(水) 10:10:42 ID:???
>>268
理由もなくなんとなく同意するなおww

270 名前:Name_Not_Found 投稿日:2006/09/27(水) 10:16:55 ID:???
<embed> は非推奨要素だしなあw
まあ今のところ全てが <object> でできるわけじゃないから使いにくいってのはあるけど。

<object> とか <applet> なんかの外部オブジェクトは src とかパラメータ変えても反映されないから、
innerHTML とか DOM 使って要素作り直すしかないんよね。
<embed> はテストしたことないけど、これもそうなのかもしらんね。

271 名前:Name_Not_Found 投稿日:2006/09/27(水) 10:23:11 ID:???
>>269
なにをいう、直感は大切じゃないかw

272 名前:Name_Not_Found 投稿日:2006/09/27(水) 10:37:54 ID:???
直感にも2通りあるぞ。使いものになる直感は膨大な経験知に担保された直感だ。


273 名前:Name_Not_Found 投稿日:2006/09/27(水) 13:15:47 ID:???
<embed> は非推奨要素とは初めて聞いた。
でも



どっちでもいいじゃないの。


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

まあ、そもそも、HTMLEmbedElementは
DOM仕様には存在した事さえないみたいだねえ。
Geckoその他が拡張しているだけのようだ。
この点は、innerHTMLと似ているな。
なんか使えるみたいだから使ってるだけという。

275 名前:Name_Not_Found 投稿日:2006/09/27(水) 14:16:49 ID:???
>>274
後半ナイス情報

276 名前:Name_Not_Found 投稿日:2006/09/27(水) 15:54:13 ID:???
非推奨じゃなくて独自拡張。HTML4.01の仕様にはembed要素はない
marqueeなんかと同じ類

277 名前:Name_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
まあそれ以上やるならストリクトスレ行けって話題だが。

278 名前:Name_Not_Found 投稿日:2006/09/27(水) 17:49:37 ID:???
http://www.realworldmultimedia.com/
このページのmore infoクリックでスクロールする仕掛けどうなってるのか解る人いたらヒント欲しい気持ちいっぱい。
こういうスクリプトの配布先とか無いでしょうか?

279 名前:Name_Not_Found 投稿日:2006/09/27(水) 17:53:20 ID:???
>>278
どこにもmore infoというのがないなあ。スクロールだったら
JavaScriptで色々できるけど。過去ログに山程あるよな。

280 名前:Name_Not_Found 投稿日:2006/09/27(水) 18:11:06 ID:???
配布されているスクリプトってそのままだと使いにくくてしょうがないイメージがある
ソースが見られるからそれでいいけど

281 名前:Name_Not_Found 投稿日:2006/09/27(水) 18:21:06 ID:???
こういうの苦手なのでできればそのソースの箇所と簡単な説明もらえたら超嬉しいんだけど〜
お願い!

282 名前:Name_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づつ増やす。
指定の高さに達したら処理を停止。

283 名前:Name_Not_Found 投稿日:2006/09/27(水) 21:00:31 ID:???
(´・ω・`)なにも見えんがな

284 名前:Name_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>

返答をいただけますとありがたいです。


285 名前:Name_Not_Found 投稿日:2006/09/27(水) 21:09:53 ID:???
>>284
onsubmit

286 名前:Name_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;
}
}



287 名前:Name_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);
}
}

288 名前:Name_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>
ヘッダはここまで。

289 名前:Name_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>

簡易版だからイマイチだが。
引数をうまく回せなかったので汎用性に欠けてしまった。

290 名前:Name_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()が呼ばれないのでしょうか。

291 名前:Name_Not_Found 投稿日:2006/09/28(木) 02:58:43 ID:???
>>82
>>87 - >>89

本当にありがとう、よく読んで試作してみます。
javascriptはDWの基本機能やビヘイビアばっかりに頼って、ちゃんと打ち込みしてないので、やはり一度覚えようかな。

292 名前:Name_Not_Found 投稿日:2006/09/28(木) 03:33:40 ID:???
タイマのイベントで、たとえマウスカーソルがウィンドウ外にいても
そのときのマウスのスクリーン座標を取得したいのですが、
どのようにすればよいのでしょうか。

293 名前:Name_Not_Found 投稿日:2006/09/28(木) 03:40:26 ID:???
>タイマのイベント
↑なにこれ?

294 名前:Name_Not_Found 投稿日:2006/09/28(木) 04:00:33 ID:???
>>293
すみません、setTimeout()やsetInterval()で指定した関数の中で、と
読み替えてください。

295 名前:Name_Not_Found 投稿日:2006/09/28(木) 04:18:54 ID:???
大麻のイベント = ドラッグパーティーかと思ったよ〜
ASは基本的にプレーヤーのウインドウ内で動くものだから、できない。
座標もウインドウの大きさを元にしたコンテンツ内の絶対座標、OSから見ると相対座標だからさ。
それを、OSからの絶対座標を収得するとなると、新たにオブジェクトをセットして、その中で表示解像度を収得、ドキュメント内の座標クリア、収得した座標軸の代入、
という手続きが必要かと。勿論オブジェクトは関数オブジェクトで、仮想オブジェクト。

296 名前:Name_Not_Found 投稿日:2006/09/28(木) 04:23:09 ID:???
Flashだと思って誤爆したw
javascriptは、よく知らないけど、何となく似てるよね。
で、html内に読み込むわけだから、やはり同じように仮想の領域を生成してやる必要があると思うの。
(できるかできないかは解らない、ごめん)

297 名前:Name_Not_Found 投稿日:2006/09/28(木) 04:40:41 ID:???
誤爆で回答とか自分以外ではじめて見たw

まあできないと思う。むしろできたら困るというか。

298 名前:Name_Not_Found 投稿日:2006/09/28(木) 07:48:19 ID:???
>大麻のイベント
劇藁た。
>>290
あんたねえ、>>224-225 は読んだのかね。「そのオブジェクト
の」prototypeプロパティをいじっても何の役にも立たないだろ。
DOMオブジェクトのプロトタイプを取る方法は(少なくとも公式
には)ないから。

299 名前:Name_Not_Found 投稿日:2006/09/28(木) 08:08:07 ID:???
まあ、仮に大元の要素の HTMLElement オブジェクトとかがあったら
HTMLElement.prototype.hoge = function(){ 〜 };
とかできれば便利なのにナーとか思ったことはあるけどね。
そしたら addEventListener を IE でも定義して使えるし、getElementsByClass とかも簡単にできるし。

300 名前:Name_Not_Found 投稿日:2006/09/28(木) 08:16:08 ID:in3Y9xSf
よろしくお願いします。
関数を
setTimeout(function(){...}',500);
でいつまでも呼び出して実行させているとメモリーリークになりますか?
リアルタイム時計のようなものはエンジンにとって酷なスクリプトなので
しょうか。

301 名前:Name_Not_Found 投稿日:2006/09/28(木) 08:21:31 ID:???
>>300
ならないよ。それだけじゃリークするようなとこないじゃん。
ところで「'」が余計だけど…

302 名前:300 投稿日:2006/09/28(木) 08:54:31 ID:???
>>301
ありがとうございます。
関数内にclearTimeout()を入れないとリークするって言われたんですけど
ガセですか。でもリアルタイム時計の場合、千ミリ秒ごとに関数を呼び出して
いて、ページを閉じるまでの間メモリー解放はどうしてるんでしょうか。
ちょっと気持ち悪いんですが。

303 名前:Name_Not_Found 投稿日:2006/09/28(木) 08:58:29 ID:???
>>302
大嘘だね。あんたも嘘つきが知合いだと大変だね…
ところで「ガベージコレクション」って知らないわけ?
(知らないなら説明はしないので検索でもして勉強してね)

304 名前:Name_Not_Found 投稿日:2006/09/28(木) 09:01:22 ID:???
Flashを使ったCOMETとJavaScriptで実装されたCOMETの違いってどんなところだろう?

Flashを使ったらパケットが使えるから、コネクションを張りっ放しにしなくてすむのかな?

305 名前:Name_Not_Found 投稿日:2006/09/28(木) 10:15:24 ID:???
>>303
知らないなら説明しない、知っているなら説明する。
これは永遠に知的格差の縮まらない不条理ではあるまいか。

306 名前:Name_Not_Found 投稿日:2006/09/28(木) 10:47:06 ID:???
>>305
おいおい、ここでGCの説明をはじめてどーするよ。
探すべきキーワード示してやったら十分親切だろ。
それともアンタがGCの説明するかい。叩いてあげるよ。

307 名前:Name_Not_Found 投稿日:2006/09/28(木) 10:51:39 ID:???
>>306に同意
しかしsetTimeoutが自動的に開放されるのは実装の問題であって
微妙にGCとは違うんじゃないかと思ってみる

308 名前:Name_Not_Found 投稿日:2006/09/28(木) 10:55:26 ID:???
setTimeoutでつけた関数とかは一回発火したら
もう不要なのでどこでも覚えていない→GCで回収、
とか思っていたんだけどね。その関数を別の変数でも
保持してたら解放できないわけだしさ。

309 名前:Name_Not_Found 投稿日:2006/09/28(木) 11:04:04 ID:???
>>308
質問がclearTimeout使わなくても…という話だったから、一度も発火していない話かと

310 名前:300 投稿日:2006/09/28(木) 11:24:49 ID:???
>>303
みなさんいろいろお騒がせしています。>>300,302の投稿者です。
おまえ、2ちゃんで大嘘呼ばわりされてるぞ、とその知人にいってやりました。
ぼくも悔しかったので。そしたらその知人メールで曰く。何も知らないのはそ
いつの方だろ。もっと勉強しろといっとけ、と。で、根拠があるならぼくには
っきりと示してほしいと聞いたら、オレはこの問題の専門家だ、ガベジコレク
ションと何の関係がある、糞。といって瓜を1つ付けてくれました。
ttp://chaichan.hp.infoseek.co.jp/qa1000/qa1193.htm
↑これがそうです。どうも知人の言うことのほうが正しいような気がしました。

311 名前:Name_Not_Found 投稿日:2006/09/28(木) 11:41:32 ID:???
>>310
複雑になってきて、どこでsetTimeoutを実行したか整理するのが面倒になる事がある。
思わぬところで連続して実行してしまうと、間隔がつまる。
一々、clearTimeoutしておけば、この問題にみまわれることがない。
だから、clearTimeoutとsetTimeoutを対にして使うことは良くある。

リークについては、MSが去年出した文書を読めば書いてある。
最近の例で言えば、某Perlの達人がブログで遊びで書いたJSがリークする典型。

312 名前:Name_Not_Found 投稿日:2006/09/28(木) 11:48:29 ID:???
あと、リークの実験は、現在ではなかなか難しい。
余裕があれば、中古屋で数年前までのウィンドウズパソコン買ってきて、初期状態のまま使う。

313 名前:Name_Not_Found 投稿日:2006/09/28(木) 11:58:46 ID:???
>>310
>>311のいうとおりで。
でも、リアルタイム時計程度なら思わず連続実行することもないし
IEの不具合に引っ掛かることもないからclearTimeoutは必要ないだろう。

あと、ガベコレは関係あります(特殊な処理系でないかぎり)。

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

実装のバグを明示できてないのにGC関係ないって言い切るのもかなりヤバイ。

315 名前:Name_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)』
という意味の言葉になるリスクが出てきた」

グーグルの決算報告書には、そんな窮状が示されている。そして、こう締めく
くる。
「このままでは『グーグル』という商標は失われ、誰もが使えることになって
しまう」

317 名前:Name_Not_Found 投稿日:2006/09/28(木) 17:07:59 ID:???
だが断る

318 名前:Name_Not_Found 投稿日:2006/09/28(木) 17:18:46 ID:???
一応setTimeoutが絡んでるらしいすでに修正されたFirefoxのメモリリークバグを。
ttps://bugzilla.mozilla.org/show_bug.cgi?id=319980
実際には大したメモリリークを引き起こすものではないといってるみたいだが。

319 名前:Name_Not_Found 投稿日:2006/09/28(木) 17:23:02 ID:???
IEのクロージャを含んだ場合のメモリリークバグの
具体的な詳細を説明できる人はいるのかな?

いつもこのスレで「あるらしい」という話と適当なURLのみで流されてるけど…

320 名前:Name_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);

少し長いので、ソースは次の投稿に書きます。

321 名前:Name_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;
}
}
===================================

322 名前:Name_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);

323 名前:Name_Not_Found 投稿日:2006/09/28(木) 17:54:41 ID:???
>>319
過去にあった議論では、クロージャである必要はなく、
「DOMツリーのオブジェクトからJavaScriptのオブジェクト
への参照があり、なおかつそのJavaScriptのオブジェクトから
DOMツリーのオブジェクトの参照(つまりサイクル)があると、
参照カウントによるごみ集めが使われるため、DOMツリーの
オブジェクトをDOMツリーから切り離し、それからJavaScriptの
オブジェクトもどこからも参照しなくなった場合に、その参照
できなくなったサイクルが回収されないでリークする」という
ものだった。で、回避策はそういうサイクルを作らないように
すること。明示的にサイクルを作らなくてもクロージャのせいで
サイクルができてしまう場合があるので注意すると。そんな話
だったね。

324 名前:Name_Not_Found 投稿日:2006/09/28(木) 17:58:18 ID:???
>>323
ああ、そりゃしょうがないな。 昔からどこの言語でも結構言われてるヤツじゃね?

325 名前:Name_Not_Found 投稿日:2006/09/28(木) 18:02:23 ID:???
>>321
そのObject.extend()というのは?

326 名前:Name_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();

327 名前:Name_Not_Found 投稿日:2006/09/28(木) 18:55:23 ID:???
>>326
それで、各クラスにメソッドやインスタンス変数(メンバ変数)を
定義するにはどうするの。prototype.jsをまったく知らないのでね。

328 名前:Name_Not_Found 投稿日:2006/09/28(木) 19:00:28 ID:???
>>320
根本的な話。
クラス-インスタンスベースから頭を切り替えないと、JavaScript でスマートなスクリプト書けないよ。

329 名前:Name_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"

330 名前:Name_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


331 名前:Name_Not_Found 投稿日:2006/09/28(木) 19:09:46 ID:???
>>328
過去のログを見るに、そういった意見は多いようですね。
それを確かめるためにも、実際に行ってみたいという、ひねくれた気持ちもあります。

332 名前:Name_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


333 名前:332 投稿日:2006/09/28(木) 19:14:50 ID:???
var SubClass = Class.create(); → var SubClass = Class.create(SuperClass); に訂正。

334 名前:Name_Not_Found 投稿日:2006/09/28(木) 19:25:07 ID:???
>>331
ttp://devedge-temp.mozilla.org/library/manuals/2000/javascript/1.5/guide/obj2.html

ここ読みな。

335 名前:Name_Not_Found 投稿日:2006/09/28(木) 19:40:16 ID:???
>>330 >>332 >>334
せっせと読んでいます。理解に時間がかかり返事が遅くなってしまうかもしれません。
ありがとうございます。

336 名前:Name_Not_Found 投稿日:2006/09/28(木) 19:42:18 ID:???
>>334
ちゃんとメンテされてる方のURL出したほうがよくない?
ttp://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Guide:Details_of_the_Object_Model
ちなみに日本語版もあるよ。
ttp://developer.mozilla.org/ja/docs/Core_JavaScript_1.5_Guide#.E3.82.AA.E3.83.96.E3.82.B8.E3.82.A7.E3.82.AF.E3.83.88.E3.83.BB.E3.83.A2.E3.83.87.E3.83.AB.E3.81.AE.E8.A9.B3.E7.B4.B0

337 名前:Name_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
なんでなんでしょうか?よろしくお願いします。

338 名前:Name_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

339 名前:Name_Not_Found 投稿日:2006/09/28(木) 20:48:36 ID:???
全てのフレームを表示されたまま印刷する(1枚の紙に)方法を教えてください。

340 名前:Name_Not_Found 投稿日:2006/09/28(木) 20:49:56 ID:???
>>339
ブラウザにその機能がなければ無理。

341 名前:Name_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;
}
}

342 名前:Name_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
熟読しておきます。ありがとうございました。

343 名前:Name_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を読み頑張ります。

問題点の指摘とアドバイス、本当にありがとうございました。

344 名前:Name_Not_Found 投稿日:2006/09/28(木) 21:20:17 ID:???
>>339 IEでの”表示されたとおりに印刷する”で十分なのですが、方法を教えてください。

345 名前:Name_Not_Found 投稿日:2006/09/28(木) 21:23:28 ID:???
ファイル→印刷

346 名前:Name_Not_Found 投稿日:2006/09/28(木) 21:24:44 ID:???
>>344
スレ違い、っていうか板違い。
どうしても javascript 使いたいならどう使いたいか言えw

347 名前:Name_Not_Found 投稿日:2006/09/28(木) 21:25:34 ID:???
>>345
JavaScriptでデフォルトのチェックを通常は個別に印刷になっているので、”表示されたとおりに印刷する”にしたいです。


348 名前:Name_Not_Found 投稿日:2006/09/28(木) 21:27:30 ID:???
>>345
JavaScriptによって、デフォルトのチェックが通常は個別に印刷になっているところを、”表示されたとおりに印刷する”にしたいです。

読みづらかったので再度すいません。

349 名前:Name_Not_Found 投稿日:2006/09/28(木) 21:27:37 ID:???
(゜Д゜)ポカーン

350 名前:Name_Not_Found 投稿日:2006/09/28(木) 21:45:14 ID:???
つーかフレーム使うな

351 名前:Name_Not_Found 投稿日:2006/09/28(木) 21:56:08 ID:???
PHP以外でフレーム回避の方法が浮かばないのです。
PHPは使用不可なのです。

352 名前:320 投稿日: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;
}
}
===================================

353 名前:Name_Not_Found 投稿日:2006/09/29(金) 11:42:06 ID:???
個人的にはECMAScriptのオブジェクトに慣れたら
prototypeベースの継承すら必要なくなる気がしている

354 名前:Name_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

355 名前:Name_Not_Found 投稿日:2006/09/29(金) 14:56:02 ID:???
デザイン的には好感だけどな。中学生には無理だろう。
しかしロゴの画像リンクが切れているのはどうかと思う。

356 名前:Name_Not_Found 投稿日:2006/09/29(金) 16:39:21 ID:???
あの永田のメールの一件でも露呈しているけど、
あの党にはITリテラシーが人並み以下の人間しかいないんだよ。

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

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

ITに疎いと公言する40代の人間が党首だった党なんて無用の存在。
単なる最大手の選挙互助会で税金泥棒集団だよね。

357 名前:Name_Not_Found 投稿日:2006/09/29(金) 17:39:13 ID:???
今度の党首は晋三の所信演説もよそに心臓の問題で入院中らしいよ。
しかし、TBSの山本モナとかいう女キャスター、取材対象と寝てせっせとお茶の間
に情報提供はリッパ。民主党が甘いんだよ。TBSは広報も言ってる通り絶対に降板
させないでほしい。この女、この顔でと思うと酒がうまい。今夜も楽しみだ。
民主のサイト見たが、ITオンチに付け込まれて完全に業者にボッタクられてるな。

358 名前:Name_Not_Found 投稿日:2006/09/29(金) 17:55:43 ID:???
スレッドの題名すら読めない奴が、なにえらそうに語ってるんだか…

359 名前:Name_Not_Found 投稿日:2006/09/29(金) 18:03:15 ID:???
あべ総理のIT系への強さだけはガチ。
公式サイトに入った瞬間からわかるw

360 名前:Name_Not_Found 投稿日:2006/09/29(金) 18:31:41 ID:???
しかし、東京都のサイトもひどいよ。リンクがエラー連発。触っただけで鰓。
ttp://tokyo23.seisou.or.jp/23ku_seisou/index.html
悪徳IT業者にいいようにされてる風。IT無知で文句もいえないんじゃないか?
おれはこのページ行ってごみ問題に興味なくした。

361 名前:Name_Not_Found 投稿日:2006/09/29(金) 19:09:58 ID:???
>>354
2004年の残骸ファイルか・・・

未来志向でやろうぜ

362 名前:Name_Not_Found 投稿日:2006/09/29(金) 19:13:45 ID:???
公官庁のサイトなら新潟が最強かもね。
ff向けのツールバーまで配布したりして。

363 名前:Name_Not_Found 投稿日:2006/09/29(金) 20:33:26 ID:???
>>362
×公官庁(しかし、よく変換できたなw)
○官公庁

大辞林 第二版 (三省堂) 【公官庁】 の検索結果
キーワードに該当する結果が見つかりませんでした

364 名前:Name_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">

吉田君 バロス !!

365 名前:Name_Not_Found 投稿日:2006/09/29(金) 20:49:02 ID:???
>>364
ワロタ
民主党には国は任せられん!

366 名前:Name_Not_Found 投稿日:2006/09/29(金) 20:53:03 ID:???
>>364
吉田君じゃなくて義久君だyo!

367 名前:364 投稿日:2006/09/29(金) 21:13:44 ID:KQxiDyIv
義久君、苗字間違えてゴメン。

368 名前:Name_Not_Found 投稿日:2006/09/29(金) 21:18:32 ID:KQxiDyIv
>>364

制作担当したウェブ屋は「博報堂 i-studio」のようだな。
これで技術レベルが知れてしまったな。御愁傷様。

369 名前:Name_Not_Found 投稿日:2006/09/29(金) 21:50:51 ID:???
>>354の最後のフォント何?
font-family: "MS ゴシック", Osaka, "ヒラギノ角ゴ Pro W3";

370 名前:Name_Not_Found 投稿日:2006/09/29(金) 21:58:54 ID:KQxiDyIv
>>369

Mac OS Xのフォント。

371 名前:Name_Not_Found 投稿日:2006/09/29(金) 23:35:08 ID:???
何スレ違いで盛り上がってるんだ?レスの浪費しすぎ。

372 名前:Name_Not_Found 投稿日:2006/09/30(土) 09:21:07 ID:???
演算子でオブジェクトをdeleteしてもメモリは開放されませんか?


373 名前:Name_Not_Found 投稿日:2006/09/30(土) 10:22:41 ID:???
民主党SUGEEEEEEEEEEE

374 名前:Name_Not_Found 投稿日:2006/09/30(土) 11:31:44 ID:???
>>372
deleteできるのはあくまでも「オブジェクトが持つプロパティ」
であってそこに入っているオブジェクト自体を解放するわけじゃ
ない(そのプロパティにオブジェクトが入ってるものとしてね)。

そのプロパティに入っている(いた)オブジェクトが他から
指されてないなら、そのオブジェクトの領域は将来的にGCが
回収してくれるだろうけど。

375 名前:372 投稿日:2006/09/30(土) 12:58:11 ID:???
>>374さん
ありがとうございました。わかりました。


376 名前:Name_Not_Found 投稿日:2006/09/30(土) 16:34:04 ID:IGGdj822
質問です。
みなさんがJavaScriptにはクラスはない、とおっしゃるとき、どの言語の
クラスを思い浮かべて比較していますか?Javaですか?、C++ですか?

377 名前:Name_Not_Found 投稿日:2006/09/30(土) 16:40:48 ID:???
いや単純にクラスという構造体を考えてるだけだけど。比較なんてしてない

378 名前:Name_Not_Found 投稿日:2006/09/30(土) 16:46:12 ID:???
>>354
民主党はありえないな。もうオウムと同じ扱いでいいよ。

>>368
根拠は?
流言蜚語はよくない。

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

と言うか、私はそう考えている。

380 名前:Name_Not_Found 投稿日:2006/09/30(土) 18:59:37 ID:???
class という予約語が存在して、それを使える JScript.net とか、AS2-3 などが既に存在する。
単純に、それらとの区別ということでいいだろ。

381 名前:Name_Not_Found 投稿日:2006/09/30(土) 19:08:04 ID:ZG1z0M1B
オナニーしすぎて辛くなってきた
今日はIDに出た数字の回数だけやって寝ることにしよう

382 名前:Name_Not_Found 投稿日:2006/09/30(土) 19:28:15 ID:???
101回か。逝ってら。

383 名前:Name_Not_Found 投稿日:2006/09/30(土) 22:00:32 ID:???
上のフレームのフォントサイズ変更ボタン(画像)を作って、
下のフレームのフォントサイズを変えたいのです。
どなたかご教授ください。
お願い致します。

384 名前:Name_Not_Found 投稿日:2006/09/30(土) 22:20:45 ID:3HQcwCFn
余談的質問です。
JavaScriptのDHTMLではよくダミー画像(1x1px)を使いますが、このダミー
画像(自分はspace.gifとしています)ってどうしても45kb位になってしまい
ます。軽さを信条としている自分的には十分ですが、やはりピクセル的に45は限
界ということでしょうか。10kbくらいでできそうな気がするのですが。
無理ですか。

385 名前:Name_Not_Found 投稿日:2006/09/30(土) 22:24:04 ID:???
お、教授登場! <<383
もうムダスレ再燃はなしな。教授帰れや。

386 名前:Name_Not_Found 投稿日:2006/09/30(土) 23:01:25 ID:???
>>384
普通に考えて1024byte以下になるだろ…
ちなみに俺が使っているのは43byte

387 名前:Name_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 = 'サイズ指定';
じゃあがんばって。全部書いてやることはしないスレだから。

388 名前:383 投稿日:2006/10/01(日) 03:17:50 ID:???
>>387
本当にありがとうございました。
たぶん出来たようで、動いてます。

389 名前:Name_Not_Found 投稿日:2006/10/01(日) 04:22:23 ID:ZKJiNMkb
オブジェクトのクラスを得る関数はありますか。
JavaでいうgetClass()です。
こんなかんじの関数。
[1,2,3].getClass() //=> Array
/foo/.getClass() //=> RegExp

390 名前:Name_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>

391 名前:Name_Not_Found 投稿日:2006/10/01(日) 09:51:19 ID:???
DOCTYPEがない!

392 名前:Name_Not_Found 投稿日:2006/10/01(日) 09:55:38 ID:OFT82Ec2
質問です。
プロパティというのは変数と考えてよいのでしょうか?

393 名前:Name_Not_Found 投稿日:2006/10/01(日) 10:01:20 ID:???
>>391
コピペ失敗orz
>>392
オブジェクトに付随する変数と思えばいいのでは。JavaScript
では変数もすべて「何らかのオブジェクトのプロパティ」と
いうことになっているし。

394 名前:Name_Not_Found 投稿日:2006/10/01(日) 13:08:17 ID:???
Cometを使ったチェスボード
ttp://void-main.org/chessboard/

Ajaxスレで話題になっていたのでこちらにも転載
これはAjaxやComet以上に、JavaScriptのレベルも相当高い

395 名前:Name_Not_Found 投稿日:2006/10/01(日) 14:46:53 ID:???
>>394
何そのJScriptメモリーリーク再現コードw
いいから、えいじゃっくすスレに隔離されてろ、初心者w

396 名前:Name_Not_Found 投稿日:2006/10/01(日) 14:50:35 ID:???
どうみても僻みです、本当に(ry

397 名前:Name_Not_Found 投稿日:2006/10/01(日) 15:06:27 ID:???
394のはJuggernautを使って通信しているみたいだ。
Flashを使っているから別のポートが必要になるのであまり好きではないが、
サーバに与える負荷は一般的なCometと違って随分小さいはず。

操作感がかなりいいのが気に入った。

398 名前:Name_Not_Found 投稿日:2006/10/01(日) 16:51:02 ID:???
394はこの調子でゲームを作れば面白いんじゃないかな

399 名前:Name_Not_Found 投稿日:2006/10/01(日) 17:33:57 ID:7uEFaylH
すみません質問させてください。

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

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

ご存知の方、教えてください。よろしくお願いします。

400 名前:Name_Not_Found 投稿日:2006/10/01(日) 17:43:22 ID:???
過去ログ

401 名前:Name_Not_Found 投稿日:2006/10/01(日) 17:47:32 ID:???
>>400
見たけど載ってないんですが・・・

402 名前:Name_Not_Found 投稿日:2006/10/01(日) 18:33:17 ID:???
>>399
日本語が意味不明すぎ。こういうことかね。試行錯誤じゃなく理
詰めで考えるようにならないと。
obj1 = documen.forms.XXXFrom.elements['hogehoge[' + x + ']'];

403 名前:Name_Not_Found 投稿日:2006/10/01(日) 20:23:21 ID:???
FAQの7でわからんもんなの?

404 名前:Name_Not_Found 投稿日:2006/10/01(日) 21:38:34 ID:???
てか、なんも考えて寝駄露.

405 名前:Douglas 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です。両方ともオライリーから出版されています。


406 名前:Name_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に任意のオブ
ジェクトに使える汎用的なクラスメソッドが追加された。

407 名前:Name_Not_Found 投稿日:2006/10/02(月) 09:31:21 ID:???
まあいいんだけど、IEが追従してくれないとFFx専になっちゃう
ので使いづらいんだよね。

408 名前:Name_Not_Found 投稿日:2006/10/02(月) 10:17:53 ID:???
意味の無い仕様拡張だな

409 名前:Name_Not_Found 投稿日:2006/10/02(月) 11:20:59 ID:???
そんなことはない。IEが追従してくれたらString関係なんかは
便利に使えそうだと思っている。

410 名前:Name_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

411 名前:Name_Not_Found 投稿日:2006/10/02(月) 13:45:28 ID:???
Firefoxでonmousemoveイベントでevent.whichの値が常に1になってしまいます。
マウスのボタンの状態が来るはずですよね? 座標はちゃんと取れてます。
使い方間違ってますか?

初歩的な質問かもしれませんが、自分でやってみてどうにもうまくいかないので
お願いします。


412 名前:Name_Not_Found 投稿日:2006/10/02(月) 14:40:06 ID:???
>>411
DOM Level 2 event ではwhichという属性は定義されていない。
ボタンのON/OFFを調べたければmousedown/mouseupも捕捉して
自前でON/OFFを追跡するのかな。

413 名前:Name_Not_Found 投稿日:2006/10/02(月) 15:44:11 ID:???
本当に初心者質問で申し訳無いですが、ボタンが押されたら、
「本当に実行してもいいですか?」のようなを表示させるには、
どうしたらいいのでしょう?
onclickを使えばいいのでしょうか?window.openを使うと別ブラウザが
開いたりいまいち、わかりません。
単に、編集や削除を実行していいのかの、確認をするメッセージを
だしたいだけです。
その確認メッセージを押されたら、phpが実行されるようにしたいのです。
お願いします。

414 名前:Name_Not_Found 投稿日:2006/10/02(月) 15:54:33 ID:???
>>413
つ[alert]

415 名前:Name_Not_Found 投稿日:2006/10/02(月) 15:55:03 ID:???
じゃねえな つ[confirm]

416 名前:Name_Not_Found 投稿日:2006/10/02(月) 15:56:51 ID:???
>>413
あほらしい。その確認メッセージでYESを押すと実行とかに
したら、誰もが条件反射でYESを押すようになるだけだよ。
役に立たん。

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

それより複雑なことがしたいのなら、地道に本でも買って
勉強した方がいいと思うね。勉強不足すぎだよアンタ。

417 名前:Name_Not_Found 投稿日:2006/10/02(月) 16:02:47 ID:???
>>416 まちがえたpromptじゃなくて>>415のいうようにconfirmね。

418 名前:Name_Not_Found 投稿日:2006/10/02(月) 16:13:21 ID:???
>>416
スレ違いだが、0回と1回では大きな差がある。
確認メッセージが0回だと間違って押した場合、クリティカルな処理であればあるほど痛い目にあう。
特にformの場合、リターンでsubmitが呼ばれるinput type="text"で誤ってリターンを押された時の
確認メッセージはあっても悪くないはず。

とはいえ、まっとうなデザインをしたらconfirmはほとんど必要ないはずだけどね

419 名前:Name_Not_Found 投稿日:2006/10/02(月) 16:18:36 ID:???
削除とかの機能は2アクションにすればよい。
チェックボックスをチェックしてボタン押すとか。
こうしとけば無意味な確認ダイアログはいらない。

420 名前:413です。 投稿日:2006/10/02(月) 16:24:09 ID:???
ありがとうございます。
onclick='confirm("本当に削除してもいいですか?")'でできました。

複数の値をチェックしたら、一気に削除できるようにしているので、
確認メッセージは必要だと思いまして><
確認ページを作らなかった自分が悪いんすけど。。
どうもありがとうございます。

421 名前:413です。 投稿日:2006/10/02(月) 16:26:44 ID:???
ちょっと、無駄に追記を。
削除ボタン近くに、変更ボタンもあるので(離して作れって感じですけど)
一応、誤認用にと思って必要だと思いました。

422 名前:413です。 投稿日:2006/10/02(月) 16:36:02 ID:???
度々、すいません。↑のように書いたら、確認は表示されるようになりましたが、
キャンセルを押しても、OKを押しても、実行されてしまいます。
どうすればいいのでしょうか?

423 名前:Name_Not_Found 投稿日:2006/10/02(月) 16:46:45 ID:???
過去ログ

424 名前:Name_Not_Found 投稿日:2006/10/02(月) 16:54:40 ID:???
>>422
てめーの目は節穴か?「"return confirm(...)"」
returnという文字が読めないのかそうですか(劇藁)

425 名前:Name_Not_Found 投稿日:2006/10/02(月) 17:24:10 ID:???

>(劇藁)

なつかしいな

426 名前:Name_Not_Found 投稿日:2006/10/02(月) 17:28:00 ID:???
劇薬かと思った

427 名前:Name_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 [しばしば複数形で] 報酬,収入,収益.

428 名前:Name_Not_Found 投稿日:2006/10/02(月) 22:23:18 ID:???
おもしろくないよ(´・ω・`)

429 名前:Name_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));
}
}


430 名前:Name_Not_Found 投稿日:2006/10/03(火) 01:35:26 ID:???
JavaScriptの本を探しています。

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

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

プロトタイプとかなんのことだかさっぱり分かりません。

431 名前:Name_Not_Found 投稿日:2006/10/03(火) 02:09:43 ID:???
>>430
無い
ECMAScriptの仕様書が現時点でベストだが、読みなれてないと無理だし

書こうかな

432 名前:Name_Not_Found 投稿日:2006/10/03(火) 02:20:51 ID:???
オライリーのでいいやん

433 名前:Name_Not_Found 投稿日:2006/10/03(火) 02:32:58 ID:???
オライリーの翻訳ものはどういう基準で出てるんかね?
原書は5版まで行ってるのに日本語版は3版でとまってるし。

434 名前:Name_Not_Found 投稿日:2006/10/03(火) 02:36:57 ID:???
>>430
つ 役に立つ書籍は? 3冊目
http://pc8.2ch.net/test/read.cgi/hp/1142829968/

まあこのスレでよくながあるのはオライリーの通称サイ本とMy UNIXあたりだな。

435 名前:Name_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 "名前を入れて下さい".

436 名前:Name_Not_Found 投稿日:2006/10/03(火) 03:30:12 ID:???
フォームで、名前をローマ字で入力するときに、
一文字目を自動的に大文字にしたいんですが
どうしたらいいですか?


437 名前:Name_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() });" />
試してないけど。

438 名前:Name_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
----------------------
*/

439 名前:Name_Not_Found 投稿日:2006/10/03(火) 04:37:28 ID:???
>>429
for (i = 0; i <Math.floor(Math.random() * str.length); i++)

とりあえずこの時点で
意図したとおりに動かないだろうな

440 名前:Name_Not_Found 投稿日:2006/10/03(火) 04:41:13 ID:???
>>437
宿題と明言するような者に答えるな屑。

441 名前:Name_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);

どういう状態を経てるんだろうか

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

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

仕様のどっかに載ってるのかはちょっとわからないわ。

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

444 名前:Name_Not_Found 投稿日:2006/10/03(火) 05:29:37 ID:???
ごめん、あげちゃった。。。

つづいて質問なんですけど、コンソール版のJavaScriptを使ってるんですが、ファイルの入出力はどうしたらいいですか。
使っているのはSpiderMonkey1.5です。
もしすれ違いならごめんなさい。

445 名前:Name_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使ったほうが確実だと思うけどね。

446 名前:Name_Not_Found 投稿日:2006/10/03(火) 05:42:57 ID:???
>>444
JS_HAS_FILE_OBJECTつきでSpiderMonkeyをビルドしろ。
Fileオブジェクトが使えるようになる。別途NSPRも必要だがな。
もっともWindowsならそんなことするよりWSH上で
JScript+FileSystemObjectのほうが手っ取り早い。

447 名前:429 投稿日:2006/10/03(火) 06:08:13 ID:???
>>429
ceilですね。onz.
if文で配列比較はJavaScriptでは無理なのでしょうか。



448 名前:Name_Not_Found 投稿日:2006/10/03(火) 06:31:53 ID:???
>>447
いやそういう問題じゃないでしょ。
要はiがrndaに含まれるかどうかが知りたいんだよね?
今のままだとrndaの中身が[1,1,1,1,1,1]とかになる
可能性もあるわけだけどそれでもいいの?
ランダムにって言ってるけど具体的にどんな分布状況がいいの?
ある文字が赤大文字で表示されるかどうかの確率が1/2とかだと楽だろうけど。
関係ないけどfontcolorとかfontsizeとか使ってる人見たの初めてか二度目くらいだ。


449 名前:429 投稿日:2006/10/03(火) 07:07:33 ID:???
>>要はiがrndaに含まれるかどうかが知りたいんだよね?
そうです。 if文で配列比較は可能か否か?です。
>>今のままだとrndaの中身が[1,1,1,1,1,1]とかになる
あっあっ〜そうですね。ダブったり、後に少ない数が出たり、しますね。onz.
トグルならわかりますが、分岐をランダムにというのが分かりません。
分布をランダムにしたいのです。
レス有り難うございます。いいアイデアを頂戴出来れば嬉しいです。


450 名前:Name_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>

451 名前:Name_Not_Found 投稿日:2006/10/03(火) 07:22:28 ID:???
>>443
ECMAの仕様を見ると分かるが [[dontenum]] つまりfor-inで
出て来ないことになっているプロパティというものがハッキリ
規定されている。だから隠しているわけでもなんでもなく仕様。

452 名前:Name_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>


453 名前:Name_Not_Found 投稿日:2006/10/03(火) 08:12:05 ID:???
デモ用のコードだから原理が分かりやすい方がいいと思うね。
まあそっから先は質問者の選択ということで。

454 名前:Name_Not_Found 投稿日:2006/10/03(火) 08:19:48 ID:???
枝葉末節ですまないが、変数を作るとき「rnd」などというのはボケカスだろ。
スクリプト内で衝突以前に人間の目が「md」と衝突する。

455 名前:429 投稿日:2006/10/03(火) 08:47:47 ID:???
上は理解に時間が掛かりそうです。下は何とか理解できそうです。
配列の要素からランダム番目をランダム個抽出すること。
if文での配列比較は可能か否かが質問の意図なのですが、
そちらの方は、何処へ?


456 名前:Name_Not_Found 投稿日:2006/10/03(火) 08:57:21 ID:???
>>455
配列を一括して比較することはできない。速さを気にしないなら
if(a.join(',') == b.join(',')) ...
みたいに連結した文字列にして比較する。しかしそんなベタな
ことをしてるようではのろいしダサイと思うがね。

「ランダム番目をK個抽出」→「0〜N-1の入った配列を
シャッフルして先頭からK個取る」とかすぐ分からんもんかね(w

457 名前:429 投稿日:2006/10/03(火) 09:13:33 ID:???
>>456
比較は出来ないんですね。
>>すぐ分からんもんかね
やっと分かりました。
ご親切にどうもありがとうございました。


458 名前:Name_Not_Found 投稿日:2006/10/03(火) 09:18:23 ID:???
>>456
if(a.join(',') === b.join(',')) ...
ではないの?

459 名前:Name_Not_Found 投稿日:2006/10/03(火) 09:34:31 ID:???
>>458
joinで返されるのは文字列値だから「==」でも「===」でも
同じでしょ。つか「===」が本当に要ることってめったに
ない(同じオブジェクトかどうかを調べたいときだけ)。

460 名前:429 投稿日:2006/10/03(火) 09:45:54 ID:???
シャッフルして先頭からn個取ったのをjoinし比較して分岐させることで、
意図通りのが出来そうです。改めてお礼申し上げます。

461 名前:Name_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 しないし。

462 名前:Name_Not_Found 投稿日:2006/10/03(火) 11:34:49 ID:???
どーでもいいとは?とても重要なことかと思うが。

463 名前:Name_Not_Found 投稿日:2006/10/03(火) 11:38:48 ID:???
その言い方もちょっとね。速さが必要なら速くする。どうでも
いいところは分かりやすく書く。というのが重要だと思うよ。

464 名前:Name_Not_Found 投稿日:2006/10/03(火) 13:37:46 ID:???
join如きでクリティカルになるようなプログラムを書くほうがおかしい

465 名前:Name_Not_Found 投稿日:2006/10/03(火) 14:33:04 ID:xUZhBwHx
質問です。
もしwindowがオブジェクトだとしたら、windowに直接オブジェクトを作るのに、
window={p;'q'}
とはできないのでしょうか。実際できないのですが、どこがいけませんか。

466 名前:465 投稿日:2006/10/03(火) 14:35:20 ID:???
すいません指がすべりました。
window={p:'q'}です。

467 名前:Name_Not_Found 投稿日:2006/10/03(火) 15:16:18 ID:???
>>466
そうすると「windowという名前の変数にpというプロパティ
だけを持つまったく新しいオブジェクトを代入」してしまうでしょ。
変数の代入は上書きだからこれまでwindowに入っていた内容は
アクセスできなくなるわけね。

あなたがやりたいことは「windowオブジェクトにpという新しい
プロパティを追加する」ことではないの?それなら「p = 'q';」

468 名前:466 投稿日:2006/10/03(火) 15:22:50 ID:???
>>467
ありがとうございます。
確かに上書きですね。納得です。お手数かけました。

469 名前:Name_Not_Found 投稿日:2006/10/03(火) 16:10:04 ID:???
navigator.appVersionで吐き出される値が、
USER_AGENTと全く異なる値になることってありますか?

470 名前:Name_Not_Found 投稿日:2006/10/03(火) 16:27:08 ID:???
ふつう、常に違うだろ。それとも、navigator.userAgentの話ですか?

471 名前:469 投稿日:2006/10/03(火) 16:41:08 ID:???
説明不足ですいません。「Mozilla/」以下がどうこう、みたいな話ではなく、
4.0(〜〜)と返ってくるべきところに 2.1 という値しか返ってこない、という状況になり、
バージョンチェックなどで弾かれてしまう問題にぶつかっています。

472 名前:Name_Not_Found 投稿日:2006/10/03(火) 16:48:04 ID:???
>>471
そりゃ,
var appver=navigator.appVersion;
appver=2.1
とか意図的に仕込まれてるんでは?普通ブラウザ情報は正確でほ。


473 名前:Name_Not_Found 投稿日:2006/10/03(火) 17:41:06 ID:???
>>472
ありがとうございます、もう少し調べてみます。

474 名前:Name_Not_Found 投稿日:2006/10/03(火) 18:51:19 ID:???
>var appver=navigator.appVersion;
>appver=2.1

なにコレww

475 名前:Name_Not_Found 投稿日:2006/10/03(火) 18:57:10 ID:???
テキストエリアの(自動)スクロールはできますか?

476 名前:Name_Not_Found 投稿日:2006/10/03(火) 19:23:35 ID:???
>>475
むかーし、時々あったのは、テキストデータを一行ずつ書き換えて、
カクカクスクロールするもの。まあ、今時、探しても無いだろ。

今なら、DIV要素オブジェクトなどにスクロールバー出させて、
その中に、見えないSPAN要素オブジェクトを入れて、
SPAN要素オブジェクトを移動させながら、
scrollIntoView 使ってスクロールさせるかな。

477 名前:Name_Not_Found 投稿日:2006/10/03(火) 20:51:00 ID:???
>>476
ありました、隊長!
ttp://www.infoaomori.ne.jp/~sekiai/script-page/script76.html


478 名前:Name_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='ほげ'"; ←の様に変更


479 名前:Name_Not_Found 投稿日:2006/10/03(火) 21:01:52 ID:???
>>478
addEventListener
attachEvent

480 名前:479 投稿日:2006/10/03(火) 21:12:41 ID:???
>>478
基本的なことを忘れてた
A.onclick
A.onmouseout

481 名前:Name_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とは恐らく要素のテキストの事と思われる

482 名前:Name_Not_Found 投稿日:2006/10/03(火) 21:33:56 ID:???
>>476-477
ありがとうございます。

483 名前:Name_Not_Found 投稿日:2006/10/03(火) 22:23:36 ID:???
>>479-481
this.value は急いで後付してしまい、誤ったものでした。
失礼しました。

主要ブラウザ含めて バッチリできました。  結構 予想と異なる
アプローチでしたので、自分だけでは解決できない所でした。
誠にありがとう御座いました。


484 名前:Name_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>

485 名前:Name_Not_Found 投稿日:2006/10/04(水) 08:37:33 ID:???
>>484
そのぐちゃぐちゃのコードを読む気になれないね。どのような動作を
望んでいるのか分かる日本語で正確に説明してみそ。

486 名前:Name_Not_Found 投稿日:2006/10/04(水) 09:39:32 ID:???
>>484
マッチに最長マッチを使って取れた内側にdivがあるようなら
再帰的にreplaceを呼ぶとかにすればいんでないの。しかし
String.prototype.replaceがある状態で関数replaceを
定義するのは紛らわしくて読みづらい(しかもStringの方も
使っているし)。

487 名前:Name_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文は消えてしまいますが、まるでサウンドノベルのように、消えずに次々と表示させたいのです。

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

どうか、ご教授ください。

488 名前:Name_Not_Found 投稿日:2006/10/04(水) 15:33:15 ID:???
>>487
最後の1文で釣り決定w

489 名前:Name_Not_Found 投稿日:2006/10/04(水) 15:35:57 ID:???
487が少なくとも過去ログを読んでいないのは間違いないな

490 名前:Name_Not_Found 投稿日:2006/10/04(水) 15:43:29 ID:???
>>487
その参考サイトの消えるのをやめればいいんでしょ。画面の
クリック取るのはwindow.onmouseupにでもハンドラつければ。

491 名前:Name_Not_Found 投稿日:2006/10/04(水) 17:00:13 ID:???
大事な教授をあげることはできません。

492 名前:Name_Not_Found 投稿日:2006/10/04(水) 17:12:07 ID:???
これ↓閉鎖なんですね。どこかにミラーサイトはないのでしょうか。
ttp://www.axis.t.u-tokyo.ac.jp/~shunak/ecmascript/


493 名前:Name_Not_Found 投稿日:2006/10/04(水) 17:18:22 ID:???
あのさあ、内容のある書き込みのついでに「ご教授」を皮肉る
とかならいいと思うんだけど、わざわざそれだけのためにレスを
浪費するのはやめて欲しいんだけど。

494 名前:Name_Not_Found 投稿日:2006/10/04(水) 17:27:53 ID:???
>>493 オマエモナー

495 名前:Name_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/
困った時はコレ。まあアーカイブされてない弱小サイトは無理だが

496 名前:492 投稿日:2006/10/04(水) 17:52:06 ID:???
>>495
ありがとうございます。実はそれもやったんですが肝心の頁が切れていて(例えば
axis.t.u-tokyo.ac.jp/~shunak/ecmascript/Capsule.htmlなどとか)、googleのキャッシュも
役立たずだしと思いまして……

497 名前:Name_Not_Found 投稿日:2006/10/04(水) 19:14:36 ID:ZqNDQ7No
質問です、お願いします。
オブジェクトを追加するというとき、どのようなイメージをしたらいいの
でしょうか。配列のインスタンスの場合は箱ですが、そんなわかりやす
いイメージが何かありますか?

498 名前:Name_Not_Found 投稿日:2006/10/04(水) 19:21:12 ID:???
配列の「1要素」は箱だろうけど「配列のインスタンス」
だとその箱が直接状に並んだものとしか思えん。日本語が
おかしい奴にイメージを説明できる気はしない。

499 名前:497 投稿日:2006/10/04(水) 19:38:00 ID:???
>>498
すいません。インスタンスの要素が箱ですね。気を取り直してお願いします。

500 名前:Name_Not_Found 投稿日:2006/10/04(水) 19:45:35 ID:???
俺は真夏の太陽をイメージしてるよ

501 名前:Name_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]

502 名前:497 投稿日:2006/10/04(水) 20:10:38 ID:???
大変よく分かりました。すいませんでした。訊いたのが間違いでした。

503 名前:Name_Not_Found 投稿日:2006/10/04(水) 20:14:40 ID:???
直接状とは?

504 名前:Name_Not_Found 投稿日:2006/10/04(水) 20:32:41 ID:???
「直線状」をミスタイプしたまま変換したようです(泣)

505 名前:Name_Not_Found 投稿日:2006/10/04(水) 21:05:43 ID:???
>>501 のセンスに嫉妬したw

506 名前:Name_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

507 名前:Name_Not_Found 投稿日:2006/10/04(水) 22:40:01 ID:???
何回かに分けたら?

508 名前:Name_Not_Found 投稿日:2006/10/04(水) 23:03:11 ID:???
IEなら XMLHttpRequest じゃなく ActiveXObject だろ?

509 名前:Name_Not_Found 投稿日:2006/10/04(水) 23:38:44 ID:???
海外の情報を検索するのは当然だろ

後、あなたの調べた内容がそのまま回答ですので悪しからず

510 名前:Name_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;
でよいのでしょうか?

511 名前:Name_Not_Found 投稿日:2006/10/04(水) 23:52:30 ID:HMQt5eXn
いろいろがんばったのですが解らなかったのでお願いします。

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

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

お願いいたします。

512 名前:Name_Not_Found 投稿日:2006/10/05(木) 00:39:19 ID:???
>>511
何を頑張ったのか聞いてみたいもんだね。offsetHeightとか見たこと
ないのかよ。ないのなら過去スレを探してもないんだね。そんな奴は
ここに来て欲しくないね。
>>510
何しろ洩れはVBScriptが分からないので。やりたいことを日本語で正確に
表現してくれたらJavaScriptでの書き方は教えられると思うけど。
JavaScriptのサンプルは見た方がいいよ。Documentとか大文字で書いてる
サンプルなんて1つもないだろ?なぜないかというとそれじゃ動かないから。

513 名前:Name_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値を返さないのでしょうか。

514 名前:Name_Not_Found 投稿日:2006/10/05(木) 09:22:04 ID:???
this.value か this.form.b1.value だろうな

515 名前:Name_Not_Found 投稿日:2006/10/05(木) 09:22:53 ID:???
いいえ、this はその要素自身を指します。
フォームの各要素内からその親のFORM要素を指したいときは this.form と書きます。

516 名前:Name_Not_Found 投稿日:2006/10/05(木) 09:49:49 ID:???
>いいえ、this はその要素自身を指します。
だとしたら、おかしなSyntaxになりはしないか?

517 名前:Name_Not_Found 投稿日:2006/10/05(木) 09:51:46 ID:???
? 例えば?

518 名前:Name_Not_Found 投稿日:2006/10/05(木) 11:07:09 ID:???
thisは要素、formはオブジェクト。
だとすると、要素.オブジェクトの記法になりはしまいか?

519 名前:Name_Not_Found 投稿日:2006/10/05(木) 11:14:32 ID:???
>>518
そんな見当違いな質問してないでまっとうな本で勉強した
方が速いと思うけど。オブジェクト指向言語のオブジェクト値
は普通「オブジェクトを指す参照値」であり、どのオブジェクト
のどのプロパティにも他のオブジェクトを指す参照値を入れられる。
フォーム部品オブジェクトのプロパティformにはその部品を入れて
あるフォームオブジェクを指す参照値が入っているというだけのこと。

520 名前:Name_Not_Found 投稿日:2006/10/05(木) 11:46:28 ID:???
間違えてプログラム板で質問した所
こちらに誘導されてきました、何卒よろしくお願いします

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

またぐぐったり本を読んだりしているのですが、(this.form)、(this.value)などthisがつくものが
いまいち理解できないで苦しんでいます、thisという風に表記した場合
その<script〜〜./script>までで(form)と表記されている全てが適用されるということなのでしょうか?
こちらの回答も宜しければお願いします

521 名前:Name_Not_Found 投稿日:2006/10/05(木) 11:47:37 ID:???
と、思ったらうえにthisの質問が・・・
レス内容読んできます、申し訳ない

522 名前:Name_Not_Found 投稿日:2006/10/05(木) 11:48:30 ID:???
>>518
何いってっかわかんねw
あー
> this はその要素自身を指します。
→ this はその要素自身のオブジェクト (ノード) を指します。
こう書かなきゃわからなかったってこと?

523 名前:Name_Not_Found 投稿日:2006/10/05(木) 11:55:21 ID:???
thisを使わずに書けばいいんだよ
document.getElementById("")みたいに
そうすれば余計なことを考えずに済む

524 名前:Name_Not_Found 投稿日:2006/10/05(木) 12:12:26 ID:???
>>523
いや、断る。そういう逃げがやがてprototypeでどうにもならぬ壁にぶつかる。

525 名前:Name_Not_Found 投稿日:2006/10/05(木) 12:40:10 ID:???
>>523
そんなもん回避方法いくらでもあるだろうよ

526 名前:Name_Not_Found 投稿日:2006/10/05(木) 13:01:45 ID:???
そうそうDOMを勉強しなはれや

527 名前:525 投稿日:2006/10/05(木) 13:12:42 ID:???
間違えた >>524へのレスね

528 名前:Name_Not_Found 投稿日:2006/10/05(木) 13:32:07 ID:???
applyやcallのあるJavaScriptで、
thisを使わずに書くのが正しいのか正しくないのかよくわからん

529 名前:Name_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();
はアラートしません。どうすればよいですか?

530 名前:529 投稿日:2006/10/05(木) 13:38:00 ID:LgK+EqjO
すいません。打ち間違えました。
× o.x.onclick();
○ o.z.onclick();
です。

531 名前:Name_Not_Found 投稿日:2006/10/05(木) 13:38:40 ID:???
onclickはどっから出てきたんだw

532 名前:Name_Not_Found 投稿日:2006/10/05(木) 13:43:49 ID:???
325 名前:名無しって何ですか?:2005/12/27(火) 07:14:19 ID:YevwbuuZ
       ________   
       /:.'`::::\/:::::\   
      /::            \
     /::.  /"""  """\ ヽ
     |::〉   ●"    ●" |  
   (⌒ヽ             |)
    ( __     ( ∩∩ )    |
      |  、_____  /   
      ヽ   \____/  /
       \        /
         \____/

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

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

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

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

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

※注 これは自分の知っている範囲の竹石圭佑の情報であり、全てではないと思われ。


533 名前:Name_Not_Found 投稿日:2006/10/05(木) 13:59:32 ID:???
>>529
な、なんじゃこりゃー from 優作

534 名前:487 投稿日:2006/10/05(木) 14:20:14 ID:Rn5v0mCB
>>490
>>>487
>その参考サイトの消えるのをやめればいいんでしょ。

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

すみませんが、「参考サイトの消えるのをやめる」方法を教えて下さい。
よろしく、お願いします。

535 名前:Name_Not_Found 投稿日:2006/10/05(木) 14:29:54 ID:???
>>534
何言ってるの。自分で勉強しなよ。洩れだってそこ見たことも
ないし他人のためにコード読みたくないね。勉強してて分からない
ところがあれば相談に乗るけどね。
>>529
o.z();
とすればalertは出るだろうけどさ。なんでonclickとかが
登場するのかアンタの脳内が理解できない(したくもないけど)。

536 名前:Name_Not_Found 投稿日:2006/10/05(木) 14:56:51 ID:???
>>512

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

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

レスありがとう御座います。

537 名前:Name_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を指してくれなくなります(ここら辺は前スレで書かれていました)。

どのように実装するのが良いのでしょうか。教えてください

538 名前:Name_Not_Found 投稿日:2006/10/05(木) 17:03:31 ID:???
なんてゆうか、意図がわからんw
ClassB に this.message 書かなきゃいいじゃん、ってことではないの?

539 名前:Name_Not_Found 投稿日:2006/10/05(木) 17:05:18 ID:???
>>537
var A = new ClassA();
this.message = function() { A.message.call(this); }
じゃ駄目?

540 名前:Name_Not_Found 投稿日:2006/10/05(木) 17:14:59 ID:???
>>537
関数をオーバーライドしたいんです。
ClassAの関数はそのままに、さらに少し機能を追加したい訳です。
Javaでいうsuperですね

>>539
継承ですので、ClassAの他の関数はそのまま呼ばれるようにしたいのですよ。
ClassAにmessage以外にfooやらbarやらの関数があった場合、
(new ClassB()).foo() でClassAのfooを呼び出せるようにしたいのです。

541 名前:Name_Not_Found 投稿日:2006/10/05(木) 17:35:47 ID:???
this.message = function(super){return function(){...super();...};}(this.message);
とかはどう?

542 名前:539 投稿日:2006/10/05(木) 17:58:37 ID:???
>>540
どこまでしたいのかが分からないけど、それは頭にClassA.apply(this); つければいいんじゃないの?

543 名前:Name_Not_Found 投稿日:2006/10/05(木) 19:50:38 ID:???
prototypeで継承すれば…といいたいけど、
prototypeの継承モデルはクロージャでインスタンスを参照する関数が書けないんだよね。
呼び出すほうが責任をもってbindしなければいけないのは面倒だ…

544 名前:Name_Not_Found 投稿日:2006/10/05(木) 22:38:10 ID:u07gn/47
すいません、教えてください。
function Const(x, y){
this.x = x;
this.y = y;
return this;
}
でのようにthisを返すということは、何を意味しているのでしょうか。

545 名前:Name_Not_Found 投稿日:2006/10/05(木) 22:43:24 ID:???
>>544
オブジェクトが返り血

546 名前:Name_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

これが想定した動作だというなら何も言うことはないが…

547 名前:544 投稿日:2006/10/05(木) 23:02:13 ID:???
>>546
ありがとうございます。
ttp://www.tokumaru.org/JavaScript/constructor_and_method.htm
ここ読んでいたらこうしてthisを返すようにすると便利と書かれていたの
ですが、どういうことか分からなくなってしまったのでお聞きしました。
この点、ちょっと解説いただけますか?

548 名前:Name_Not_Found 投稿日:2006/10/05(木) 23:19:25 ID:???
>>547
その文脈だと return this は至極普通だが、
俺はそのページ嫌いだから解説パス

549 名前:544 投稿日:2006/10/06(金) 08:30:40 ID:???
あらあら。なんで嫌いなんですか?

550 名前:Name_Not_Found 投稿日:2006/10/06(金) 08:47:49 ID:???
data:schemeって何じゃらほい?

551 名前:Name_Not_Found 投稿日:2006/10/06(金) 09:40:55 ID:???
>>550
検索って知ってる?

552 名前:Name_Not_Found 投稿日:2006/10/06(金) 09:43:53 ID:???
?るてっ知てっ索検

553 名前:Name_Not_Found 投稿日:2006/10/06(金) 10:18:16 ID:???
var s='?るてっ知てっ索検’;
ReverseString(s);
Afo.protptype.gotoMoon=ReverseString;

554 名前:Name_Not_Found 投稿日:2006/10/06(金) 13:06:22 ID:???
1.ここのような写真をクリックで拡大して見れる
スクリプトに関してなんですが
ttp://www.huddletogether.com/projects/lightbox2/
How to Use:というところは何を示しているのでしょうか?
この通りにすればそうなるということでしょうか?

2.それとこういうスクリプトというのは
他サーバーを介してこのように動くようになっているのでしょうか?
3.このようなスクリプト集など、本にして売ってたりするのでしょうか?
なんというカテゴリーで売られているのでしょうか?
自分でサーバーを持たずできるものの本などがありましたらご紹介
お願いします。よろしくお願い致します。

555 名前:Name_Not_Found 投稿日:2006/10/06(金) 13:20:42 ID:???
>>554
1.そのサイトで聞け
2.スクリプトによる
3.自分で調べろ

556 名前:Name_Not_Found 投稿日:2006/10/06(金) 13:29:46 ID:???
>>554
あんた前もこれ聞いてたでしょ。進歩ないよ。

557 名前:554 投稿日:2006/10/06(金) 14:17:32 ID:???
ありがとうございます。
前って初心者スレにて誘導があり初めてきましたよ。
大体のわかる範囲でいいのでいいのでjavaを熟した方に
ご意見頂きたく思います。


558 名前:Name_Not_Found 投稿日:2006/10/06(金) 14:24:03 ID:???
> javaを熟した

なんつーかもう、>>1くらい読もうぜ
ここまでひどいとあんたに答えるやつはこのスレにはいないんじゃないかな

559 名前:557 投稿日:2006/10/06(金) 15:51:04 ID:???
>>558
ありがとうございました。

560 名前:Name_Not_Found 投稿日:2006/10/06(金) 17:18:44 ID:???
Javaと教授は御法度ね

561 名前:Name_Not_Found 投稿日:2006/10/06(金) 17:30:11 ID:???
もれは教授は別に気にしないけど。答えたくないヤシが
答えないのは自由だとは思うがね。言語の名前間違うのは
やっぱ許せないよ…

562 名前:Name_Not_Found 投稿日:2006/10/06(金) 17:51:04 ID:???
JavaScriptでのObjectクラスについてなんですが、これを使うメリットって
なんですか?どのようなプロパティが準備されているのでしょうか?

563 名前:Name_Not_Found 投稿日:2006/10/06(金) 18:29:30 ID:???
>>562
constructor
prototype
valueOf
unwatch
watch

まあ、使いたくないのなら使わなければいい

564 名前:Name_Not_Found 投稿日:2006/10/06(金) 18:31:36 ID:fS4U/qRm
o={}でカラのオブジェクトはできませんか?

565 名前:Name_Not_Found 投稿日:2006/10/06(金) 18:35:05 ID:???
出来るからやってみれ。

566 名前:Name_Not_Found 投稿日:2006/10/06(金) 18:40:50 ID:???
>>564
__proto__ があれば、 o.__proto__ = null とか。
無ければ、出来ないが、for in で undefined を割り当てて誤魔化すとかかなw

567 名前:Name_Not_Found 投稿日:2006/10/06(金) 18:48:04 ID:???
>>566
ビルトインオブジェクトにはNoEnum属性がついているから
for...inでは引っかからないはずだが

Objectのprototypeに何かを代入するような馬鹿相手には
isOwnPropertyとかを使うしかないのだろうが、
Safariではなぜかサポートされてなかったり、Operaではバグったりする(過去ログ参照)

568 名前:564 投稿日:2006/10/06(金) 18:48:52 ID:???
>>566
おお、ありがとうござんす。と思ったんですが、うまく行きません。
o={}
o.prototype.z=function(){...}
で、コンストラクタをfunctionからだと行くんですがo={}だとエラーです。
どう書けば行きますか?<nullとかやってみましたがだめっす

569 名前:Java 投稿日:2006/10/06(金) 18:54:01 ID:???
>>561
おまい、どんな境界線なんだよw

570 名前:Name_Not_Found 投稿日:2006/10/06(金) 18:58:42 ID:???
>>568
まずはちゃんと意思疎通できる言葉を書き込もうな!

意味わからん

571 名前:Name_Not_Found 投稿日:2006/10/06(金) 18:59:29 ID:???
Javaと書かれてむかつくのは、純粋に1を読んでないことが明白だからだな

572 名前:Name_Not_Found 投稿日:2006/10/06(金) 19:15:37 ID:???
>>567
hasOwnPropertyを間違えるやつに言われても困るなあw
for in で引っかからなきゃ、きめうちすりゃいいし、そもそも、
「出来ない」、「ごまかし」と書いただろ?

573 名前:Name_Not_Found 投稿日:2006/10/06(金) 19:34:55 ID:???
>>568
分かんねえよ。書き込む前に保護者の方に推敲してもらえよ。

574 名前:Name_Not_Found 投稿日:2006/10/06(金) 19:42:07 ID:???
>>572
ごまかしきれてません><

575 名前:568 投稿日:2006/10/06(金) 20:32:47 ID:???
え?だめすか?すごく単純なことだと思うんですが?
えっとカラのオブジェクトoを定義して、oにzを追加したいです。で、
o={}
o.prototype.z=function(){...}
こうやると、oはNullかオブジェクトではない、と叱られます。
どうやったら追加できますか?
これでどうでしょうか?

576 名前:Name_Not_Found 投稿日:2006/10/06(金) 21:20:14 ID:???
>>575
日本語を勉強しろと言っているんだが

577 名前:568 投稿日:2006/10/06(金) 21:43:33 ID:???
どこがわかりませんか?ご説明いたしますので

578 名前:Name_Not_Found 投稿日:2006/10/06(金) 22:14:42 ID:???
なぜ Object を作りたくないのか?

579 名前:Name_Not_Found 投稿日:2006/10/06(金) 23:59:51 ID:???
>>575
o.prototypeがNullなんでしょ。エラーも正確に記述
できない奴はどっかよそへ逝ってくれよ。

そもそもprototypeプロパティを設定して意味がある
のはコンストラクタになるオブジェクト(つまり関数)
だけだよ。地道にサイ本でも呼んで勉強すべきだな。

580 名前:575 投稿日:2006/10/07(土) 00:40:59 ID:???
>>579
解決です。ありがとうございました。ご親切にどうも。

581 名前:Name_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からはクラス指向言語へ鞍替えを図るとのことでし
た。この辺の事情に詳しい方、ちょっとコメントいただけませんか。

582 名前:Name_Not_Found 投稿日:2006/10/07(土) 12:54:54 ID:???
こういうループを作りたいのですが、どうすればいいのでしょう?
0,1,2,3,2,1,0,1,2,3,2,1,0

583 名前:Name_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>

584 名前:Name_Not_Found 投稿日:2006/10/07(土) 17:27:04 ID:???
>>581
2.0を追いかけている人はム板のECMAScriptにいる。

585 名前:Name_Not_Found 投稿日:2006/10/07(土) 17:45:59 ID:???
2.0って規格が3つある奴だよね?MSとNetscapeとFirefoxと。

普及するはずないじゃん…

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

apacheのログにはツールバーの有無が出ているので、その変数が上手く取ってこれれば…
と思ったのですけど、どうにかできますでしょうか?

587 名前:Name_Not_Found 投稿日:2006/10/07(土) 17:57:05 ID:???
>>585
ブラウザアドレスで実行できる262-3に比べると、そういう結論になるのもしかたないが、
既に、AS2、AS3、JScript.netらは十分普及して使われてるよ。
JavaScript2.0も、XULであっという間に普及するはずだよ。

588 名前:Name_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はそれ自体で十分強力。

589 名前:Name_Not_Found 投稿日:2006/10/07(土) 18:11:45 ID:???
>>588を読んでXULでgoogle検索してみた
引っかかるページ、いまだに一番上はあそこなのな…

590 名前:Name_Not_Found 投稿日:2006/10/07(土) 18:13:29 ID:???
理想は立派なんだけど、既にHTMLがUI記述言語として成立してしまったからなぁ
CSSスレの人には怒られそうだけど、セマンティクスウェブは理想論だよね

591 名前:Name_Not_Found 投稿日:2006/10/07(土) 21:19:49 ID:???
マウスカーソルの座標の取得方法は?

もちろん、onmousemove のイベントハンドラで、、というのは知ってますが、
そーじゃなく、
(x,y) = GetMousePos();
みたいな感じで、いきなり取得したいんですよ。
と、ゆーのも、ほかのスクリプトがイベントハンドラを握っちゃってるんで、、、。
何とかしてください。


592 名前:Name_Not_Found 投稿日:2006/10/07(土) 21:39:16 ID:???
>>591
> 何とかしてください。
それはその、ほかのスクリプト、とやらに言ってくれw


593 名前:Name_Not_Found 投稿日:2006/10/07(土) 22:15:38 ID:???
var x,y;
onmousemove = function(){
x = event.x;
y = event.y;
}

594 名前:Name_Not_Found 投稿日:2006/10/07(土) 22:37:53 ID:???
>>591
イベントハンドラは「追加」もできる。つかテンプレに
あるよな。よく嫁。

595 名前:581 投稿日:2006/10/07(土) 22:54:34 ID:???
みなさん、ありがとうございました。参考になりました。

596 名前:Name_Not_Found 投稿日:2006/10/08(日) 05:59:42 ID:???
prototypeに関するスレッドってありませんか?

597 名前:Name_Not_Found 投稿日:2006/10/08(日) 06:25:14 ID:???
{_proto: プロトタイプベース・オブジェクト指向};
http://pc8.2ch.net/test/read.cgi/tech/1109948927/

598 名前:Name_Not_Found 投稿日:2006/10/08(日) 20:37:54 ID:SO5vTk9x
クラスをインスタンスするとき例えば
voo=new foo()が普通ですよね、voo=new fooというのも見るのですが
どうちがうんですか。


599 名前:Name_Not_Found 投稿日:2006/10/08(日) 21:10:47 ID:???
>>598
とりあえずクラスとかインスタンスとかいう言葉はまず忘れたほうがいい。

600 名前:Name_Not_Found 投稿日:2006/10/08(日) 21:32:49 ID:???
ちなみに インスタンス化 が正しい

601 名前:Name_Not_Found 投稿日:2006/10/08(日) 21:47:50 ID:???
>>598
その2つは同じっしょ。洩れは「( )」つけるけどね、その方が
分かりやすいと思う。

602 名前:598 投稿日:2006/10/08(日) 22:18:47 ID:???
>>601 有難うございました。

603 名前:Name_Not_Found 投稿日:2006/10/08(日) 22:31:56 ID:???
>>600
否。「実現する」とはいうが「実現化」するとはいわない。

604 名前:Name_Not_Found 投稿日:2006/10/08(日) 22:37:16 ID:???
>>603
実体化するとは言うが実体するなんていわねーよ。
で、インスタンス化というのはこっちのパターン。

605 名前:603 投稿日:2006/10/08(日) 22:41:47 ID:???
>>604
うん。そうだな。ごめん。

606 名前:Name_Not_Found 投稿日:2006/10/09(月) 08:15:25 ID:???
ね、みんな、Array.prototype.mapって使ってる?将来IEの採用どうなの?

607 名前:Name_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;
};

608 名前:Name_Not_Found 投稿日:2006/10/09(月) 11:44:25 ID:???
>>597
サンクス。でも、スレの流れがちょっと違う雰囲気だった・・・

609 名前:Name_Not_Found 投稿日:2006/10/09(月) 12:11:44 ID:???
>>607
組み込みオブジェクトのprototype汚染するくらいならグローバル関数作れよw

>>608
お前、prototypeとprototype.jsとを混同してるんじゃないか?

610 名前:Name_Not_Found 投稿日:2006/10/09(月) 13:14:31 ID:???
prototype.js は失敗作
方向性から失敗しているからもう修正はきかない

prototypeベースの言語で一番やってはいけない拡張をやってしまった罪は重い

611 名前:608 投稿日:2006/10/09(月) 13:17:17 ID:???
え、ちがうんですか?prototype.jsのご説明お願いします。

612 名前:Name_Not_Found 投稿日:2006/10/09(月) 13:26:59 ID:???
prototype.jsに関するスレッドってありませんか?

613 名前:Name_Not_Found 投稿日:2006/10/09(月) 13:28:51 ID:???
>>612
ないね。作りたいと思うヤシがいなかったみたいでね。
あんた立ててみたら。漏れは興味ないから行かんけど。

614 名前:Name_Not_Found 投稿日:2006/10/09(月) 13:44:03 ID:???
質問させてください。
innerHTMLで<div>内にフォーム部品を作って、submit(PHPへ)しています。
ところが、IE以外のブラウザで送るとサーバ側の取得した値が空になります。
IE以外では↓みたいな書き方はまずいのでしょうか?
innerHTML = '<input type="text" name="test">';
表示までは他のブラウザでも問題なくできています。


615 名前:Name_Not_Found 投稿日:2006/10/09(月) 13:48:20 ID:???
組み込みオブジェクトの拡張を嫌う人って
名前の衝突が嫌なの?for-inで列挙されるのが嫌なの?
もし後者だとしたら、DontEnum属性を自由につけられるようになれば
別に組み込みオブジェクトを拡張してもいいかと思うようになるの?

616 名前:Name_Not_Found 投稿日:2006/10/09(月) 13:56:30 ID:???
prototype.jsだとすごく簡単になんでもできるってホントですか?

617 名前:Name_Not_Found 投稿日:2006/10/09(月) 13:58:44 ID:???
2秒でドラクエ

618 名前:Name_Not_Found 投稿日:2006/10/09(月) 14:02:32 ID:???
>>615
両方嫌だな。DontEnumではなくてしっかりした名前空間を用意すべきだ
DontEnumを自由につけるのは明らかに間違った仕様だと思う

619 名前:Name_Not_Found 投稿日:2006/10/09(月) 14:10:17 ID:???
過去にJavascriptライブラリに関するスレって立ったこと無いの?

620 名前:Name_Not_Found 投稿日:2006/10/09(月) 14:16:21 ID:???
無いんじゃないかな?

621 名前:Name_Not_Found 投稿日:2006/10/09(月) 14:17:21 ID:???
window.js$prototype = { utilitifunctions:function(){} };
prototype.jsもこんな形にすればいいのになw

622 名前:Name_Not_Found 投稿日:2006/10/09(月) 14:40:44 ID:???
XREAの鯖に郵便番号データベースを構築して
さらにRESTでJSONを出力するCGIを設置しますた。
ローカルのHTMLではフォームに数字を入れるとリアルタイムに住所が表示されます。

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

これはクロスドメイン制限ですよね?JavaScript駆使した回避方法はありますでしょうか?

623 名前:Name_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にこだわる理由もなさそうだし


624 名前:Name_Not_Found 投稿日:2006/10/09(月) 14:50:18 ID:???
>>622
JSONPでググってみ。

625 名前:623 投稿日:2006/10/09(月) 14:53:30 ID:???
>>624
おお、いつの間にかそんな規格が出来てたのか。素晴らしい。

626 名前:Name_Not_Found 投稿日:2006/10/09(月) 14:55:17 ID:???
>>621
そのライブラリ使用者が書くコードに「$」文字が現れることになる。
その文字は、仕様において、機械的なコード生成に取って置く、
という趣旨の注意がされているから、考え無しに使う物ではない。
具体的には、グローバルな識別子、またはそこから「.」あるいは「[]」で
単純に辿れるプロパティとメソッドに使うのは控えた方が良いということ。
逆に、ライブラリ使用者が触れない(触りにくい)部分で、
常にHTMLのSRC属性などで外部読み込みされると見込まれる場合は、
お好きにどうぞ。

627 名前:Name_Not_Found 投稿日:2006/10/09(月) 15:03:23 ID:???
>>607
1. 大文字小文字
2. オプション引数がない
3. そもそも、Arrayは、インデックスを飛ばす場合があり、
  JavaScript 1.6 では、その場合の処理も決めている。

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

特に上記3をきちんと考慮してある有名ライブラリは存在しないから注意が必要。
安易な気持ちとショボいスキルで、組み込みメソッドと同じ名前のメソッドを自作するべきではない。

628 名前:Name_Not_Found 投稿日:2006/10/09(月) 15:07:42 ID:???
>>626
prototypeの$関数への皮肉のつもりだったんだけど

629 名前:Name_Not_Found 投稿日:2006/10/09(月) 15:08:58 ID:???
>>627
JavaScript1.6とかどうとか言う前に、
ECMA262-3rdでしっかりと定まってますがな
ブラウザが準拠しているかどうかは知らないけど

630 名前:Name_Not_Found 投稿日:2006/10/09(月) 15:35:10 ID:???
>>610
わかりきったことを何を今更

631 名前:Name_Not_Found 投稿日:2006/10/09(月) 15:47:43 ID:???
じゃあ結局、どのライブラリがいいの?
mochi?dojo?

632 名前:Name_Not_Found 投稿日:2006/10/09(月) 15:53:47 ID:???
どのライブラリがいいとか、そういう話ではなくて、
prototype.js が既存言語の本来の性能を奪ってしまうダメなライブラリであり、
それは主に組み込みのprototype拡張による弊害であるという話。

C言語で何かのライブラリに
#define long short
とか定義されているのが直感的イメージとしては近いだろうね

633 名前:Name_Not_Found 投稿日:2006/10/09(月) 15:58:02 ID:???
prototype.jsの発想は理解できるんだけど、
設計した人は絶対にprototypeベースのオブジェクト指向言語を知らない人だろうね。
prototypeベースの言語に一般的に指摘されている問題点が見事に体現されてるからなぁ。

634 名前:Name_Not_Found 投稿日:2006/10/09(月) 18:31:32 ID:???
prototype.jsのサイズってどのくらい?

635 名前:Name_Not_Found 投稿日:2006/10/09(月) 19:23:06 ID:???
47KBくらい

636 名前:Name_Not_Found 投稿日:2006/10/09(月) 22:25:44 ID:???
>>631
YUI 使ってるけど、良いよ。

637 名前:Name_Not_Found 投稿日:2006/10/09(月) 23:18:28 ID:???
ライブラリなんて自分で作ればいいじゃん。人の下手なコード読むのは辛い。

638 名前:Name_Not_Found 投稿日:2006/10/09(月) 23:29:40 ID:???
>>636
試してみる。
>>637
公開してみたら?

639 名前:Name_Not_Found 投稿日:2006/10/09(月) 23:38:51 ID:???
>>638
人のコードを読むのが辛いと思ってるのに、なんで自分から公開して人を苦しませねばならんのだよ

640 名前:Name_Not_Found 投稿日:2006/10/10(火) 00:08:43 ID:???
>>632
それはArray#mapとかのJS1.6でも定義されているメソッドに限定した話?
それともFunction#bindとかも含む?

擬似的な名前空間として接頭辞を使う(Array#myMapとかのように)のはその解決策になりうる?

641 名前:Name_Not_Found 投稿日:2006/10/10(火) 00:08:58 ID:???
YUIはデカイので導入を躊躇してしまいます。

642 名前:Name_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はそういうスタンスだね

643 名前:noname.pas 投稿日:2006/10/10(火) 11:06:03 ID:trJFFZQE
ひとつのHTMLファイルにscriptタグを2個に分けて書かなければいけないという
状況に陥っているのですが、<script>のなかにある変数を別の<script>で
参照できるでしょうか?


<script>
a = 1;
</script>

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




644 名前:Name_Not_Found 投稿日:2006/10/10(火) 11:07:15 ID:???
いや動くって。

645 名前:noname.pas 投稿日:2006/10/10(火) 11:11:59 ID:trJFFZQE
あれ、ほんとだ。
ということは、<script>〜</script>は変数のスコープに関係ないのでしょうか?

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

どうしたものか。




646 名前:Name_Not_Found 投稿日:2006/10/10(火) 11:23:00 ID:???
関係ない、
っていうか、function 外設定した変数 (や関数) は全て window オブジェクトのプロパティになるよ。

647 名前:Name_Not_Found 投稿日:2006/10/10(火) 11:25:38 ID:???
>>641
YUIは、別にでかくは無いと思うが。

648 名前:Name_Not_Found 投稿日:2006/10/10(火) 11:49:38 ID:???
YahooUIのカレンダーのサンプルを触ってみたけど
Safari対応と謳っているのに、実際には機能しなかったので
品質の程度を疑問視してしまい、それ以来、検討する気がしない。

649 名前:Name_Not_Found 投稿日:2006/10/10(火) 11:55:19 ID:???
ちゃんと機能してたぞ
お前がなんかまちがってただけだろ
無能な奴はこれだからな

650 名前:586 投稿日:2006/10/10(火) 15:34:07 ID:???
埋もれてしまったので再度なのですが、>>586どなたかわかりますか?
レス付かないってことはムリと考えた方が良い?

651 名前:Name_Not_Found 投稿日:2006/10/10(火) 15:45:11 ID:???
Apacheとの連携ということであれば相当無茶をしなければいけないと思う。
しかしGoogle Toolbarがあるかどうかだけなら判断できるはず。
IEならActiveXObjectを使って判断するんじゃないかな?

652 名前:Name_Not_Found 投稿日:2006/10/10(火) 16:04:58 ID:???
>>649
>ちゃんと機能してたぞ

それ、いつの時点の話だよ。
少なくとも2月の公開時点では
複数月表示でバグがあったまま公開されたのは確か。

653 名前:Name_Not_Found 投稿日:2006/10/10(火) 18:21:47 ID:???
最初に航海された時だよ

自分ができないと、なんでもバグ
無能宣言ですか?

654 名前:Name_Not_Found 投稿日:2006/10/10(火) 18:37:25 ID:???
自分の環境でOKなら、すべて無問題
無謀宣言ですか?

655 名前:Name_Not_Found 投稿日:2006/10/10(火) 18:42:15 ID:???
いや。友達もいないオタクなあんたなら、それがお似合いだ。

656 名前:Name_Not_Found 投稿日:2006/10/10(火) 20:09:39 ID:???

やっぱり、JavaScriptライブラリのスレ、必要じゃねーの?
こういう奴ら排除するためにはさ。

657 名前:Name_Not_Found 投稿日:2006/10/10(火) 20:10:36 ID:???
立てるのは自由だと思う

658 名前:Name_Not_Found 投稿日:2006/10/10(火) 20:12:07 ID:???
そいつらが素直に新スレに逝ってくれればいいのだがww

659 名前:Name_Not_Found 投稿日:2006/10/10(火) 20:26:24 ID:???
* このスレは、ライブラリをフルスクラッチで作れる者が回答するスレ。
* ライブラリスレは、ライブラリを使いなれた者が回答するスレ。

という棲み分けが明記され、守られるなら、新スレを歓迎しないこともない。

660 名前:Name_Not_Found 投稿日:2006/10/10(火) 20:33:55 ID:???
ふるすくらっち?

661 名前:Name_Not_Found 投稿日:2006/10/10(火) 21:04:42 ID:???
フルスクラッチが理解できないレベルの人もこのスレには多いだろうな

662 名前:Name_Not_Found 投稿日:2006/10/10(火) 21:11:48 ID:???
ライブラリ厨
言語厨

663 名前:Name_Not_Found 投稿日:2006/10/10(火) 21:32:25 ID:???
それでいいじゃん。棲み分けられると思うよ。洩れは言語厨
なのでライブラリに興味ないし。

664 名前:Name_Not_Found 投稿日:2006/10/10(火) 21:41:02 ID:???
ライブラリを使わなければ出来ないようなことってまだないから、
俺もこのスレに居続けるんだろうな

結局こちらのスレでしか質問の回答が受け入れられない、ということになりかねないね

665 名前:Name_Not_Found 投稿日:2006/10/10(火) 22:27:49 ID:???
無能がここで情報求めても無能だから結局使いこなせないと

666 名前:Name_Not_Found 投稿日:2006/10/10(火) 22:40:34 ID:???
汎用ライブラリで大きいとこある?

667 名前:Name_Not_Found 投稿日:2006/10/10(火) 22:45:39 ID:???
だからYahoo UI使えと何度言えば..

668 名前:Name_Not_Found 投稿日:2006/10/11(水) 05:35:01 ID:???
>>667
Thx a lot :)

669 名前:Name_Not_Found 投稿日:2006/10/11(水) 09:54:56 ID:???
ECMA262を読んでて思うんだけど、この規格説明文ってcase sensitiveじゃない
よね。コードが「p」でも段階的処理説明では「P」になってたりして。
どういうこと?

670 名前:Name_Not_Found 投稿日:2006/10/11(水) 10:10:25 ID:???
>>669
どこだよ

671 名前:Name_Not_Found 投稿日:2006/10/11(水) 11:50:55 ID:???
function f(){this.name=a}
function f.prototype.g() {....}
という書き方はIE以外では使えませんか?

672 名前:Name_Not_Found 投稿日:2006/10/11(水) 12:40:48 ID:???
IE6だと、マウスでボタン押下中にdisabledが書き換えられると固まるんですが、回避する方法を教えてください。

673 名前:Name_Not_Found 投稿日:2006/10/11(水) 12:59:25 ID:???
>>672
ふーん聞いたことないけど、押し下げ中かどうかを常に
記録しておき、押し下げ中は書き換えないようにするとか?

674 名前:672 投稿日: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にしてしまうとフリーズするわけです。

675 名前:Name_Not_Found 投稿日:2006/10/11(水) 13:17:47 ID:???
>>674 Ajax? それが大切なことだろ。早く家ボケ。

676 名前:Name_Not_Found 投稿日:2006/10/11(水) 13:24:09 ID:K78UrZx2
質問です。
.toSource()のようなものをIE6で実装する方法はありませんか?

677 名前:Name_Not_Found 投稿日:2006/10/11(水) 13:27:47 ID:???
質問です

678 名前:Name_Not_Found 投稿日:2006/10/11(水) 13:28:46 ID:???
はい、なんでしょう

679 名前:Name_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レスは有意義にしたい。

680 名前:Name_Not_Found 投稿日:2006/10/11(水) 15:31:57 ID:???
>>674
onmouseupで即disableするとかいう危ういことはやめなよ。
onmouseupでsetTimeoutを設定して、100ミリ秒後に
disableするとかに直したらどうかな。

681 名前:Name_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>


682 名前:Name_Not_Found 投稿日:2006/10/11(水) 16:02:03 ID:???
ttp://www.access-webconsulting.com/MetaGen.asp
このサイトのような、〜自動作成サイトをJavaを利用して作りたいのですが、
その方法を教えてください。

683 名前:Name_Not_Found 投稿日:2006/10/11(水) 16:13:51 ID:???
>>682
ここはJavaScriptスレです。JAVAのことはJAVAで聞いてください。
http://pc8.2ch.net/test/read.cgi/tech/1159700963/

684 名前:Name_Not_Found 投稿日:2006/10/12(木) 00:40:57 ID:???
小数点第3位で繰り上げしたいのですが、指定した桁数で切り上げる
方法はありますか?

685 名前:Name_Not_Found 投稿日:2006/10/12(木) 00:52:54 ID:???
あります

686 名前:Name_Not_Found 投稿日:2006/10/12(木) 00:54:14 ID:???
という定型レスを返すのも飽きたので実装方法をば。

切り上げる関数(元の数字×100)/100

687 名前:Name_Not_Found 投稿日:2006/10/12(木) 01:00:42 ID:???
ありー^^

688 名前:Name_Not_Found 投稿日:2006/10/12(木) 01:10:51 ID:???
あれ、できませんでした。変わらず。。

689 名前:Name_Not_Found 投稿日:2006/10/12(木) 01:22:14 ID:???
Math.abs(n*100)/100じゃね?

690 名前:Name_Not_Found 投稿日:2006/10/12(木) 01:42:06 ID:???
>>688 お前どんなコード書いたんだよw
>>689 絶対値とってどうするんだよw

691 名前:Name_Not_Found 投稿日:2006/10/12(木) 09:10:02 ID:9XkSuOfO
解説サイトでよく
js> b = new Date();
のように書いてあるのを見ますが、「js>」というのはどういう意味ですか。

692 名前:Name_Not_Found 投稿日:2006/10/12(木) 09:20:12 ID:???
>>691
JavaScriptのコードを打ち込んですぐ実行させるような
ヤツで出て来るプロンプトでしょ。DOSの A> みたいな(洩れって古い!)

693 名前:Name_Not_Found 投稿日:2006/10/12(木) 12:50:14 ID:???
>>692
(そしてキモイ!)

694 名前:Name_Not_Found 投稿日:2006/10/12(木) 13:36:41 ID:???
米マイクロソフト(MS)は、パソコン向け基本ソ
フト(OS)「ウィンドウズ」やビジネス統合ソフ
ト「オフィス」に計10件に上るセキュリティー上
の弱点が確認されたとして、修正プログラムの配布
を同社サイトで始めた。10件のうち6件は4段階
で最も深刻度が高い「緊急」に分類され、放置する
と、インターネット経由で侵入したハッカーにパソ
コン内の情報を読み取られる恐れもあるという。緊
急度の弱点は、ウィンドウズを構成するインターネ
ット閲覧ソフト「インターネット・エクスプローラ
ー」などで見つかった。

695 名前:Name_Not_Found 投稿日:2006/10/12(木) 14:18:03 ID:8fQAUWV6
一連のスクリプトの中で変数や関数名が重複していたとしても、上から
実行する分には問題ありませんか?

696 名前:Name_Not_Found 投稿日:2006/10/12(木) 14:26:38 ID:???
上?飛行機の中?

697 名前:Name_Not_Found 投稿日:2006/10/12(木) 14:54:15 ID:???
>>695
問題大ありだと思うがね。

698 名前:Name_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''',,.::'゙  '!'!


699 名前:Name_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'''

700 名前:Name_Not_Found 投稿日:2006/10/12(木) 17:35:35 ID:???
tableのtdの背景色を変えたいんだけど、

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

じゃない?

701 名前:Name_Not_Found 投稿日:2006/10/12(木) 17:38:53 ID:???
うん

702 名前:Name_Not_Found 投稿日:2006/10/12(木) 17:54:10 ID:???
おしえて

703 名前:Name_Not_Found 投稿日:2006/10/12(木) 18:00:48 ID:???
tdにonmouseoverがあるかどうかはチェックしたんだろうな

704 名前:Name_Not_Found 投稿日:2006/10/12(木) 18:44:37 ID:???
[ backgroud ] に誰か突っ込めよw

705 名前:Name_Not_Found 投稿日:2006/10/12(木) 18:54:19 ID:???
そこかよw

706 名前:Name_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);
どこをどのように記述すればよいのでしょう、どなたか御教授下さい。

707 名前:Name_Not_Found 投稿日:2006/10/12(木) 19:33:11 ID:???
>>706
過去レスを読んでないことがわかるNGワード:ご教授

それと、ブックマークレットスレで聞いたほうがいい

708 名前:Name_Not_Found 投稿日:2006/10/12(木) 20:13:20 ID:???
何そのいちいちドキュメント全書き換えさせる傍迷惑なUserJSwww

709 名前:Name_Not_Found 投稿日:2006/10/12(木) 20:26:30 ID:???
>>706
706の環境(使ってるブラウザ)は?
それによって回答も変わる

>>708
書き換えるのは>>706の環境でだけだから迷惑も何も無いだろ

710 名前:706 投稿日:2006/10/12(木) 20:44:45 ID:???
>>707
そうでありますか、ブックマークレットスレも覗いてみることにします。

>>709
WindowsXP , Opera9.02 build8585 といったところです。お願い致します。

711 名前:Name_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で保存

これでどうか。

712 名前:711 投稿日:2006/10/12(木) 20:52:15 ID:???
ミス
×javascript:alert("使いたい日本語")
○javascript:alert(escape("使いたい日本語"))

713 名前:706 投稿日:2006/10/12(木) 21:05:40 ID:???
>>711
教えて頂いた方法で見事に動いてくださいました。
感謝いたします、ありがとうございます。

714 名前:Name_Not_Found 投稿日:2006/10/12(木) 21:14:20 ID:???
>>713
良かったな。だが次同じようなことが聞きたいならここでもブックマークレットスレ「でも無く」
お前の使っているOperaのスレにいくこと。
ブラウザに依存するミス(さっきのUnicdoeエスケープ等)の可能性があるし
ちょっとしたコードならある程度JavaScriptの知識があれば
大丈夫だろうからな。そこの奴が暇なら答えるだろ

715 名前:Name_Not_Found 投稿日:2006/10/12(木) 22:00:05 ID:???
>>712
×javascript:alert(escape("使いたい日本語"))
○javascript:alert(escape("遣いたい日本語"))

ガイシュツ

716 名前:712 投稿日:2006/10/12(木) 22:15:29 ID:???
>>715
ああ、…tすまんね

717 名前:Name_Not_Found 投稿日:2006/10/12(木) 22:28:47 ID:???
715の意味がわからん

718 名前:Name_Not_Found 投稿日:2006/10/12(木) 22:32:11 ID:???
美しい日本語

719 名前:712 投稿日:2006/10/12(木) 22:48:42 ID:???
よく考えたら「遣いたい日本語」じゃなく
「使いたい日本語の文字列」だったわ(もっと言えば「使いたい多バイト文字の文字列」だが)
「文字列」を「遣う」はOKなのか?無知だからわからんね

720 名前:Name_Not_Found 投稿日:2006/10/13(金) 00:52:25 ID:???
知らない人は答えなくていいよ。

XMLHttpRequestって、UTF-8以外は文字化けする?
つうか、実際にやってみてると、UTF-8以外は文字化けしてる。
ブラウザ側のcharsetに関係なく、UTF-8で受信(出力だけど)すると、
SJISだろうとEUCだろうとデコードなしで出力しても文字化けしない。
(内部的にデコードしてるの?)

721 名前:Name_Not_Found 投稿日:2006/10/13(金) 01:58:29 ID:???
>>720
過去ログで散々でた話題だな。

722 名前:Name_Not_Found 投稿日:2006/10/13(金) 02:02:19 ID:???
>>720
過去ログで散々でた話題だな。

723 名前:Name_Not_Found 投稿日:2006/10/13(金) 02:03:32 ID:???
しまった、失敗して二重に…スマソかた。

724 名前:Name_Not_Found 投稿日:2006/10/13(金) 02:07:08 ID:???
>>720
かなり知っているけれど書き方が気に食わない

725 名前:Name_Not_Found 投稿日:2006/10/13(金) 02:52:37 ID:???
>>720
>ブラウザ側のcharsetに関係なく

日本語でおk

726 名前:Name_Not_Found 投稿日:2006/10/13(金) 03:17:50 ID:???
>>724
かなり知ってることを教えて下さい。

727 名前:Name_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系だと駄目みたいでした。

728 名前:Name_Not_Found 投稿日:2006/10/13(金) 05:46:55 ID:???
>>726
お断りです。絶対に答えないのでお引取りください。

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

出来ます。innerHTMLではなくてDOMを使ってみてください。
Safariに対応するならHEADの子要素にしなければいけないはずです。

729 名前:Name_Not_Found 投稿日:2006/10/13(金) 07:44:23 ID:???
「動的」 なのかは微妙なところだなあ。

730 名前:Name_Not_Found 投稿日:2006/10/13(金) 11:00:31 ID:AdH+5zb7
__proto__というのはIEでは使えないのでしょうか?

731 名前:Name_Not_Found 投稿日:2006/10/13(金) 13:37:15 ID:???
>>728
>Safariに対応するならHEADの子要素にしなければいけないはずです。

え?ウソ!
俺、bodyの最後尾に <script src=〜 を動的に追加してるけど動いてるよ。

732 名前:Name_Not_Found 投稿日:2006/10/13(金) 13:47:43 ID:???
>>731
すまん、Safari1.3の場合

733 名前:Name_Not_Found 投稿日:2006/10/13(金) 14:26:06 ID:hlXFfHdQ
__proto__というのはIEでは使えないのでしょうか?

734 名前:Name_Not_Found 投稿日:2006/10/13(金) 14:38:50 ID:???
ttp://www.google.co.jp/search?hl=ja&q=__proto__+IE&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=lang_ja

735 名前:Name_Not_Found 投稿日:2006/10/13(金) 17:55:29 ID:Y/0cqaDo
JavaScript少しやったんだけど、これ、面白いっすね。ぐにゃぐにゃ構造
が気に入った。なんかオブジェクトの海で揺れてる感じ。量子力学の概念
に近いね。


736 名前:Name_Not_Found 投稿日:2006/10/13(金) 18:10:47 ID:???
量子力学っていうと、一休さんと和尚さんのアレ?

737 名前:Name_Not_Found 投稿日:2006/10/13(金) 18:17:07 ID:Y/0cqaDo
datファイルは消えたらまたほかの板でそこを使うんでしょうか

738 名前:Name_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
どないしよ・・・。

739 名前:Name_Not_Found 投稿日:2006/10/13(金) 18:47:38 ID:???
test.js#hoge
test.js#fuga
test.js#piyo

ではどうか。しらんけど。

740 名前:Name_Not_Found 投稿日:2006/10/13(金) 18:50:34 ID:???
>>739
#じゃなくて?だね

741 名前:Name_Not_Found 投稿日:2006/10/13(金) 18:56:16 ID:???
>>739
# も ? もだめだったんよ・・・。
ちなみに同じファイルを名前変えてまでしてもダメ、というよくわからない結果に(´・ω・`)

742 名前:Name_Not_Found 投稿日:2006/10/13(金) 19:04:24 ID:???
>>738
>IE では 3
>Fx と Op だと 1

全部作り話だろw
負荷かけたら再現するかと思って試したが、どれもが、正しく「4」を返した。

743 名前:Name_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 」 なんだよね・・・。

744 名前:Name_Not_Found 投稿日:2006/10/13(金) 19:14:36 ID:???
[object Object]ってどっちがどっちのオブジェクトなんでしょうか?

745 名前:738,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

746 名前:Name_Not_Found 投稿日:2006/10/13(金) 19:22:22 ID:???
onloadで読めばいい

747 名前:Name_Not_Found 投稿日:2006/10/13(金) 19:41:54 ID:???
すいません。
JavaScriptでクリックしたらメーラーを立ち上げるようにするにはどう書けば
よいのでしょうか。コード教えてください。

748 名前:Name_Not_Found 投稿日:2006/10/13(金) 20:07:29 ID:???
メールソフト入れてない人のことも考えて下さい。

749 名前:Name_Not_Found 投稿日:2006/10/13(金) 21:29:49 ID:???
はい。そのときはreturnで何も起きなくしたいです。

750 名前:Name_Not_Found 投稿日:2006/10/13(金) 22:14:57 ID:???
フォームに飛ばすほうがいいんじゃないか?

751 名前:727 投稿日: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);
}


752 名前:Name_Not_Found 投稿日:2006/10/13(金) 23:28:19 ID:???
>>751
elm1.type = 'text/javascript' ;

かな?

753 名前:Name_Not_Found 投稿日:2006/10/13(金) 23:58:54 ID:???
>>728
プッ 真に受けてる(w

754 名前:Name_Not_Found 投稿日:2006/10/14(土) 00:40:33 ID:???
>751
動かない最短のソース希望

755 名前:727 投稿日: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>

756 名前:727 投稿日: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("テスト");
}

757 名前:Name_Not_Found 投稿日:2006/10/14(土) 05:38:59 ID:???
>>756
JavaScript Console を見れば解決するはずだが……。
IEで動いているのは運がよいだけ。
elm1.addEventListener, elm1.attachEvent, elm1.onload などを使えば解決する。

関係ないが、srcプロパティの値にクエリを付けても、効果ないよ。
仮に、毎回、強制リロードしてくれているとしても、クエリのせいじゃない。
過去に何度か出た話。

758 名前:Name_Not_Found 投稿日:2006/10/14(土) 10:19:59 ID:???
ほんとに 「動的」 にやってやがったw
それはムリムリ。

759 名前:Name_Not_Found 投稿日:2006/10/14(土) 12:10:56 ID:3eXulAew
こんにちは。
eの3乗というのは、「e^3」の式になると思いますが、これをJavaScriptで
出すにはどうすればよいでしょうか?

760 名前:Name_Not_Found 投稿日:2006/10/14(土) 12:14:38 ID:???
Math.pow(e,3)

761 名前:759 投稿日:2006/10/14(土) 12:16:15 ID:3eXulAew
失礼しました。簡単なことでした。無駄スレすいません。

762 名前:Name_Not_Found 投稿日:2006/10/14(土) 12:45:59 ID:???
無駄スレ orz

763 名前:Name_Not_Found 投稿日:2006/10/14(土) 15:36:25 ID:???
まあ無駄スレやな

764 名前:Name_Not_Found 投稿日:2006/10/14(土) 15:43:47 ID:???
ところでpowってなんて読む?

おれ、ポゥッ!

765 名前:Name_Not_Found 投稿日:2006/10/14(土) 15:47:42 ID:???
So this is thriller〜♪ thriller night♪pow!

766 名前:Name_Not_Found 投稿日:2006/10/14(土) 15:48:41 ID:???
イージードゥダンス!(ポゥ)イージードゥダンス!(ポゥ)
お〜どる君をみてる〜♪(ポゥポゥ)

767 名前:Name_Not_Found 投稿日:2006/10/14(土) 15:54:47 ID:???
お前ら面白すぎw

768 名前:Name_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というフラッシュに
差し変わるということをやりたいです。

769 名前:Name_Not_Found 投稿日:2006/10/14(土) 17:46:49 ID:???
えっと、Dateクラスではnewつきのまま使えて、Objectクラスではイン
スタンスでなければいけないってのは、どういう理屈でしょうか?

770 名前:Name_Not_Found 投稿日:2006/10/14(土) 18:23:08 ID:???
>>768
「innerHTML」 でぐぐるか 「 javascript 初心者」 でぐぐれ

>>769
もちょっと疑問点をkwsk

771 名前:Name_Not_Found 投稿日:2006/10/14(土) 20:45:43 ID:???
>>755-756
おお!
そんな風に動的にjsを追加できたのか。
おかげでjsデータベースを作成できた。
サンクス!

772 名前:Name_Not_Found 投稿日:2006/10/14(土) 21:21:36 ID:???
jsデータベースwwwww

773 名前:Name_Not_Found 投稿日:2006/10/14(土) 23:16:00 ID:???
>>772
おかしいか?チープでシンプルでグッドだろ。

774 名前:Name_Not_Found 投稿日:2006/10/14(土) 23:19:43 ID:???
XMLでええやん

775 名前:Name_Not_Found 投稿日:2006/10/14(土) 23:22:47 ID:???
ちなみに>>755-756の方法だと、きちんと読み込めたか、いま読み込み中なのか、
エラーがでて止めてしまったのか、の判断が出来ない
XMLHttpRequestを使ってevalの方がまし

776 名前:Name_Not_Found 投稿日:2006/10/15(日) 00:09:31 ID:???
ん、まあでもこれがJSONPって言うクロスドメイン可能な一番ナウくて
トレンディーな技術なんだけどね。使い方次第ってことで。

777 名前:Name_Not_Found 投稿日:2006/10/15(日) 00:21:14 ID:???
JSONPについて3行で頼む

778 名前:Name_Not_Found 投稿日:2006/10/15(日) 00:22:36 ID:???
ところで、JSONPのPはリスプ系の述語関数のsuffixであるPから来てるのかな。

779 名前:Name_Not_Found 投稿日:2006/10/15(日) 02:58:26 ID:???
じゃなくてプロコトルのPか。

780 名前:Name_Not_Found 投稿日:2006/10/15(日) 03:08:37 ID:???
クロスドメインだと使わざるを得ないけれど、
DoJoが同じドメインでも動的JSロードをしているのは明らかに間違いだと思う

781 名前:Name_Not_Found 投稿日:2006/10/15(日) 05:25:54 ID:???
>>778
JSON with Padding

782 名前:Name_Not_Found 投稿日:2006/10/15(日) 13:01:28 ID:???
一部のモバイル用OperaだはXMLHttpRequestは使えないけど、動的JSロードは
使えたりする。のでJSONPのほうが対応範囲が広いともいえるかも。


783 名前:Name_Not_Found 投稿日:2006/10/15(日) 13:09:17 ID:???
モバイルでJavaScript動くんだ

784 名前:Name_Not_Found 投稿日:2006/10/15(日) 14:17:14 ID:???
>>783

785 名前:Name_Not_Found 投稿日:2006/10/15(日) 15:56:57 ID:???
>>784

786 名前:Name_Not_Found 投稿日:2006/10/15(日) 15:57:02 ID:???
初耳だ

787 名前:Name_Not_Found 投稿日:2006/10/15(日) 18:36:57 ID:???
>>772
データベースっーか
シークレットプログラムでした。
つまり検索エンジン側で解析させたくないデータを含む関数などお置いている。
念には念をいれておきたい


788 名前:Name_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”って出るんだよ!。
ようは、数値じゃなく文字列で評価してる。
強制的に数値で評価させる方法は?


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
テラキモス

794 名前:Name_Not_Found 投稿日:2006/10/15(日) 20:34:41 ID:???
>>793
ありがとう

795 名前:791 投稿日:2006/10/15(日) 20:54:48 ID:???
ええっと、、、

「教えてよぉ!」

796 名前:791 投稿日:2006/10/15(日) 20:55:47 ID:???
あ、なんかわかった。

よーは、evalの中では強制的に数値なんだ??


797 名前:Name_Not_Found 投稿日:2006/10/15(日) 21:45:39 ID:???
>>446
very thanks

798 名前:Name_Not_Found 投稿日:2006/10/15(日) 22:11:31 ID:???
荒れてるなぁw

799 名前:Name_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です。

800 名前:Name_Not_Found 投稿日:2006/10/15(日) 22:44:18 ID:???
範囲選択を禁止することはできませんか?
左クリック+マウス移動で出てくる、あの青い領域です。

コピペを阻害したいわけではなく、
手が滑って、ドラッグに失敗したときに、
無関係の範囲が青色に染まるのがカッコわるいんですよ。


801 名前:Name_Not_Found 投稿日:2006/10/15(日) 23:12:35 ID:???
>>799
過去スレで他人がやってる実例を検索すれば答えはすぐ分かるがね。
>>800
onmouseupでselectionをcollapseすれば。これも検索すれば例が
あったと思うよ。
>>792
数値への変換にeval()、ダサイ。

802 名前:Name_Not_Found 投稿日:2006/10/15(日) 23:43:50 ID:???
>>801
センスねぇwww

803 名前:Name_Not_Found 投稿日:2006/10/15(日) 23:47:14 ID:???
JSONPってMIMEタイプ決まってるP

804 名前:Name_Not_Found 投稿日:2006/10/16(月) 09:26:37 ID:???
入力欄から来たものを数値に変換するのにeval()使ってると
すごく簡単に任意のJavaScriptコードを実行されちゃうだろ。
まあ他の方法でも頑張ればできることではあるんだけど

805 名前:Name_Not_Found 投稿日:2006/10/16(月) 10:21:20 ID:???
eval とか、頑張れば出来るとか…
parseFloat そのまんまだろ。

整数値なら、
parseInt

リファレンス読めよ…

806 名前:Name_Not_Found 投稿日:2006/10/16(月) 12:21:14 ID:???
evalの評判知らないってのもねえ

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

808 名前:agesarashi 投稿日:2006/10/16(月) 12:55:21 ID:HFEqS9uU
789を投稿した者だが、

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

でOKだろ
単発な処理はたいがい関数があるから、
GGってちょうだい

809 名前:Name_Not_Found 投稿日:2006/10/16(月) 13:11:23 ID:???
爺々るってなに?

810 名前:Name_Not_Found 投稿日:2006/10/16(月) 13:23:58 ID:???
>>809
突っ込みどころはそこではなく、とほほから引っ張ってきてるということではなかろうか?

811 名前:810 投稿日:2006/10/16(月) 13:33:12 ID:???
とほほのラウンジだからとほほと直接的な関係はないな。
つい脊髄反射してしまった。すまん。

812 名前:Name_Not_Found 投稿日:2006/10/16(月) 13:33:55 ID:OJUTIi+V
オーバーライドというのは「上書き」ということですよね。
だとしたら、「オーバーライト」ではないのでしょうか。
誤訳ですか?

813 名前:Name_Not_Found 投稿日:2006/10/16(月) 13:40:23 ID:???
http://dictionary.goo.ne.jp/search.php?MT=overwrite&jn=overwrite&kind=ej&mode=0
http://dictionary.goo.ne.jp/search.php?MT=override&jn=override&kind=ej&mode=0

814 名前:Name_Not_Found 投稿日:2006/10/16(月) 13:53:28 ID:???
>>807
返す結果が違うのに、parseFloatで代替なんて、できるわけないだろ。

"3.1"を評価したら、それぞれ何が帰ってくる?"1e5"はどうだ?

815 名前:Name_Not_Found 投稿日:2006/10/16(月) 14:01:24 ID:???
>>814
変換する前に文字列としてのゴミは取り除くのがいいと
思っているのでね。別にそれが嫌で基数指定してparseInt()
というのならそれでもいいけどね。

816 名前:Name_Not_Found 投稿日:2006/10/16(月) 14:12:15 ID:???
>>815
>変換する前に文字列としてのゴミは取り除くのがいい
どういう意味だ?

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

例えばデシマルの少数に限ったところで、
"0.3"なんてのは、parseIntじゃ0 に、parseFloatじゃ 0.3 と評価されるんだぜ?
何言ってるのか、さっぱり判らん。

817 名前:Name_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

818 名前:Name_Not_Found 投稿日:2006/10/16(月) 14:23:06 ID:???
ひからびた情報に粘着する>>817のほうがすごいよ。

819 名前:Name_Not_Found 投稿日:2006/10/16(月) 14:25:05 ID:???
>>816
なんでそんなに喧嘩ごしなのかね。整数を取るのに使うのなら
文字列として数字以外のものが現れる位置「以降を削除」してから
parseFloat()するのと10を指定してparseFloat()するのとは同じでしょ。
同じでないケースがあるのならご教示ください(w

820 名前:Name_Not_Found 投稿日:2006/10/16(月) 14:30:44 ID:???
>>819
> 整数を取るのに使うのなら
> 文字列として数字以外のものが現れる位置「以降を削除」してから
どういう意味だ???

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

> 同じでないケースがあるのならご教示ください(w
いまいち、最初の「以降を削除」ってのがわからんが、"1e5"とかどうすんだ?

821 名前:Name_Not_Found 投稿日:2006/10/16(月) 14:32:12 ID:???
「とほほ」で思い出したんですが、とほほにある説明で
object.valueOf()
オブジェクトの基本的な値を得ます。Number オブジェクトの場合は数値を、
String オブジェクトの場合は文字列を、Date オブジェクトの場合は
getTime() で得られる値を返します。

というのは正しいですか?OKの場合簡単な例をご教示ください。

822 名前:Name_Not_Found 投稿日:2006/10/16(月) 14:34:17 ID:???
>>817
「Copyright (C) 1996-1999 杜甫々」
ってなってるからケンチャナヨ

823 名前:Name_Not_Found 投稿日:2006/10/16(月) 14:37:22 ID:???
>>819
言ってる事、わからんか?

"1e5"なんて、

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

って評価されるんだぜ?

824 名前:821 投稿日:2006/10/16(月) 14:41:24 ID:???
あ、やっぱいいです。書き方がちょっとことば足らずなだけですね。すんません。

825 名前:Name_Not_Found 投稿日:2006/10/16(月) 14:48:18 ID:???
>>823
「e」は数字じゃないのでそれを取り除けばそのケースは起きない
でしょ。「e」「.」を含め、数字でない文字を除外した例
で両者が違う場合を教えてください。もちろんparseInt()では
「,10)」を指定した場合と比較して。

826 名前:Name_Not_Found 投稿日:2006/10/16(月) 14:52:02 ID:???
どっちが馬鹿なんだか分からんがスレの無駄遣いやめてくれんかね。

827 名前:Name_Not_Found 投稿日:2006/10/16(月) 14:53:29 ID:???
>>825
横槍失礼。123e4という数字の書き方がなんで駄目なの?
浮動小数点を使うなら極めて合理的な書き方だと思うんだけど

828 名前:Name_Not_Found 投稿日:2006/10/16(月) 14:55:31 ID:???
int型なのにparseFloatを使うのは正直言って信じられない
読みにくいコード書くなよ

829 名前:Name_Not_Found 投稿日:2006/10/16(月) 14:56:16 ID:???
eは、数字じゃない???
いや、正直何言ってるのかさっぱりわからんぞ。

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

君、なんの話してるわけ???

830 名前:Name_Not_Found 投稿日:2006/10/16(月) 14:59:41 ID:???
よくわからんが、parseInt(string,10)でいいんじゃないの?
すべての記号を取り除いた上でparseFloatとか意味わかんない。
825は壮絶な馬鹿だな

831 名前:Name_Not_Found 投稿日:2006/10/16(月) 15:08:46 ID:???
parseInt(string, 10)でいいんだけど、実際には「,10)」指定
しない例だらけなんだよね。

832 名前:Name_Not_Found 投稿日:2006/10/16(月) 15:12:11 ID:???
Number(val)でいいじゃまいk

833 名前:Name_Not_Found 投稿日:2006/10/16(月) 15:12:22 ID:???
>>831
例って何よ?

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

こういう話か?

なんじゃそれ?

834 名前:Name_Not_Found 投稿日:2006/10/16(月) 15:12:49 ID:???
横から質問で済みませんが、整数を入れろとだけ書かれている
入力欄に「1e5」と入力されている場合、どれがいいでしょうか。
(1) 黙って「1」として扱う。
(2) 黙って「100000」として扱う。
(3) 警告して入力し直させる。

835 名前:Name_Not_Found 投稿日:2006/10/16(月) 15:15:24 ID:???
>>834
2

836 名前:Name_Not_Found 投稿日:2006/10/16(月) 15:16:39 ID:???
>>834
当然3番だろ。

指数表記を許すんなら、仮数部と、指数部の2つの入力欄をつくるよ。

837 名前:Name_Not_Found 投稿日:2006/10/16(月) 15:23:03 ID:???
もし >>835 説だと黙ってparseFloat()になりますよね。
洩れも(3)だと思うのですが、その場合は文字列チェック
するからパスした後はparseInt(,10)でもparseFloat()でも
Number()でも好きなのでいい、ということになりますよね。
好みとしてはNumber()かなあ…

838 名前:Name_Not_Found 投稿日:2006/10/16(月) 15:38:08 ID:???
str*1でいいやんと思った

839 名前:Name_Not_Found 投稿日:2006/10/16(月) 15:49:32 ID:???
>>838 論外

840 名前:Name_Not_Found 投稿日:2006/10/16(月) 16:29:29 ID:???
(4)「整数を入れろ」という注意書きを改める。
  「入力可能な値は0〜XXXです。」
  その上で、少数や指数表記などの入力をはじく処理も行う。

俺ならこれ。

841 名前:Name_Not_Found 投稿日:2006/10/16(月) 16:30:02 ID:???
>>837
もし仮数と指数を分けて入力なら「parseFloat(仮数 + 'e' + 指数)」だな。

842 名前:Name_Not_Found 投稿日:2006/10/16(月) 16:37:55 ID:???
数字以外の入力をはじく。
加えて、数値のみで当てて警告。

843 名前:Name_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ダイアログは表示されます。
(=通過はしている)

アドバイスをお願いいたします。

844 名前:Name_Not_Found 投稿日:2006/10/16(月) 16:44:46 ID:???
ヒント:スペルミス

845 名前:Name_Not_Found 投稿日:2006/10/16(月) 16:48:15 ID:???
>>844
ヒントあげ杉

846 名前:Name_Not_Found 投稿日:2006/10/16(月) 16:56:34 ID:???
すごく低そう>>lows

847 名前:Name_Not_Found 投稿日:2006/10/16(月) 17:07:21 ID:???
elm.setAttribute("rows", "2");
すみません、解決できました。
アドバイスありがとうございます。
死んできます。

848 名前:Name_Not_Found 投稿日:2006/10/16(月) 18:40:12 ID:???
setAttributeはIE教には悩ましいね

849 名前:Name_Not_Found 投稿日:2006/10/16(月) 20:09:14 ID:3fIlr47m
すません、なんとかしてJavaScriptでなんとかクライアントマシンのIPアドレスをぶっこ抜けないでしょうか?
一応WinXP上IE6を想定しています。

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

検索としては
JavaScript ローカル IP
スクリプト ローカル IP
を検索してみました。

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

検索すると、多くのサイトがdocument.Layerで描いていますが...。
おとなしくライブラリ使うべきでしょうか?

851 名前:Name_Not_Found 投稿日:2006/10/16(月) 20:24:40 ID:???
ローカルって、ルーターの内側って事?

852 名前:Name_Not_Found 投稿日:2006/10/16(月) 20:24:55 ID:???
>>849
var ip = prompt("IPアドレスを入力して下さい。", "");

853 名前:Name_Not_Found 投稿日:2006/10/16(月) 20:28:40 ID:???
>>850
CSSでやってみたら?

854 名前:Name_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>

855 名前:Name_Not_Found 投稿日:2006/10/16(月) 20:39:28 ID:???
>>854
そんな誰でも思いつく方法じゃなくて、サーバを自前で全く準備しないでも出来る方法を考えようよ

856 名前:Name_Not_Found 投稿日:2006/10/16(月) 20:44:19 ID:???
>>855
なぜ?

857 名前:Name_Not_Found 投稿日:2006/10/16(月) 21:00:28 ID:???
てか無理じゃないの?

858 名前:Name_Not_Found 投稿日:2006/10/16(月) 21:04:07 ID:???
>>855
ipconfig

859 名前:Name_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]

テラキモス

860 名前:Name_Not_Found 投稿日:2006/10/16(月) 23:15:05 ID:???
おええw
しかしローカルのIPなんかとって何すんだろね

861 名前:Name_Not_Found 投稿日:2006/10/16(月) 23:53:46 ID:???
じゃあ俺のIP晒しとくよ
192.168.1.11

862 名前:Name_Not_Found 投稿日:2006/10/17(火) 00:08:59 ID:???
おお兄弟。洩れは192.168.1.5だよ、隣だな。

863 名前:Name_Not_Found 投稿日:2006/10/17(火) 00:16:19 ID:???
ちょw 俺も 192.168.1.11 に住んでるぜw

アッ―!

864 名前:Name_Not_Found 投稿日:2006/10/17(火) 10:20:59 ID:???
>>863
あっ どうも

865 名前:Name_Not_Found 投稿日:2006/10/17(火) 11:39:00 ID:6aQ2bT0+
返事遅くなってごめんなさい

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

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

>>860
単純にグローバル+ローカルで識別したいんです・・・

866 名前:Name_Not_Found 投稿日:2006/10/17(火) 11:54:35 ID:???
>>859はスルーwww

867 名前:Name_Not_Found 投稿日:2006/10/17(火) 12:49:17 ID:xlYI61qZ
超初心者で申し訳ないですが質問させてください。

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

どうぞよろしくお願いします

868 名前:Name_Not_Found 投稿日:2006/10/17(火) 12:51:28 ID:???
>>867
ここは、自分でスクリプトを書く人の為のスレ。
初心者スレがあるから、そっちでどうぞ。

869 名前:Name_Not_Found 投稿日:2006/10/17(火) 12:59:26 ID:6aQ2bT0+
ア〜〜〜ッ!!

書いたつもりが・・・orz

家に帰ってやってみよう

と書くつもりだった
ごめんなさい>>859

870 名前:Name_Not_Found 投稿日:2006/10/17(火) 13:14:57 ID:???
>>869
コマンドプロンプト立ち上げて、ipconfigって打って、エンター押せ。

871 名前:Name_Not_Found 投稿日:2006/10/17(火) 14:20:37 ID:???
>>867
そうやって人のものをこっそり盗んで自分のホームページに貼り付けて
面白いか?そのサイトの管理者には使いたいと断ったのか?

872 名前:Name_Not_Found 投稿日:2006/10/17(火) 14:50:19 ID:???
在日コリアンだから仕方ないよ(´・ω・`)

873 名前:Name_Not_Found 投稿日:2006/10/17(火) 15:02:05 ID:???
>こっそり盗んで
ワロス

874 名前:Name_Not_Found 投稿日:2006/10/17(火) 15:47:20 ID:xlYI61qZ
>>871
すいません、説明の仕方が悪かったです。

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

よろしくおねがいします。

875 名前:Name_Not_Found 投稿日:2006/10/17(火) 15:48:31 ID:???
>>874
ソース読んで解析すればいいじゃん

876 名前:Name_Not_Found 投稿日:2006/10/17(火) 15:54:42 ID:???
>>875
ソース読むまでもなくわかるだろ

877 名前:Name_Not_Found 投稿日:2006/10/17(火) 16:22:11 ID:???
>>876
すまん質問読んでない

878 名前:Name_Not_Found 投稿日:2006/10/17(火) 16:43:12 ID:???
>>876
わかるんなら
ここにその関数を書いてよ

879 名前:Name_Not_Found 投稿日:2006/10/17(火) 16:52:35 ID:???
>>878
ソース嫁

880 名前:Name_Not_Found 投稿日:2006/10/17(火) 16:59:52 ID:???
ソース読めって言ったりパクんなって言ったり、どうしろとw

881 名前:Name_Not_Found 投稿日:2006/10/17(火) 17:07:47 ID:???
見た目からソースを想像するのです。


882 名前:Name_Not_Found 投稿日:2006/10/17(火) 17:12:05 ID:???
目でみるのではない。心でみるのだ。
心を無にして相手の気配を感じるのだ   by Mr.ポポ

883 名前:Name_Not_Found 投稿日:2006/10/17(火) 17:18:31 ID:???
教授がついて来なかったのは評価したい。

884 名前:Name_Not_Found 投稿日:2006/10/17(火) 17:23:51 ID:???
>>880
作ってやろうか?

885 名前:867,871 投稿日:2006/10/17(火) 17:36:06 ID:xlYI61qZ
>>884
よろしくお願いします!


886 名前:Name_Not_Found 投稿日:2006/10/17(火) 17:44:24 ID:???
書いたって理解できないだろ

887 名前:Name_Not_Found 投稿日:2006/10/17(火) 17:51:21 ID:???
別にソース読んだっていいだろ。読んで理解し、その上で自分で
改めて書けばいいんだから。著作権法ではアイデアは保護されない。

888 名前:Name_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>

889 名前:867,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の数だけ増やせば良いのでしょうか???

890 名前:Name_Not_Found 投稿日:2006/10/17(火) 20:11:48 ID:???
>>889
どうしたいのかワカラナスkwsk


891 名前:Name_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桁で取得できるようになるでしょうか?

892 名前:Name_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
テラキモス

893 名前:Name_Not_Found 投稿日:2006/10/18(水) 00:32:31 ID:???
>>874
金出して誰かに頼む。時給とストレスで考えたら、そっちが経済的

894 名前:Name_Not_Found 投稿日:2006/10/18(水) 00:34:27 ID:???
>>891
year を文字列にキャストしておく

895 名前:Name_Not_Found 投稿日:2006/10/18(水) 00:46:03 ID:???
var nowDate = [year, month, day, hour, minute, second].join('');
俺はこっちの方が好きかも

896 名前:Name_Not_Found 投稿日:2006/10/18(水) 00:46:57 ID:???
var nowDate = year*10000000000 + month*100000000 + day*1000000 + hour*10000 + minute*100 + second;

897 名前:Name_Not_Found 投稿日:2006/10/18(水) 00:53:11 ID:BL1nydFt
var nowDate = year.toString() + month.toString() + day.toString() + hour.toString() + minute.toString() + second.toString();

898 名前:891 投稿日:2006/10/18(水) 00:56:34 ID:???
皆さん、どうもありがとうございます。
助かりました。

899 名前:Name_Not_Found 投稿日:2006/10/18(水) 23:04:16 ID:???
質問です。
リストを作成しています。
データは1000件近く読み込み、ajaxで追加・編集・削除を行っています。
問題はFirefoxでの最初の1000件読み込みの速度向上です。
createElement・appendChildの使い方を理解できていないのか
IEではまあ我慢できる速度ですが、Firefoxではかなり時間が掛かってしまいます。
element:first*の小さなグループに同じようなformを割り込みで追加するため
2階層(?)に分けていますがこの辺りの処理が下手なのでしょうか。
改善ポイントをご教示頂けませんか。
ソースは次です

900 名前:899 投稿日: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>

901 名前:Name_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>

902 名前:899 投稿日:2006/10/19(木) 00:08:43 ID:???
>>901
ありがとうございます!早速実行して見ましたが全然違いました!
createDocumentFragmentなどかなり理解できてないみたいですね・・・
頂いたソースをじっくり読ませて頂きます!
あちがとうございました!!

903 名前:Name_Not_Found 投稿日:2006/10/19(木) 01:57:02 ID:SiT3QgIN
ボタンを押すとその時間によってメッセージが表示させるという
スクリプトを使いたいのですがうまくいきません。
その場で表示するという仕方は分かるのですが、
ボタンを押すと表示させるとなるとできなくなるのです。

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

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

functionNowTime(){
でボタンで表示するというところまで分かったのですが
どうしても表示されません。
以下私なりにがんばったソースです。
どうか見捨てないでご指導のほどよろしくお願いします。

904 名前:903 投稿日: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()


905 名前:903続き 投稿日: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>

906 名前:Name_Not_Found 投稿日:2006/10/19(木) 02:40:29 ID:???
>>903
エラーメッセージを見ればわかるはず。文法ミス。
括弧の対応でも考えてくれ

かつ、親切心で他のバグを教えるとしたら
> } else if ( h >= 23 && h <= 4){
ここ間違い


907 名前:Name_Not_Found 投稿日:2006/10/19(木) 03:53:20 ID:???
JavaScriptのhistoryって上書きできますか?
何がしたいかというと、ブラウザの戻るボタンで戻れなくしたいのです。
(フォームに設置した戻るボタンで戻って欲しい)

できない?

908 名前:Name_Not_Found 投稿日:2006/10/19(木) 04:04:11 ID:???
>>907
>>1

909 名前:Name_Not_Found 投稿日:2006/10/19(木) 07:20:37 ID:???
>>908
とりあえず>>1-8まで10回読みました。でも特にヒストリについて何も書いてありませんでした。

910 名前:Name_Not_Found 投稿日:2006/10/19(木) 07:34:12 ID:???
わざわざフォームのボタンで戻るやつなんていねぇよ

ウザがられるよ

911 名前:Name_Not_Found 投稿日:2006/10/19(木) 08:09:31 ID:???
>>909
そういうのは迷惑スクリプトだから教えてもらえないってことさ。

912 名前:Name_Not_Found 投稿日:2006/10/19(木) 11:38:46 ID:???
まあどうしてもやりたいなら別の方法探しな。あるから。

913 名前:903 投稿日:2006/10/19(木) 11:41:23 ID:???
>>906
ありがと。
 難しいなー。

914 名前:Name_Not_Found 投稿日:2006/10/19(木) 11:47:03 ID:???
>>904-905 を書き直したい衝動に従っちゃ負けだと思っている

915 名前:Name_Not_Found 投稿日:2006/10/19(木) 14:16:57 ID:???
くやしいっ…!! こんな奴に…
function NowTime(){
var h = new Date().getHours();
alert("いま"+h+"時ですね。"+["おやすみなさい","おはようございます","こんにちは","こんにちは。ご飯は食べましたか?",
"こんにちは。ご飯は食べましたか?","こんばんは","こんばんは。ご飯は食べましたか?"][Number("000001111122233344455550".charAt(h))]);
}


916 名前:Name_Not_Found 投稿日:2006/10/19(木) 15:27:28 ID:???
>>915
それを分単位で制御できるように書き直せますか?
2時45分〜3時15分のメッセージ→「休憩してください」
5時15分〜5時45分のメッセージ→「早く仕事を切り上げて帰宅してください」
てな感じに

917 名前:Name_Not_Found 投稿日:2006/10/19(木) 15:34:16 ID:???
>>916
いい加減切れるぞコラw

手取り足取りスレに行ってこい

918 名前:Name_Not_Found 投稿日:2006/10/19(木) 16:30:17 ID:???
次スレの季節が近づいてきたんで前スレで
時間切れとなったテンプレ修正案を出してみることにする。
前スレ962-963からそれに対して出た意見をまとめ、
Q15/A15に関しては>>107>>110を基にしました。

919 名前:Name_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;」。


920 名前:Name_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が置き換え前の文字列全体になります。


921 名前:903 投稿日:2006/10/19(木) 17:04:47 ID:???
>>915
どうも教えていただきましてありがとうございました。
おかげさまで分かりました!

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

失礼します。

922 名前:Name_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']);
}

923 名前:Name_Not_Found 投稿日:2006/10/19(木) 19:36:07 ID:???
あれ、JavaScriptって文字列比較を演算子で出来るんだっけ?

924 名前:Name_Not_Found 投稿日:2006/10/19(木) 19:50:54 ID:???
うん

925 名前:Name_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に入れるものではないだろう。

926 名前:Name_Not_Found 投稿日:2006/10/19(木) 22:31:10 ID:???
> そういう手詰まりを招くようなパターンでイベントドリブンな処理をするのが悪い。
意味が取りづらいから詳しく。

927 名前:Name_Not_Found 投稿日:2006/10/20(金) 00:11:22 ID:QlJIbiVw
質問です。
function A(){ this.pro = 'a';}
var o = new Object();
としたとき、オブジェクト「o」から「a」を求めるには
どうすればよいのでしょうか。IE6での実現です。

928 名前:Name_Not_Found 投稿日:2006/10/20(金) 00:41:16 ID:???
>>927
取れない

929 名前:Name_Not_Found 投稿日:2006/10/20(金) 00:42:32 ID:???
>>904-905
こういう冗長な無駄コード見ると、
経験有るプログラマーは黙ってられんよなw

930 名前:Name_Not_Found 投稿日:2006/10/20(金) 02:30:19 ID:rfFBPog6
JavaScriptによるMVCを考えているのですが、
考えがまとまらず困っています。

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

で、Controllerはどこに出てくるのかなと・・・

931 名前:Name_Not_Found 投稿日:2006/10/20(金) 02:44:54 ID:???
Modelの理解が間違ってる。
Controllerは、ユーザの入力=イベントを受けてモデルに通達を出し、その結果に従いViewを更新する
Modelはデータとデータに対するロジックを保持

932 名前:Name_Not_Found 投稿日:2006/10/20(金) 03:05:04 ID:SdMb6Bi6
HTMLに埋め込むときの onLoad="" とかって、
onLoadと書くのとonloadと書くのと、どちらが推奨されますか?

933 名前:930 投稿日:2006/10/20(金) 03:27:02 ID:???
>>931
なるほど。
ボタン押したり、リンクをクリックしたりするとまずControllerが呼ばれると。
で、その中から適切なモデルが呼ばれるという感じでしょうか?
でも、それぞれのイベントに対して一つのActionクラス(Model)を
作るというのは間違ってますかね?

あと、適切なModelを呼ぶためのアクション名のようなものって
どうやってコントローラに渡すといいですかね?
画面遷移はなるべくさせたくないので、〜.html?action=XXX
みたいなのはさせたくないかなと。


934 名前:Name_Not_Found 投稿日:2006/10/20(金) 04:38:04 ID:???
Modelは、データベース兼ビジネスロジックみたいな感じで、1つしかない。
なんつーか色々と誤解しているようだから、何か一つMVCモデルのフレームワークを使ってみては?

935 名前:Name_Not_Found 投稿日:2006/10/20(金) 05:37:51 ID:???
divを入れ子にして、外側のdivにonMouseOutを設定した場合、
そのdiv内であっても、中のdivに入るとonMouseOutが発生します。

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

MSIEで確認しています。

936 名前:Name_Not_Found 投稿日:2006/10/20(金) 06:25:55 ID:???
外側のdivに設定してその中で作動するのは普通でしょ
もうちっと頭使うべし

937 名前:Name_Not_Found 投稿日:2006/10/20(金) 06:33:29 ID:???
>>936
これがおそらく仕様通りの挙動なんでしょうけど、
この挙動って不便なだけじゃないですかね?

938 名前:Name_Not_Found 投稿日:2006/10/20(金) 08:12:33 ID:???
>>932
HTMLでは大文字小文字を区別しないので推奨はない。
XHTMLでもJavaScriptでも「全部小文字でないといけない」


939 名前:Name_Not_Found 投稿日:2006/10/20(金) 08:22:28 ID:???
>>938
ども。XHTMLを考慮すると、小文字で書いておいたほうがいいですね。

940 名前:Name_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>

のような

941 名前:940 投稿日:2006/10/20(金) 13:49:59 ID:???
940です、途中で送信してしまいました。

上記のような入力チェックスクリプトを作ったのですが、
IE7でうまくtest.cgiに移動しません。
項目1のtype="file"をtype="text"にすればうまく動くのですが
どうしてでしょうか?
ちなみにIE6やFireFoxは正常に動作します。

942 名前:Name_Not_Found 投稿日:2006/10/20(金) 14:16:38 ID:???
>>941
セキュリティがらみで type="file" はほとんどいじれない

943 名前:Name_Not_Found 投稿日:2006/10/20(金) 14:17:59 ID:eqMs+dym
idがsのdivタグに
s.innerHTML
でアクセスできるのはどうしてでしょうか。それから、この保証はECMA的に
ありますか。

944 名前:Name_Not_Found 投稿日:2006/10/20(金) 14:27:31 ID:???
>>943
IEの独自拡張。ECMAは言語について定めるものであり、そのような
ブラウザにくっついているライブラリにはいっさい感知しない。
標準ということならDOMだがDOM的にはdocument.getElementById()
を使う必要がある。

945 名前:Name_Not_Found 投稿日:2006/10/20(金) 15:12:51 ID:???
>>944さん 有難うございました。

946 名前:918 投稿日: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じゃないけど↓をもうちょっと詳しくお願いできますか?
> そもそも、そういう手詰まりを招くようなパターンでイベントドリブンな処理をするのが悪い。

947 名前:Name_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」です

948 名前:Name_Not_Found 投稿日:2006/10/20(金) 23:59:02 ID:+3k2ju3O
質問です。

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

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

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

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

誰か知ってる方いたらよろしくお願いします。

949 名前:Name_Not_Found 投稿日:2006/10/21(土) 03:00:40 ID:gdbQp+/W
ttp://www.marguerite.to/Nihongo/HowToMakeYourWeb/JavaScript/index.html

プログラム初心者が勉強するにはこのサイトはどうですか?評価を聞かせてください。

950 名前:Name_Not_Found 投稿日:2006/10/21(土) 04:02:07 ID:???
>>949
自分が読んでみて分かり易ければ良いんじゃない?

951 名前:Name_Not_Found 投稿日:2006/10/21(土) 07:59:53 ID:???
>>948
このスレの過去ログを呼んでいるとonbeforeunloadというのも
出て来るはずなんだけどね。

952 名前:Name_Not_Found 投稿日:2006/10/21(土) 08:07:50 ID:???
新スレは975超えたら。テンプレ(とくに2レスに分けるFAQ)の意見は
お早めに。

953 名前:Name_Not_Found 投稿日:2006/10/21(土) 08:43:42 ID:RIMO9wU9
document上にオブジェクトを生成する場合、appendChildで追加できますが、
その元になるHTMLのオブジェクトをJavaScriptで作るにはどうすればよいの
でしょうか。
var t=document.cereateElement('div');
document.appendChild(t);
だとクラッシュします。

954 名前:Name_Not_Found 投稿日:2006/10/21(土) 08:47:27 ID:???
>>953
クラッシュしねーよ、ただエラーが出るだけだよ
頼むからエラーメッセージくらい読もうぜ

955 名前:953 投稿日:2006/10/21(土) 09:52:50 ID:???
>>954
失礼しました。ページが破棄されるのでついクラッシュと書いてしまいました。
お答えよろしくお願いします。

956 名前:Name_Not_Found 投稿日:2006/10/21(土) 11:00:19 ID:???
>>946
>DOM3 Eventsにいたっても異なるイベントグループ間での
>リスナの呼び出し順は不定なんで、
論点がそれてるよw

>実際prototype.jsやMochiKitなど
>よく使われるライブラリでも特に管理してませんし。
だから?
バグを真似しろとでも?w

957 名前:Name_Not_Found 投稿日:2006/10/21(土) 11:03:10 ID:???
>>953
質問の意味が分からない。何をしたいのかも分からない。

958 名前:Name_Not_Found 投稿日:2006/10/21(土) 12:02:03 ID:???
javascrictのリンクとハイパーリンクは何処がどう違うんですか?

959 名前:Name_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などで
これに対する対策がとられていないのは、開発者がこの問題を認識していない
からではなくて、彼らがこのことを重要な問題とは捉えてないからだと思う。
言うならば妥協。リスナの実行順が重要になる場面ってあんまりないと思うし。

960 名前:Name_Not_Found 投稿日:2006/10/21(土) 13:32:14 ID:???
結論が出ないようならFAQの改訂は無理だということになるが。

961 名前:Name_Not_Found 投稿日:2006/10/21(土) 13:45:11 ID:???
>>959 said
「javascriptのリンク」は実行するとhrefに指定されたJavaScriptが実行される、

どこでそんなこと習ってきたの?

962 名前:Name_Not_Found 投稿日:2006/10/21(土) 13:50:54 ID:???
a href と onclick の挙動がおなじだったりして

a onclick = javascript: と a href = はおなじだろ

963 名前:Name_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>


964 名前:Name_Not_Found 投稿日:2006/10/21(土) 14:34:29 ID:???
じゃFAQ14,15あたり? はとりあえず審議中で分断するか、
外してしまうかしときゃいいじゃん。

965 名前:Name_Not_Found 投稿日:2006/10/21(土) 15:24:49 ID:???
obj.onxxx=function(){a();b();c()}
obj.addEventListener('xxx',function(){a();b();c()},false)

で何がダメなの?

966 名前:Name_Not_Found 投稿日:2006/10/21(土) 15:38:15 ID:???
>>962
<a href="javascript:'GoodBy!'">Hello!</a>

967 名前:Name_Not_Found 投稿日:2006/10/21(土) 16:03:50 ID:o4WDMAy4
正直>>947は天才だと思う。
この野球ゲーム、完成させようぜっ!


968 名前:Name_Not_Found 投稿日:2006/10/21(土) 16:07:57 ID:???
>>947
よくアドバイスしたいんだけど、タイミングがどうおかしいんだ?

969 名前:Name_Not_Found 投稿日:2006/10/21(土) 16:31:08 ID:0RpVgaQM
ページのどのあたりがクリックされたかを解析したいと思い
JavaScriptでWindowサイズと、クリックした座標を取得し、コンテンツの横幅を設定し
そこから割り出そうと思っているのですが、ページをスクロールされている場合、
高さを割り出すことができずに困っています。

どうにかこうにかなりませんか?

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

お願いします。

971 名前:Name_Not_Found 投稿日:2006/10/21(土) 17:06:39 ID:???
タグが画面にあるかどうかはわからんね

972 名前:Name_Not_Found 投稿日:2006/10/21(土) 17:08:35 ID:???
>>971
わかるだろ



973 名前:Name_Not_Found 投稿日:2006/10/21(土) 17:17:50 ID:???
だってタグだよ?

974 名前:Name_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が置き換え前の文字列全体になります。


977 名前:Name_Not_Found 投稿日:2006/10/21(土) 18:25:36 ID:???
>>968,974
右バッターなので、早くふるとレフトに飛んで遅くふるとライトに飛ぶように
しているのですがいまくいきません
それ以前球の当たりがまったくおかしいのです
バットがボールにあたってないのでヒットになったりと・・・



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

+ JavaScript の質問用スレッド vol.52 +
http://pc8.2ch.net/test/read.cgi/hp/1161422792/


979 名前:Name_Not_Found 投稿日:2006/10/21(土) 21:23:50 ID:24MI3M23
質問です。
o={a:'b'}とo={'a':'b'}のちがいについて教えてください。

980 名前:Name_Not_Found 投稿日:2006/10/21(土) 21:34:56 ID:???
>>977
処理の概要書いてくれないと読むのちょっとしんどい。
見た感じ、「プレイ」を放してからのボール到達時間は一定。
「打つ」を放してからのスイングは一定みたいなので、
2つのボタンを放した時の時間差分で、結果は作れるように思う。
変化球追加してもそれは同様。

981 名前:Name_Not_Found 投稿日:2006/10/21(土) 22:13:41 ID:???
>>979
それはまったく同等。フィールド名を''で囲めるようになっている
のは、名前でない(数字や記号などの)フィールド名が使えるように
するためだけど、普通の名前のときも囲んでも別にいい。
フィールド名じゃなくプロパティ名だろとかの突っ込みはご勘弁を。

982 名前:Name_Not_Found 投稿日:2006/10/21(土) 22:29:17 ID:???
>>980
失礼しました
処理の概要はおっしゃる通りです
実際には、GIFアニメを使っているので、ボールがホームベース上にいくコマのタイミング
とバットを振ったときに、ホームベース上にいくコマのタイミングが合致したらボールが
飛ぶというGIFアニメに変更しています。
そのときに、タミングが多少早いとレフト方向に飛ぶGIFアニメ、遅いとライト方向に飛ぶGIFアニメ
に差し替えています。

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

こんな感じで質問の内容わかるでしょうか?

983 名前:Name_Not_Found 投稿日:2006/10/21(土) 22:50:26 ID:24MI3M23
My result is this :
Prototype.js is junk.


984 名前:Name_Not_Found 投稿日:2006/10/21(土) 23:47:53 ID:???
>>982
じゃ、内部処理としては問題なし、ということかな?
問題は見た目。内部処理と見た目の隔たりだけということ?

985 名前:Name_Not_Found 投稿日:2006/10/22(日) 00:11:32 ID:???
次スレ
http://pc8.2ch.net/test/read.cgi/hp/1161422792/


986 名前:Name_Not_Found 投稿日:2006/10/22(日) 00:40:03 ID:???
テキストボックスの中に入れる数値が未入力だと=ボタンを
押した時に”未入力です”と表示させたいのですが、
どうがんばってもポップアラートがでません。
どこがおかしいのか教えていただけないでしょうか?



987 名前:986 投稿日: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>

988 名前:986 投稿日: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>

989 名前:948 投稿日:2006/10/22(日) 06:51:16 ID:rJb00/3P
>>951
OnBeforeUnloadだとダイアログ出すことは出来ますが、
そのままブラウザ閉じられた場合に関数を実行できません。
window.addEventListener('beforeunload', '関数名', true)
のようにしてもそのまま閉じられた場合はFirefoxではアクションを検知しません。
何か対策はありますでしょうか・・・。

990 名前:Name_Not_Found 投稿日:2006/10/22(日) 09:35:40 ID:???
>>984
内部処理として問題なしかどうかが私的に?なんです
すいません。
以下の加算するのがうまくいかずタミングがづれている感じです
デバッグでステータス場合に値を表示しているのでそれでわかるのではと思います。
i_Str = parseFloat(i_Str)+0.01;

いかがでしょう?

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

992 名前:Name_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の論理積って左から評価されること、偽があればそこで評価を終えることは保障されてる?

993 名前:Name_Not_Found 投稿日:2006/10/22(日) 10:09:07 ID:???
>>992
保証されているとも。でも「onclick="return blankCheck() && keisan()"」だね。

994 名前:Name_Not_Found 投稿日:2006/10/22(日) 10:11:50 ID:???
>>993なんでreturnすんの?サブミットボタンじゃないんだぜ?
あれ、フォーム内のただのボタンでもサブミットされるんだっけ?

995 名前:Name_Not_Found 投稿日:2006/10/22(日) 11:32:19 ID:???
よーし、今度はパパが1000ゲットするぞ。

996 名前:Name_Not_Found 投稿日:2006/10/22(日) 11:47:33 ID:???
>>974
失礼しました。
修正版をアップしてくれてたんですね
なかなかいいですね
打った瞬間スローになるところも
ありがとうございます

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

>>991
ってことで>>947さんが修正してくれた感じでいいと思います


997 名前:Name_Not_Found 投稿日:2006/10/22(日) 12:18:26 ID:???
f

998 名前:Name_Not_Found 投稿日:2006/10/22(日) 12:18:58 ID:???
t

999 名前:Name_Not_Found 投稿日:2006/10/22(日) 12:19:30 ID:???
p


1000 名前:Name_Not_Found 投稿日:2006/10/22(日) 12:19:58 ID:???
1000ならJSONP

1001 名前:1001 投稿日:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。


戻る

偽Dat2HTML LO v1.0b13 Converted.
無料レンタル無料ホームページ無料オンラインストレージ