2ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

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

1 :まず >>2-3 読め! 続いて過去スレ全集を検索!:2006/12/02(土) 18:22:43 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/1161422792/l50
まとめサイト http://web2ch.s31.xrea.com/?JS
FAQ・注意・過去ログ・関連資料・関連スレ>>1-10またはまとめサイト

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

3 :まず >>2-3 読め! 続いて過去スレ全集を検索!:2006/12/02(土) 18:24:34 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]を読み書きすれ。

4 :まず >>2-3 読め! 続いて過去スレ全集を検索!:2006/12/02(土) 18:25:38 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が置き換え前の文字列全体になります。

5 :まず >>2-3 読め! 続いて過去スレ全集を検索!:2006/12/02(土) 18:26:32 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/12/02(土) 18:27:32 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

JavaScript 1.5 (Netscape/Mozilla)
http://developer.mozilla.org/ja/docs/Core_JavaScript_1.5_Reference
http://developer.mozilla.org/ja/docs/Core_JavaScript_1.5_Guide

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/12/02(土) 20:26:14 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/12/02(土) 20:27:40 ID:???
【検索】
キーワード『…』で検索しろ」「ぐぐれ」と言われた場合はこちらへ
http://www.google.co.jp/

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

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

CSS /* CSS・スタイルシート質問スレッド【62nd】 */
http://pc8.2ch.net/test/read.cgi/hp/1164534589/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/12/02(土) 21:21:47 ID:???
>>1-8
細かいことだけど次スレからは
「まず >>2-4 読め! 続いて過去スレ全集を検索!」でよろしく。

10 :Name_Not_Found:2006/12/03(日) 00:27:07 ID:???
ついでにここも見ておくと幸せになれるかも知らん
ttp://www.tt.rim.or.jp/~rudyard/torii009.html

11 :Name_Not_Found:2006/12/03(日) 14:48:00 ID:???
iframeの中から親フレームのフォームにアクセスするときは
どのように書けばいいんでしょうか?

parent.document.forms[0] でうまく動かないのですが・・。


12 :Name_Not_Found:2006/12/03(日) 14:51:21 ID:RTC/9nXK
同じドメイン内?
topから参照すると?

13 :Name_Not_Found:2006/12/03(日) 14:58:43 ID:???
同じドメイン内です。

14 :Name_Not_Found:2006/12/03(日) 17:22:17 ID:???
>>13
見えなかったのかよ。top.document.forms[0]ではどうなのかと。

15 :Name_Not_Found:2006/12/03(日) 17:26:08 ID:???
>>14
topがparent.parentかもしれないじゃないか。

16 :Name_Not_Found:2006/12/03(日) 17:31:37 ID:???
>>15
それはあまりなさそうだから、まずtopでやってもらってそれで駄目なら
さらに検討するのでいいんでは。最初から完璧なレシピ書こうとしたら
書き込みが教科書みたいになっちゃうよ。

17 :11:2006/12/03(日) 18:34:36 ID:???
解決しましたありがとう

18 :ななし:2006/12/03(日) 21:04:43 ID:3hE8D/sa
はじめまして。http://music.j-total.net/data/028fu/034_fumido/003.htmlこのサイトの右クリックを解除するのなかなかできません。
どなたか教えていただけませんでしょうか?聞くところによると、アドレスの欄に何かを加えるのだそうですか。。。
よろしくお願いします。

19 :Name_Not_Found:2006/12/03(日) 22:25:18 ID:???
>>18
前のスレとのマルチ乙

20 :ななし:2006/12/03(日) 23:21:13 ID:3hE8D/sa
>>19
絶対にみれません。ソースもみれませんし。。。

21 :Name_Not_Found:2006/12/04(月) 04:24:37 ID:???
ここはブラウザの使い方を聞くスレではありません。

22 :Name_Not_Found:2006/12/04(月) 11:57:25 ID:???
スレのアタマからこんなヴァカを相手にしなきゃならん 情けなさ。もう二度と来るな。

23 :Name_Not_Found:2006/12/04(月) 18:09:10 ID:???
>>6-7
乙。だが、ECMAScriptチュートリアル、Dynamic Scriptingはとっくに閉鎖。

変更?
Gecko DOM Reference
http://developer.mozilla.org/en/docs/Gecko_DOM_Reference
Netscape Devedge
http://devedge-temp.mozilla.org/central/javascript/index_en.html

追加?
E4X(和訳)
http://www.ne.jp/asahi/nanto/moon/specs/ecma-357.html
JScript.NET (8.0)
http://msdn2.microsoft.com/ja-jp/library/z688wt03.aspx

24 :Name_Not_Found:2006/12/04(月) 18:50:44 ID:???
Web制作板でドトネトは入れるのかどうかねえ?

25 :Name_Not_Found:2006/12/04(月) 22:17:39 ID:???
つJScript .NETスレ
http://pc8.2ch.net/test/read.cgi/tech/1123842575/

26 :Name_Not_Found:2006/12/05(火) 06:46:35 ID:4971/hcG
vol.30で九大経済の教授が質問してるわ。
ソースをググったら全く同じだった。

27 :Name_Not_Found:2006/12/05(火) 08:03:07 ID:???
へーGoogleってページに入っているJavaScriptソースも
検索できるの?そりゃ面白いや(script要素の中は除外してる
だろうと思っていた)。

28 :Name_Not_Found:2006/12/05(火) 10:10:28 ID:yjzyZ8BM
質問です。
count = 0;
function F(){
if(count>20)clearTimeout(timerID);
timerID = setTimeout("F",500);
return count++;
}
でタイマが止まりません。なぜですか?

29 :28:2006/12/05(火) 10:11:54 ID:yjzyZ8BM
orz
× timerID = setTimeout("F",500);
○ timerID = setTimeout("F()",500);


30 :Name_Not_Found:2006/12/05(火) 10:18:14 ID:???
>>28
突っ込みどころが多すぎて…
まぁclearの後にsetしているのが直接の原因なのだが、それにしてもひどい

31 :28:2006/12/05(火) 10:45:35 ID:???
ありがとうございます。まともに止まるように書き直しては頂けませんか?

32 :Name_Not_Found:2006/12/05(火) 10:53:14 ID:???
>>31
まず「何がしたいか」分かる日本語で書け。テンプレにも
そうあるだろ。そのコードから推定しろなんて無理ぽ。

33 :Name_Not_Found:2006/12/05(火) 11:01:53 ID:???
>>31
書き直してやるから金くれ

34 :Name_Not_Found:2006/12/05(火) 12:09:33 ID:???
>>28>>31
間を置かずに呼び出されたら、一瞬でcountが上がるように見えるだろうね。
例えば、クリックにフックされていたら、連打に対して弱い。
有効で簡単で一般的な対策は、何も考えずに、無条件にいつでもclearTimeoutすることだな。
function F() {
  clearTimeout(timerID);
  if (count <= 20) {
    ....
  }
  ....
}

35 :Name_Not_Found:2006/12/05(火) 12:16:08 ID:???
Timeoutじゃなくて、Intervalの間違いじゃね?
もっともsetIntervalで呼ばれる関数の中にsetIntervalがあると大変なことになるがw

36 :28:2006/12/05(火) 13:09:19 ID:???
>>34さん ありがとうございました。できました。

37 :Name_Not_Found:2006/12/05(火) 16:59:08 ID:4971/hcG
>>27
いや、教授のHPのソースをググったら2chのスレがひっかかった、ってことね。

38 :Name_Not_Found:2006/12/05(火) 17:27:33 ID:???
その教授がパクッたと考えてみる

39 :Name_Not_Found:2006/12/05(火) 17:37:11 ID:7Em5fsje
逆に2chの書き込みがパクりだとか言われると面倒だから放置決定

40 :Name_Not_Found:2006/12/05(火) 17:48:52 ID:???
何のソースのことを言ってるのかさっぱりなんだけど、
どれのこと?

41 :Name_Not_Found:2006/12/05(火) 17:52:47 ID:???
そりゃ、ブルドックとんかつソースだよ、ちみ

42 :Name_Not_Found:2006/12/05(火) 17:56:34 ID:???
2chの書き込みがパクりだとか言われたと考えてみる……で?

43 :Name_Not_Found:2006/12/05(火) 20:26:29 ID:73nWd6Fi
open.windowを使ってjspを別窓で開いた際に、
タイトルバーには「http://〜」と表示されるのですが
これを此方で決めたタイトルに変更することは可能でしょうか?

もし可能ならばその方法を教えて下さい。
宜しくお願いします。

44 :Name_Not_Found:2006/12/05(火) 20:41:41 ID:???
>>43
ドキュメントハンドラ開いてdocument.titleに代入して閉じる

45 :Name_Not_Found:2006/12/05(火) 20:41:42 ID:???
>>43
一番素直なのはそのページを生成するJSP側で<title>...</title>を
望むように生成することだが。それが駄目なら、JS側でその窓の
中身を一度吸い上げてtitleを変更して書き戻すのかな。もちろん
同じ鯖でないとできないけど。

46 :Name_Not_Found:2006/12/05(火) 20:42:25 ID:???
そうか、document.title変えると変えられるんだっけか…

47 :Name_Not_Found:2006/12/05(火) 21:13:38 ID:???
2.
【質問を書く上で】
1)ユーザ(閲覧者)に迷惑がかかる性悪スクリプトは回答されない。

性悪スクリプトってw
しょうわる女と同じ意味?
悪性スクリプト、じゃなくて?w

48 :43:2006/12/05(火) 21:29:30 ID:???
>>44
document.title使うんですね。試してみます。

>>45
jsp側の<title>〜</title>が反映されないので困っていました。



お二方ともありがとうございました。


49 :Name_Not_Found:2006/12/05(火) 23:03:41 ID:???
>>48
それはヘンだ。ブラウザのview sourceで<title>...</title>が
正しい位置に正しい内容で出ているかどうか見るべきでは。
>>47
それはつまり「性悪」は人間にしかつけられないだろという
突っ込みなわけ? 洩れは面白いしいいと思うけどなー。

50 :Name_Not_Found:2006/12/05(火) 23:08:16 ID:???
擬人法?

51 :Name_Not_Found:2006/12/05(火) 23:16:55 ID:???
迷惑がかかる性悪オンナは買い等されない、ならわかるが

52 :Name_Not_Found:2006/12/05(火) 23:27:10 ID:???
となると、ちょい悪スクリプトっつうのもありそうだな

53 :Name_Not_Found:2006/12/05(火) 23:33:03 ID:???
現在のファイル名を取得したいのですが……

var path=window.location.href;
var file=path.substring(path.lastIndexOf('/',path.length)+1,path.length);

これでファイル名を出すことには成功したんですが、例えばhttp://www.2ch.net/index.html#topなどの場合
これだとindex.html#topを返してしまいます。
#topを含めず、index.htmlだけを取得したいんですが、良い方法はないものでしょうか。

54 :Name_Not_Found:2006/12/05(火) 23:33:33 ID:???
ブックマークレットはなんとなくちょい悪な雰囲気。

55 :Name_Not_Found:2006/12/05(火) 23:35:58 ID:???
>>53
location.href.split("?")[0].split("#")[0].split("/").pop();

56 :Name_Not_Found:2006/12/05(火) 23:41:09 ID:???
>>55
こんな風に……目からウロコです。
ありがとうございます。

57 :Name_Not_Found:2006/12/05(火) 23:46:00 ID:???
location.pathnameのほうが早い希ガス

58 :Name_Not_Found:2006/12/06(水) 00:44:41 ID:???
チェックボックスの部分だけ外部化したいのですが、
<head></head>の部分とjsの部分はどのように書いたら
いいのでしょうか?

59 :Name_Not_Found:2006/12/06(水) 01:01:38 ID:???
>>55
RFC3986読め。

60 :Name_Not_Found:2006/12/06(水) 01:16:38 ID:???
>>58
JSはどこにでも入れていいの?もしそうなら
チェックボックスを入れるところに<script src="..."></script>
を突っ込んでJSファイルからdocument.write()さすのが簡単かも。

61 :Name_Not_Found:2006/12/06(水) 01:20:52 ID:???
>60
早速のご回答ありがとうございます。
しかしそれだとそのままdocument write()の部分に
書かれたものがそのまま出てしまいます。
チェックボックスを出したいので
チェックボックスのタグをどうしたらjavascriptに
埋め込めばよいのでしょうか?

62 :Name_Not_Found:2006/12/06(水) 04:47:24 ID:???
ファンクションが終わるまで、テキスト入力不可にして、セレクトメニューにもボタンにも何のアクションも起こさせない方法ってあるでしょうか?
エレメント全部にdisabledを使っていたのですが、もう他のプログラマもdisabled使っていて、「お前変えてYOwww」とか言えず駄目っぽいのです…
次に試してみたのが、非常にまどろっこしいけど、onFocus="this.blur();"で入力拒否にして、ボタンはonclick=return false;で代用しようと思いましたが、firefox1.5辺りにonfocusのバグ発見
右クリック禁止っぽく、左クリックを取得して、return false;で、逃げる方法を明日試してみようと思いますが…

イベントを起こさせない、入力もさせないみたいなことって、他に何かないでしょうか?
お前あれ知らないの?www とか、javascript on/offって実はウェブから変えられるんだYOww   ΩΩ Ω… (ry
とかあって欲しいのですが。。。w


63 :Name_Not_Found:2006/12/06(水) 06:35:09 ID:???
・スクリプトでcssいじって条件が揃うまで対象を不可視にする、
・条件が揃ったら対象を動的に書き出す、



64 :Name_Not_Found:2006/12/06(水) 09:00:13 ID:???
>>61
なんだか非常にわけのわからない質問なんだけど、
document.write('<input type="checkbox">');
で何が問題なのかをまずこちらが聞きたい。

65 :Name_Not_Found:2006/12/06(水) 09:38:27 ID:???
htmlファイルにテキストフォームを3つ作り
フォーム1+フォーム2=フォーム3に答え
が出るようなJavaSprictが必要なのですが
フォーム1と2に数字の0を入力した場合
フォーム3が空欄になってしまいます(例えば1+0=空欄となる)
0を入力しても計算できるよう変更したいのですが
アドバイスをお願いします。

jsファイルの中身
var _1, _2, _3;

function SetTarget(){
var Ipt;
Ipt=document.getElementsByTagName('input');
_1=Ipt[0]; _2=Ipt[1]; _3=Ipt[2];
}

function Calc(){
var 1,2,3;
1=_1.value-0;
2=_2.value-0;
3=(1&&2)?1+2:'';
_3.value=3;

function NumOnly(x){
var u=x.value;
x.value=u.replace(/[^0-9]/,'');
}

実際のファイルは他にも色々と式等組み込んでおります。
ただ足し算をするだけならもっと簡単な記載方法があると思うのですが
この形で作りたいと思っておりますので、アドバイスをお願いします。

66 :65:2006/12/06(水) 10:31:12 ID:???
すみません、以前他スレで教えてもらった事のある記載方法でしたので
そちらで再度質問させていただきます。スレ汚し失礼いたしました。

67 :Name_Not_Found:2006/12/06(水) 10:35:50 ID:???
>>65
その1とか2とかいう変数名をやめてほしい。そんなの読めん。
数値をそのまま論理値として使うと0が偽になるからだろ。
欄1と欄2が空でないときだけ計算するならその空でない
というチェックと計算とを分離すれ。

68 :Name_Not_Found:2006/12/06(水) 10:36:02 ID:???
ページにスクリプトで任意の要素を追加しようと思ったら
ページのロード後でないとダメだと思うんですが
HTMLヘッダ内に記述し、かつonload以外で実現する方法はありませんか?

69 :Name_Not_Found:2006/12/06(水) 10:40:21 ID:???
>>68
前スレに出てたけど,一番最後あたりにIDつき要素を入れて
おき,ヘッダ内のスクリプトでsetInterval()で監視用の
関数を定期実行させ,その関数で上記IDが現れたら全部ロード
できたものとしてonload同様の処理をする。

70 :Name_Not_Found:2006/12/06(水) 10:46:12 ID:???
>>69
サンクス
早速やってみる!

71 :Name_Not_Found:2006/12/06(水) 11:04:31 ID:???
window.onloadと匿名関数で事足りる飢餓!

72 :Name_Not_Found:2006/12/06(水) 11:25:25 ID:???
>>71
(゚∀゚)!

これだ!
ありがとー!

73 :Name_Not_Found:2006/12/06(水) 11:52:29 ID:???
>>67
やめてほしいもなにも構文違反だから実行されない。

74 :Name_Not_Found:2006/12/06(水) 15:07:18 ID:???
JavaScriptからJavaAppletのpublicなmethodを呼び出してデータを
受け取る場合について質問があります。

データが文字列であれば特に問題なくJavaScriptにて取得・表示が
できます。
これと同様のことを画像データで行いたいのですが、可能でしょうか?

動的画像生成を、サーバサイドでできることは分かっているのですが、
サーバサイドには処理的・転送量的な負荷を余りかけたくないため、
動的画像生成をクライアントサイドで出来ないかを検討しております。
あくまで、JSP+Servletのシステムなので、JavaAppletはちょっとした
補助程度の使用で済ませたいと考えています。

何かよい方法等ありましたらアドバイスをお願いいたします。


75 :Name_Not_Found:2006/12/06(水) 15:52:49 ID:???
>>74
IEが未実装だが、rfc2397を使えばできなくはない。

76 :Name_Not_Found:2006/12/06(水) 16:48:24 ID:???
ActiveXObject を使って、外部(サイト)のhtmlファイルを読み込みたいのですが、
その際に、取り込んだファイルから全てのタグを削除したいと思います。
このやり方では、特に<script>の内部が削除できないのですが、
どう直せばよいでしょうか?

var tmp1 = original.replace( /<script.*?<\/script.*?>/g ,"" );
var tmp2 = tmp1.replace( /<[\/\!]*?[^<>]*?>/g ,"" );


もう一点
外部ファイルを取り込んで上のreplaceなどをすると、エンコードが同じか違うかとは関係なく
取り込んだ文字列が文字化けする場合があるのですが、これはどうすれば解消できるのでしょうか?



77 :Name_Not_Found:2006/12/06(水) 17:12:52 ID:???
以前、こちらでアドバイス頂いたプルダウンメニューを
「新しいウインドウで開く」設定で使っているのですが

最近ではタブブラウザの設定によって
「新しいウインドウ」を「新しいタブ」に置換して開くことが出来ますよね
ところが、今使っているJavaScriptだと
ブラウザの設定通りに「新しいタブ」で開くことが出来ず
「新しいウインドウ」が開いてしまいます

BlogPeopleのプルダウンメニューだと
ブラウザの設定次第で、「新しいウインドウ」にも「新しいタブ」にも開けるので
今使っているコードが適切でないのだと思います

コードを提示するので、修正して頂けないでしょうか
お願いします

78 :Name_Not_Found:2006/12/06(水) 17:14:08 ID:???
>>76
前半については、前スレの696-699を読め。

79 :Name_Not_Found:2006/12/06(水) 17:16:47 ID:???
今使っているのはこんな感じです

<head>
<script language="JavaScript">
<!--
function newLocationWindow(uri) {
if (uri)
window.open(uri, 'link','toolbar=yes,location=yes,directories=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes');
}
//-->
</script>
</head>

<body>
<form name="iku">
<select name="basho" onChange="newLocationWindow(this.value)" SELECT style="width:180px;">
<option value="" selected>植草教授</option>
<option value="http://hogehoge.com/">手鏡</option>
</select>

</form>
</body>

80 :Name_Not_Found:2006/12/06(水) 17:51:41 ID:Rr+plq48
ページ遷移をさせずにJavaScriptだけで、
あるページを訪問済みとして処理し、
リンク色が訪問済みになるように処理することはできますか?

単に色を変えるだけでなく、後で見ても、
実際にブラウザがそのリンクを訪問済みと認識するようにしたいです。


81 :Name_Not_Found:2006/12/06(水) 17:58:55 ID:???
>>80
絶対にできない。履歴はセキュリティ上の理由で厳重に保護されて
いて、JavaScriptからはまったく参照すらできない。もしできたら
自分のページ見たらエロページ訪問したように履歴書き換えて、
それを他人にチクって陥れるとかが可能になるだろ?よく考えれ。

82 :74:2006/12/06(水) 18:08:00 ID:???
>>75
回答ありがとうございます。
早速、FireFoxで試したところ、うまく動きました!!
#IEで動かないのが残念ですが・・・

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


83 :Name_Not_Found:2006/12/06(水) 21:23:55 ID:???
見えないiframeでも作って、そこに表示させるとか?

84 :Name_Not_Found:2006/12/06(水) 21:28:03 ID:???
>>83
なるほど! それは正解ぽいなあ。しかし勝手にエロサイトの
履歴つけられるの嫌だなあ。

85 :Name_Not_Found:2006/12/06(水) 23:43:41 ID:InO6yrid
>>80
A:visitedかどうかa要素の文字色から判別して、状態をCookieに保存するとか

86 :Name_Not_Found:2006/12/07(木) 00:03:51 ID:5QbsEYV2
すいません教えてください。
正規表現のmatchはマッチしないとき「null」を返しますよね。で、if条件で
括弧の中に入れてmatchの結果を判別するのにもmatchを使いますが、そうだと
すると、if(null)は偽として利用していることになります。
ということは、null==0 は真ということですか?

87 :Name_Not_Found:2006/12/07(木) 00:19:39 ID:???
>>86
ifの括弧の中ではboolean値を要求する。それ以外の値はすべて
boolean値(true/false)に変換される。nullはfalseになる。
0もfalseになる。たまたま変換した後が同じというだけ。

88 :Name_Not_Found:2006/12/07(木) 00:23:53 ID:AG2YVeiw
>>86
ifではnullも0も偽として扱われるだけであってnull==0は成り立たない
というか自分で試せばいい

ttp://www2u.biglobe.ne.jp/%7Eoz-07ams/prog/ecma262r3/12_Statements.html#section-12.5
ttp://www2u.biglobe.ne.jp/%7Eoz-07ams/prog/ecma262r3/9_Type_Conversion.html#section-9.2

89 :Name_Not_Found:2006/12/07(木) 00:35:53 ID:???
>>64
 亀レスですいません!
 document.write('<input type="checkbox">');
 ここにチェックボックスのタグを打ち込むのを
 知りたかったんです!
 ありがとうございました!

90 :86:2006/12/07(木) 00:52:47 ID:???
>>87,>>88
ありがとうございました。なるほど。わかりました。

91 :Name_Not_Found:2006/12/07(木) 00:56:32 ID:???
http://gugenaba.hp.infoseek.co.jp/calcbmi.html
http://gugenaba.hp.infoseek.co.jp/calcbmi.txt

↑のスクリプトで身長と体重を入力するとBMI値が算出され、
その値によって肥満度を表示するというものを作りたいのですが
肥満度がどうしても"普通"を返してしまいます。おそらくresultの値がデフォルトの値を返してしまっているから
だと思うのですが、どうしたらうまく動くかアドバイスいただけないでしょうか。

92 :Name_Not_Found:2006/12/07(木) 01:13:43 ID:AG2YVeiw
>>91
fncBMI()のタイミングで結果を表示しないとダメ
document.writeはロード時に実行されているようだし・・・

93 :Name_Not_Found:2006/12/07(木) 01:43:41 ID:???
>>92
どうもありがとうございます。
head内にまとめるべきということでしょうかね?
わかってきたような気がします。
もうちょっと練ってみます。

94 :Name_Not_Found:2006/12/07(木) 10:30:27 ID:bIqGo8j+
JavaScriptで、HTML内の要素を動的に変えたいのですが、IEはうまく
動作するものの、FireFoxで正常に動作しないため、困っています。

【HTML】
<span id = "id1">変更前文字列</span>

【試したJavaScript】
1.
document.all['id1'].innerHTML = "変更後文字列";
2.
document.getElementById("id1").innerHTML = "変更後文字列";
3.
document.layers['id1'].innerHTML = "変更後文字列";

3つとも全滅でした。宜しくお願いします。

【環境】
WindowsXP
FireFox1.0.7




95 :Name_Not_Found:2006/12/07(木) 10:39:51 ID:???
>>94
Use ECMA web standard property.

96 :Name_Not_Found:2006/12/07(木) 11:55:49 ID:bIqGo8j+
>>95
見事に表示しました。
どうも、ありがとうございました。

97 :Name_Not_Found:2006/12/07(木) 12:54:50 ID:???
ボケ対ボケ

98 :Name_Not_Found:2006/12/07(木) 13:53:44 ID:???
>>97 第1章 妬みとは何か
ttps://bookweb.kinokuniya.co.jp/hb/wshosea.cgi?W-NIPS=9980504269&BN=OFF


99 :Name_Not_Found:2006/12/07(木) 16:48:32 ID:???
ボケ追加

100 :Name_Not_Found:2006/12/07(木) 18:24:15 ID:???
>>99
ボケとは何か
www.bk1.co.jp/reviewer/579340/nickname/%93y%97j%93%FA%82%CC%8Eq%8B%9F

101 :Name_Not_Found:2006/12/07(木) 18:52:48 ID:???
一向に気付く気配がないボケに纏わりつかれ始めたので、ボケみたいな指摘をしてやるが、ECMA web standardって、意味不明だから。

102 :Name_Not_Found:2006/12/07(木) 20:10:13 ID:???
質問です。

(function() {
window.Test = function() {/*いくつかのプロパティ群*/};
Test.prototype.testFunc = function() {alert("test");};
})();

上のようにTestを定義した場合に、Testを継承させたくて

var Test2 = function() {
Test.apply(this);
};

とやったんですが、これだとTest2のprototypeにtestFuncがつかなくて困ります。
どう設計するのが正しいのでしょうか?

103 :Name_Not_Found:2006/12/07(木) 20:13:27 ID:???
>>101
あたまわるいね。いろんないみで。

104 :Name_Not_Found:2006/12/07(木) 20:33:08 ID:???
>>101
どういうふうに意味不明なのか説明してみなよ。あんたがボケだってことがわかるから。

105 :Name_Not_Found:2006/12/07(木) 20:34:57 ID:???
住所や名前を記入する入力フォームで
送信ボタンを押したら最初に記入漏れ
などをチェックするfunctionを実行させて
それが全部trueだったら記入したものが
アラートで表示させたいのですが
2つ同時に実行になりうまくいきません。
</HEAD>
<body>
<form enctype="text/plain" name="myForm" onsubmit="return Check()">
<table>
<tr><td><input type="submit" name="sousin" onClick="sousin_alert()" VALUE=" 送信 "></td>
<td><input type="reset" value=" クリア "></td></tr></table>
</FORM>
</body>
このhtml部分がまちがっていると思うのですが
どうでしょうか?
宜しくお願いします。

106 :Name_Not_Found:2006/12/07(木) 20:40:31 ID:???
>>105
Check()の最後でOKだった場合にのみsousin_alert()を呼べ。

107 :Name_Not_Found:2006/12/07(木) 21:24:31 ID:???
>106
それはjavascriptの部分でやるのですか?

とりあえずjavascriptの部分に
if((namaeFlag == true) && (passwardFlag == true) && (ageFlag == true) &&
(tell1Flag == true) && (tell2Flag == true) &&(tell3Flag == true)){
}

namaeFlag = false;
passwardFlag = false;
ageFlag = false;
tell1Flag = false;
tell2Flag = false;
tell3Flag = false;

を本を見ながらやったのですが
うまくいきません。
ご指導のほどお願いします。

108 :Name_Not_Found:2006/12/07(木) 22:10:48 ID:???
IE でフレームの動的生成を試したのですが、フレームに何のプロパティもドキュメントオブジェクトもなく、それらを追加も出来ません。
MSのcreateElement()の説明ではFRAME要素は適用外らしいですが、何かフレームを動的に生成する方法はありませんか。

作成したスクリプト(次の書き込み)で、一見フレームが生成されているようでも、そのフレームにアクセスすると例外が発生します。
例えば、たくさんフレーム生成してからテキストボックスに「frames(4)」で実行ボタンを押すと例外が発生しますし
frames(1).document.write("x")はできてもframes(4).document.write("x")はできません。


109 :Name_Not_Found:2006/12/07(木) 22:13:40 ID:???
<html><head><title>フレームの動的生成</title><script><!--
function init() {with (frames("console").document) {
open("text/html");
write('<input type=button value="追加" onclick="top.addFrame();">');
write('<input type=button value="削除" onclick="top.delFrame();">');
write('<br><input type=text id=text size=100>');
write('<input type=button value="実行" onclick="top.command();">');
close();
}}
function addFrame() {var fs = document.getElementById("frmset");
var lastId = fs.lastChild.id;
var newId = lastId.match(/\D+/)[0] + (parseInt(lastId.match(/\d+/)[0]) + 1);
var newFrame = document.createElement("frame");
newFrame.setAttribute("id", newId);fs.appendChild(newFrame);fs.rows += ",50";
confirm("frmsetの子ノード数 "+fs.childNodes.length+"\n追加したフレームのID "+newId);
}
function delFrame() {var fs = document.getElementById("frmset");
if (fs.childNodes.length <= 1) { alert("これ以上削除できません"); return; }
fs.removeChild(fs.lastChild);
fs.rows = fs.rows.replace(/,\d+$|,\*$/, "");
confirm("frmsetの子ノード数 "+fs.childNodes.length+"\nrows="+fs.rows);
}
function command() {alert(eval(frames("console").document.all.text.value));}
// --></script></head>
<frameset onload=init() rows="*,*">
<frame id="console" application=yes>
<frameset id=frmset rows="*,*">
<frame id=frm0><frame id=frm1>
</frameset></frameset></html>

110 :Name_Not_Found:2006/12/07(木) 23:03:39 ID:???
>>107
そんなこたどーでもいい。Check()の一番最後に
if(全部入力OK) return sousin_alert(); else return false;
と入れるだけ。それ以外の部分が書けないなら自力で勉強しな。

111 :Name_Not_Found:2006/12/07(木) 23:34:49 ID:???
>>110
色々ご親切にありがとうございました。
これを参考にがんばってみます。

112 :Name_Not_Found:2006/12/08(金) 01:37:28 ID:???
質問です

func = function(){}
a = new func();

というように作成された"a"から、基の関数名"func"を取得する方法はありますか?

113 :Name_Not_Found:2006/12/08(金) 01:47:23 ID:???
>>112
その書き方ではそんな方法はない。
func = function(){}
func2 = func;
a = new func2();
としたらどうなるかとか考えてみたらわかると思うが。

114 :takaok:2006/12/08(金) 16:02:29 ID:483vs5eD
教えてください。

(質問1)デスクトップにhtmlファイルがあって
そのhtmlファイルをダブルクリックすると、
サイズ固定されたブラウザ
(例えば300px×300pxで画面センター揃え)を
表示することはjavascriptなどでできるものでしょうか?

(質問2)親ウインドウのテキストリンクをクリックすると
子ウインドウが開き、開いたタイミングで親ウインドウが
閉じるといったことはできるのでしょうか?
window.open()しか分かりません・・・

誰か教えてください。
ちなみに環境は windows IE6 のみ動けばいいのですが・・・


115 :Name_Not_Found:2006/12/08(金) 16:18:05 ID:gWMPIlnE
var 何々
の何々で、よくobjが使われますが、他にも
foo bar bazなんてのもありますよね。
使われる頻度や、全部使う場合の順番などは、
obj foo bar bazが一般的なんでしょうか。
いや、どうでもよいことなんですけど、
何々を考えるのが面倒なときは、
よく使われるこれらを使いたいなと思いまして。
他者に見てもらうときにも、馴染み深いものを使っていた方が良いかもしれませんし。

116 :Name_Not_Found:2006/12/08(金) 16:20:36 ID:???
foo barを日本語訳するとほにゃららかな?

117 :Name_Not_Found:2006/12/08(金) 16:25:40 ID:???
hogeはよく使われるね

118 :Name_Not_Found:2006/12/08(金) 16:31:30 ID:???
>>114
1) htaにしろ
2) window.opener.close() ただし警告が出る

>>115
obj はfoo,barと同じ種類のものじゃなくてobjectの略なんでないの?


119 :Name_Not_Found:2006/12/08(金) 17:24:03 ID:???
テキトー変数名:foo bar baz / hoge moge
 まあ例文で使われるようなやつなので、実際に使われてると(A`ヴァー
よく見る変数名:obj(Object) elem,elm(HTMLElement) e,ev(Event)
          e,ex(Exception) err(Error)
          i,j,...(ループカウンタ) cnt idx tmp arg

120 :Name_Not_Found:2006/12/08(金) 17:36:28 ID:???
一時期JavaScriptは廃れるかと思ったが
Ajaxのお陰で盛り返して良かったなぁ、お前ら
今まで勉強したことも無駄ではなかったな

121 :Name_Not_Found:2006/12/08(金) 17:48:21 ID:???
イマイチnewの意味がわからないので教えてください。
aとbの配列で以下のようにします。

var a = new Array('a','b','c');
var b = ['a','b','c'];

alert(a);
alert(b);
alert(a.length);
alert(b.length);
alert(a==b);

最後のa==bはfalseになるのですけどなぜですか?

ttp://developer.mozilla.org/ja/docs/Core_JavaScript_1.5_Guide:Predefined_Core_Objects:Array_Object
> 配列リテラルも Array オブジェクトです。例えば次のリテラルは Array オブジェクトです。
> 配列リテラルの詳細については 配列リテラル をご覧ください。

ってあるのだけど配列リテラルとArrayオブジェクトの違いがわからないのです。
aとbの使い分けはどういう状態の時ですか?

122 :Name_Not_Found:2006/12/08(金) 18:18:23 ID:???
new Array('a','b','c') と ['a','b','c'] はどちらも同じ意味。
例では2つの異なるArrayオブジェクトを生成している。
よってa==bはfalseとなる。

123 :Name_Not_Found:2006/12/08(金) 18:20:51 ID:???
>>121
js> new Array(1).toSource()
[,]
js> Array(1).toSource()
[,]
js> [1].toSource()
[1]
js> new Array("1").toSource()
["1"]
js> Array("1").toSource()
["1"]
js> ["1"].toSource()
["1"]

124 :Name_Not_Found:2006/12/08(金) 18:33:06 ID:UiGyuGzW
getSelection()というのは、IE非対応のようですが、
firefoxでも上手く動作しないのですか?

function hogehoge() {
var myText;
myText = document.getSelction();
alert(myText);
}

これをonClickで呼ぶのですが、アラートの中身に何も表示されません。
ちなみに、ウインドウ全体を全選択してonclickすると、うまく動くようです。

125 :Name_Not_Found:2006/12/08(金) 18:49:07 ID:???
document.getSelection() は、NN4の頃だな。今はwindow.getSelection()。

126 :Name_Not_Found:2006/12/08(金) 18:49:48 ID:CGXhp92M
var o = new Object();
o.name = "shimoneta";
o.array = new Array();
o.array.push("unko");
o.array.push("chinko");

のようなオブジェクト o を、文字列化する(alertで表示できる形にする)手っ取り早い方法を教えてください。
上記はあくまでも例なので、オブジェクトを文字列化する汎用的な方法でお願いします。

127 :Name_Not_Found:2006/12/08(金) 18:53:26 ID:???
>>124
つうか、Fxだと、今でも document.getSelection() が警告付きながらも動くんだなwww
結局、クリックで選択解除されるというオチかな。

128 :Name_Not_Found:2006/12/08(金) 18:55:04 ID:???
>>126
ttp://www.kawa.net/works/js/jkl/dumper.html

129 :126:2006/12/08(金) 18:56:54 ID:???
>>128
アリガトウ!!!!

130 :Name_Not_Found:2006/12/08(金) 19:30:26 ID:???
初歩的な質問かもしれませんが教えてください。

function demo(){
atai = eval(-1);
demo2();
}

function demo2(){
atai = atai+1;
}

というようなスクリプトで、demo2()を数度繰り返した後もう一度demo()に戻った場合、
ataiがそれまでの数値を引き次いでしまうようなのですが
demo()に戻った際でも-1に数値(atai)をリセットしたいのです。
eval(-1)が「1引く」という風に解釈されてるのではないかとおもうのですが
どのようにすればいいのでしょうか。


131 :124:2006/12/08(金) 19:34:58 ID:UiGyuGzW
window.getSelection()でも同じ挙動のようです。
クリックで選択解除されてるっぽいです。
最終的にやりたいことは、テキストエリア内の文字列を選択し、「太字」ボタンとかを押して<b>タグで挟んだりしたいです。

132 :Name_Not_Found:2006/12/08(金) 20:28:41 ID:???
>>130
いってることが今一わからないけど

var atai = eval(-1);

にしたら希望の結果になるのかな?
ちなみにこの場合グローバルにvar atai;してないと
demo2()でエラーになるけど

詳しいことは「変数のスコープ」を調べると幸せかも

133 :80:2006/12/08(金) 20:42:33 ID:1oLOiV3W
>>83
残念ながらiframeで表示させても、なぜか既リンク扱いにはならなかったです。IE7

134 :80:2006/12/08(金) 20:44:21 ID:???
IE7じゃないや、IE6でした

135 :Name_Not_Found:2006/12/08(金) 21:01:04 ID:???
>>131
onmouseupなりkeyupなりでrange保存しとけばいいじゃん。

136 :Name_Not_Found:2006/12/08(金) 21:31:32 ID:UiGyuGzW
>135
レスありがとうございます。
rangeというのを使った事がなかったので、試してみたのですが、

function fuga() {
 var text;
 text = document.selection.createRange();
 alert(text);
}

<textarea onmouseup="fuga()">ああああああ</textarea>

これで「ああああ」の一部または全部を選択すると、
選択された部分がアラートで出ると思ったのですが、
firefoxがDocument.selection has no propertiesというエラーを吐きます。

最も基本的なスクリプトだとおもうのですが、どこがおかしいのでしょうか?

137 :Name_Not_Found:2006/12/08(金) 21:48:18 ID:???
>>136
rangeってか選択範囲系はIEとFx(つかDOM)じゃぜんぜん違うから、まずそこから調べれ。
crossbrowser selection あたりでぐぐりゃいっぱいでてくる。

138 :Name_Not_Found:2006/12/08(金) 22:35:36 ID:UiGyuGzW
>136
レスありがとうございます。
今、document.selectionっていうのはIEだけ取れるっぽいですね、という状況です。

139 :Name_Not_Found:2006/12/08(金) 22:55:03 ID:???
>>138
HTMLTextAreaElement#selection(?:Start|End) を取得して、
HTMLTextAreaElement#value から substring() する。

140 :Name_Not_Found:2006/12/08(金) 23:06:44 ID:UiGyuGzW
>139,137
レスありがとうございます!
いろいろ調べて、
ttp://blog2.fc2.com/s/sug/file/load_ci.js
にたどり着き、やりたいこととほぼ同じだったので、参考にしながら実装しました。

確かにやっていることはSTARTとENDを取得してsubstringのようですね。
細かく理解できていませんが、一応自分のシステムで期待通りに動かすことができました。

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

141 :Name_Not_Found:2006/12/08(金) 23:07:45 ID:???
JavaScriptってほとんど C言語に近いよね・・・と思う

142 :Name_Not_Found:2006/12/09(土) 01:29:37 ID:???
フラッシュ内にJavaScriptを格納してhtml側で使う方法を
試してみたいんですが判りやすく説明してあるサイトは無いでしょうか。
もしあったら教えてください。

143 :115:2006/12/09(土) 02:24:39 ID:???
なるほど、ほにゃららですかぁ。
そりゃ確かに例文用ですね。
こういう自分で考える文字って、
スクリプトとは関係ない部分でのセンスが現れそうで、
人に見せるときはいかにも適当ですって感じにしちゃうのかな。
Hello Worldなんかも同じで。
スレ違いですね、ごめんなさい。

>>119
こういうのを待っていたー!
ありがとうございます。
思い出したんですけど、stringのstrもそうですよね〜。

144 :Name_Not_Found:2006/12/09(土) 02:54:59 ID:???
boo foo uoo?だかもなかったけ?

145 :Name_Not_Found:2006/12/09(土) 03:02:54 ID:???
質問です
ページ内の「全てのエレメント」を参照したい場合、
element = functionの戻り値(ここで、全てのエレメントを叩き込む)
document.getElementsByTagName('element')[i]
って、方法を思いついたんですが、こんな感じでいいんかな?

146 :Name_Not_Found:2006/12/09(土) 04:10:43 ID:cibMQQE1
日付を設定、なければ現在の時刻を代入する処理を以下のコードで書いています
function setDate(){
date = new Date();
if (form.year.value == ""){
form.year.value = date.getYear();
}

if (form.month.value == ""){
form.month.value = date.getMonth()+1;
}

if (form.day.value == ""){
form.day.value = date.getDate();
}
}

冗長なのでこういう風に書きたいのですが、できますか?
できる場合 setValue() をどう定義すればいいのでしょうか
function setDate(){
date =new Date();
form.year.setValue(date.getYear());
form.month.setValue(date.getMonth() + 1);
form.day.setValue(date.getDate());
}

147 :Name_Not_Found:2006/12/09(土) 04:11:58 ID:???
>>146
日付を設定、なければ → 日付が設定されてなければ

148 :Name_Not_Found:2006/12/09(土) 06:10:34 ID:???
>>141
そりゃまぁ出自の系譜からして。

>>142
フラッシュなスレで聞け。

>>145
getElementsByTagName("*")

>>146
monthだけ設定済み、他は設定されてなかったらどうするんだ?

149 :Name_Not_Found:2006/12/09(土) 09:46:37 ID:3ITv0hQp
もうNN4.7は無視してもよいでしょうか?

150 :145:2006/12/09(土) 11:15:34 ID:???
>148
うお;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
今までの苦労はなんだったんだ;;;;;;;;;;;;;;;;;;;;;

爆発的にコードが短くなります!!
あざっす!!!


151 :146:2006/12/09(土) 13:34:35 ID:???
>>148
月の設定はそのままで年、日のみ現在の値が代入されますね。
故意に設定しないと起こりませんので問題ないと考えてます。

152 :Name_Not_Found:2006/12/09(土) 14:02:00 ID:???
>>151
ちがうの。どうしたいか、なの。
期待する入力だけを認めるんなら、
try { d = new Date(f.y.v + "/" + f.m.v + "/" + f.d.v) } catch(e) {} すりゃいいでしょ

153 :Name_Not_Found:2006/12/09(土) 14:05:04 ID:???
と思ったらexceptionじゃないのか。
無理やり new Date(str) して invalid かどうかしらべりゃいいってことで。

154 :Name_Not_Found:2006/12/09(土) 14:38:14 ID:0AzhofoP
setTimeout()で時間が来た時点での、マウスカーソルの座標位置を、
ブラウザに関わらず取得することはできますか?

155 :Name_Not_Found:2006/12/09(土) 14:41:33 ID:???
mousemoveでカーソルが動くたびにその座標を保存しとけ

156 :Name_Not_Found:2006/12/09(土) 14:48:51 ID:???
JavaScriptでPHPのisset()にあたる関数はあるでしょうか?

157 :Name_Not_Found:2006/12/09(土) 15:19:35 ID:???
ない。

158 :Name_Not_Found:2006/12/09(土) 15:40:43 ID:???
>>156
if(typeof window['変数名'] == 'undefined') ...
とかでどうかな。

159 :Name_Not_Found:2006/12/09(土) 16:18:52 ID:???
>>158
いけそうです。ありがとうございます!

160 :Name_Not_Found:2006/12/09(土) 17:03:44 ID:???
>>148
遅くなったけどありがとうございます。

161 :Name_Not_Found:2006/12/09(土) 17:54:14 ID:???
153補足。
var a = new Date(f.y.v + "/" + f.m.v + "/" + f.d.v);
a = a.getYear() ? a : new Date();
こんなとこか。

162 :Name_Not_Found:2006/12/09(土) 21:20:58 ID:???
前世紀のコードだなw

163 :Name_Not_Found:2006/12/09(土) 23:56:22 ID:???
口だけより動くコードのがなんぼかましだがな。

164 :Name_Not_Found:2006/12/10(日) 00:05:36 ID:???
なんぼか

165 :Name_Not_Found:2006/12/10(日) 00:38:49 ID:???
>>163 なんぼ
大辞林 第二版 (三省堂)
なんぼ(副)〔「なんぼう(何)」の転〕
(1)どの程度。どのくらい。
「この傘は―ですか」
(2)どんなにか。いかように。
「一人ぼっちは―寂しかろう」
(3)(「なんぼ…ても」「なんぼ…でも」などの形で)いくら…ても。
「―言っても聞き分けない」「―可弱い女でも/魔風恋風(天外)」
(4)いくらなんでも。どんなに…しても。
「恩を仇(あだ)で返すやうな事は―だつて/社会百面相(魯庵)」

(2)か。いやちがうな。そんな用例は美しい日本語にはない。

166 :Name_Not_Found:2006/12/10(日) 01:18:36 ID:qqw4W0Of
初めて書き込みします。
JavaScriptを使ってプルダウンメニューを作っています。
横に並んだ親カテゴリーのボタン(画像)にonmouseで
子カテゴリーを親のボタンの直下から横並びで複数表示させたいです。
スクリプトを配布しているサイト様から縦配置でonclikのサンプルをいただいてカスタムしています。
子カテゴリーを横に並べるまではできたのですが、

1.親ボタンの直下から表示させる
2.onmouseoutで非表示にする

以上のやり方がよくわかりません。
参考になるサイトさんでも良いので教えていただけたら嬉しいです。

167 :166:2006/12/10(日) 01:46:23 ID:qqw4W0Of
すみません自己解決しました。
CSS使えばよかったです…。

168 :Name_Not_Found:2006/12/10(日) 02:56:40 ID:???
>>165
日本語よりも素晴らしく現代的なコードの方がありがたいんだが。

169 :Name_Not_Found:2006/12/10(日) 04:31:44 ID:???
分かるように現代的なコードの具体例を出してくれ。

170 :Name_Not_Found:2006/12/10(日) 10:44:24 ID:???
洩れも素晴らしく現代的なコードの具体例キボン。

171 :Name_Not_Found:2006/12/10(日) 17:19:13 ID:???
現代的なコードは知らんが、少なくとも>>161が「前世紀の」コードなのは同意。

172 :Name_Not_Found:2006/12/10(日) 17:41:38 ID:???
>>171 が書き直すとどうなるの?

173 :Name_Not_Found:2006/12/10(日) 17:57:51 ID:S/9g6RtO
>171
尿意。 もとい同意

174 :Name_Not_Found:2006/12/10(日) 18:32:08 ID:???
ttp://www.tagindex.com/javascript/form/submit.html
これの、特定サブミットボタンバージョンは可能でしょうか?
<FORM>
<INPUT type="submit" name="A" value="A">
<INPUT type="submit" name="B" value="B">
<INPUT type="submit" name="C" value="C">
</FORM>
Cのサブミットボタンを押した場合のみ、確認メッセージを表示させたい
と考えています。

お願いします。

175 :Name_Not_Found:2006/12/10(日) 18:42:50 ID:???
>>171 は現代的なコードを知らないから前世紀なコードしか書けないんでは。

176 :Name_Not_Found:2006/12/10(日) 19:18:52 ID:???
>>175
現代的・前世紀それぞれのコードを分かりやすく説明してくれ。

177 :Name_Not_Found:2006/12/10(日) 19:21:19 ID:e+sbGYLU
質問です。
selectでoptionsが1つしかないときindex==0ではエラーになりますよね。
どうすれば回避できますか。書き方をお願いします。

178 :Name_Not_Found:2006/12/10(日) 20:19:31 ID:???
>>176
>>162 あたりががんばってくれるんじゃね?

179 :162:2006/12/10(日) 20:45:08 ID:???
>>178 だが断る。

180 :Name_Not_Found:2006/12/10(日) 21:09:55 ID:???
>>171>>173 も知らないらしいしなぁ…

181 :Name_Not_Found:2006/12/10(日) 22:11:38 ID:???
setAttributeを使っても循環参照してなきゃ無問題なの?

182 :Name_Not_Found:2006/12/10(日) 22:26:20 ID:???
>>181
ぶっちゃけ、JScriptのイベント属性の話だろうが、とにかく、話のネタにしたいコードくらい書け。

183 :Name_Not_Found:2006/12/10(日) 23:16:38 ID:???
setAttributeは使わないことを勧めるなー。何と何はsetAttributeに
バグありだったかとか覚えてられない(覚えていたくない)もん。

184 :Name_Not_Found:2006/12/11(月) 00:28:28 ID:???
>>174
onclick="return confirm()"

185 :Name_Not_Found:2006/12/11(月) 00:29:28 ID:???
JavaScript初心者です。
当たり判定の仕方、もしくはそれの解説が書いてあるページを教えていただけないでしょうか。
よろしくお願いします。

186 :Name_Not_Found:2006/12/11(月) 00:37:03 ID:???
何が当たった?

187 :Name_Not_Found:2006/12/11(月) 00:44:51 ID:???
とりあえず画像同士の衝突判定とかの仕方教えてください。
レイヤーとか使いますか?

188 :Name_Not_Found:2006/12/11(月) 00:55:07 ID:???
>>187
座標を比較すれ

189 :Name_Not_Found:2006/12/11(月) 01:07:40 ID:???
>>188
当たり判定用の関数とかはないんですか?
(Flashでいうとhittest()みたいな。)
座標ですか。なるほど。
よければ何か例のソースを見せていただけませんか?


190 :Name_Not_Found:2006/12/11(月) 02:34:19 ID:???
レイヤーとか使いますとか言ってる時点でだめすぎる。
自分で箱を動かすところからやっとけ。

191 :Name_Not_Found:2006/12/11(月) 05:04:16 ID:???
>>190
使いますか?と言ったんだカス。
それにJavaScriptは初心者と言っただろボケ。
この役立たずどもめ。
asとperlに戻ろ。

糞言語JavaScript死ね。

192 :Name_Not_Found:2006/12/11(月) 05:50:23 ID:???
if文なんかの解説で、処理が一つなら{ }は必要ないと書かれてます。
これって、処理を複数書いても、最初の一つしか実行されないという意味なんでしょうか。
それとも、処理が一つなのか複数なのか、ブラウザ側で判断して、
複数なら{ }がないとエラーになるという意味なんでしょうか。

後者だと、複数なのかどうかをどのように判断しているかというのが…。
例えば
if (a)
 if (a == 1)
  document.write("aは1です");
 else
  document.write("aは1ではありません");
だと、ifとelseは一つの処理と見なされてOKでも、最後に
document.write("aはtrue");
を加えると、if (a)やelse、つまり(a != 1)に対して
{ }が必要になったりしますよね。

193 :Name_Not_Found:2006/12/11(月) 06:57:42 ID:???
>>192
comma

194 :Name_Not_Found:2006/12/11(月) 07:01:50 ID:sjel4PeH
今更的な質問ですが、検索しても探す事ができなかったのでお願いします。

質問=外部.jsファイルに日本語表記するとエラーになる。

外部 .js = var msg = "aaaa";
function HelloScript(){
alert(msg);
}

htm = <script src="syuwa.js" text/javascript">
<body>
<button onclick="HelloScript()">テスト</button>
</body>

外部 .js の"aaaa"の部分を日本語表記にするとエラーになり表示できません、解決策をお願いします.m(_ _)m

195 :Name_Not_Found:2006/12/11(月) 07:32:48 ID:???
>>194
UnicodeEscapeSequence とか <script charset="..." ...> とか。

196 :Name_Not_Found:2006/12/11(月) 07:37:31 ID:sjel4PeH
>>195
ありがとうございます。>>194です。
試して、返事いたします。

197 :Name_Not_Found:2006/12/11(月) 08:41:15 ID:???
>>192
>最後にdocument.write("aはtrue");を加えると、
阿呆か。まさにそれで処理を「1つ」でなくしてるじゃん。
それだけのこと。

198 :Name_Not_Found:2006/12/11(月) 08:45:05 ID:???
結局今週末は暇人の素人が時間を潰したげだったのが分かった。
質問者も災難を被ってるなw

199 :Name_Not_Found:2006/12/11(月) 08:50:43 ID:???
俺はお前と違って素人ではない。

200 :>>194:2006/12/11(月) 09:03:48 ID:sjel4PeH
>>195
すみません、
>UnicodeEscapeSequence とか <script charset="..." ...> とか。

は、どこに記述するのでしょうか?
試したのですが、未解決です。
出来れば、こちらに目を通して頂ければ幸いです。
http://yonsama.jakou.com/

201 :>>194:2006/12/11(月) 09:12:04 ID:sjel4PeH
http://yonsama.jakou.com/
↑にコードを記述したページを置きましたので、確認頂ければと思います。

202 :Name_Not_Found:2006/12/11(月) 10:03:36 ID:???
>>198
俺もお前と違って素人ではない。頭もたぶんお前より数段上だ。

203 :Name_Not_Found:2006/12/11(月) 11:16:19 ID:???
口だけでは何とも言えるさ。次に質問来た時に腕ふるって
くれればいいんじゃねの。匿名掲示板なんだからそれ以外
どうしょうもない。

204 :Name_Not_Found:2006/12/11(月) 13:23:50 ID:???
>>198 >>199 >>202
ぉぉ、君たちなら現代的なコードを知ってそうだ。教えてくれないか。

205 :192:2006/12/11(月) 14:25:25 ID:???
>>197
処理を「一つ」ではなくしているのはわかっていますよ。
少なくともこのケースではそうであるということは…。
何も例として示したコードを実現したいというわけではなくて、
処理の数え方を知っておきたいということなんです。
{ }を外している状態で、ブラウザはどこまでを
外側の処理と見なしてくれるんでしょうか。

206 :Name_Not_Found:2006/12/11(月) 15:27:23 ID:???
一シンタックス

207 :Name_Not_Found:2006/12/11(月) 15:42:12 ID:???
現世紀のコードが出てこなくても良いから
>>161の前世紀っぽい部分を挙げてもらえるとうれしい。

208 :Name_Not_Found:2006/12/11(月) 16:25:21 ID:???
ActiveXObjectを利用したときに出てくる
「このページのActiveXコントロールは、安全でない可能性があり、
ページのほかの部分に影響する可能性があります。ほかの…」
ってダイアログを出さないようにしたいんだけどどうすりゃいいですかね?


209 :Name_Not_Found:2006/12/11(月) 16:55:14 ID:???
ActiveX使えない環境で実行する

210 :Name_Not_Found:2006/12/11(月) 17:07:21 ID:???
。。。。。。。。。。。。。。。

211 :Name_Not_Found:2006/12/11(月) 17:44:21 ID:???
>>205
とりあえず全部{}でくるんどけば何も悩まずにすむ。

ちゃんと知りたけりゃなんとなくてもいいから以下を眺めりゃわかるだろう。
ttp://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/12_Statements.html

>>208
ブラウザの設定を変える。
ページ側から制御できたら悪意あるActiveXObjectを勝手に実行されて困る。

212 :Name_Not_Found:2006/12/11(月) 18:38:32 ID:cGRFE3vH
したのコードのような形で、マウスクリックを認識させて、マウス座標の位置をしらべたいと思います。
しかし、イベントオブジェクトの取得がわからないのですが、どうやったら取得できるでしょうか?(´・ω・`)
<html>
<head>
<script type="text/javascript">
function func(){

処理

}
</script>
</head>
<body>
<div onClick="func()"></div>
</body>
</html>

213 :212:2006/12/11(月) 18:39:26 ID:cGRFE3vH
func関数内で、イベントオブジェクト.getMouseX();とかの形にしたいです。

214 :Name_Not_Found:2006/12/11(月) 18:45:37 ID:???
>>212
引数

215 :212:2006/12/11(月) 18:47:34 ID:???
>>214
<div onClick="func()"></div>に引数をいれるのでしょうか?
いれるとしたらなにをいれればいいでしょうか?

疑問文ばかりで申し訳ありません。。。

216 :212:2006/12/11(月) 19:07:35 ID:???
prototype.js
をインクルードした上で、
<html>
<head>
<script type="text/javascript">
function func(e){
 e.何らかのメソッド();
}
$("foo").oncontextmenu=func;

}
</script>
</head>
<body>
<div id="foo"></div>
</body>
</html>
としたらできるようになりますた。ありがとうございます!!

217 :Name_Not_Found:2006/12/11(月) 19:09:25 ID:???
(゚д゚)ポカーン

218 :Name_Not_Found:2006/12/11(月) 19:11:34 ID:???
サーバ上のファイルリストを取得する方法って無いんですか?

219 :Name_Not_Found:2006/12/11(月) 19:18:19 ID:???
>>218
web初心者スレへ。

220 :212:2006/12/11(月) 19:34:29 ID:???
馬鹿でした。。。
<html>
<head>
<script type="text/javascript">
function func(e){
 e.何らかのメソッド();
}
</script>
</head>
<body>
<div oncontextmenu="func(event)"></div>
</body>
</html>

できました。。。
thisとかと同じようにeventという特殊な変数があるのですね。。。
失礼しました!

221 :Name_Not_Found:2006/12/11(月) 20:20:15 ID:QAsn6daC
innerHTML の中にテーブル抱えたコンテンツがあって、
onclick でスタイルをいじるんだけれども、一瞬文字がでかくなって、
しばらくして設定したスタイルに収束するって感じの動きになってしまうんですけど・・・
visibility を hidden にしてしばらくしてから visible とかしても駄目なんですよね
なんか、innerHTML に代入するタイミングで再描画が起こるみたいで。
Firefox だけで起こる現象なんですけど、回避策とかありませんか?

222 :Name_Not_Found:2006/12/11(月) 20:24:08 ID:???
function nantoka(){
//
owari = setTimeout("nantoka();",1000);
}

のように、一秒後に自分が呼び出されるような関数があった場合
clearTimeout(owari);を実行することで停止できると思ったのですが、
うまくいきません、このような関数を停止させる場合はどうするのが適当なのでしょうか?

223 :Name_Not_Found:2006/12/11(月) 20:32:10 ID:???
やめやめフラグが立ってる時はsetTimeoutを実行しないって方法の方が確実。

224 :Name_Not_Found:2006/12/11(月) 20:59:48 ID:???
>>223
やめやめフラグとは何者でしょうか?(ググっても分かりませんでした、すいません・・・)

225 :Name_Not_Found:2006/12/11(月) 21:14:42 ID:???
>>194
関係あるのかわからんが
-<script src="syuwa.js" text/javascript"></script>
+<script src="syuwa.js" type="text/javascript"></script>



226 :Name_Not_Found:2006/12/11(月) 21:15:44 ID:???
>>222
function nantoka(){
//
  if(!hoge/*止める条件*/) owari = setTimeout("nantoka();",1000);
}

227 :Name_Not_Found:2006/12/11(月) 21:57:43 ID:???
>>225
文字化けとは関係ない。

228 :Name_Not_Found:2006/12/11(月) 22:30:33 ID:XKckhhun
不思議な配列の件で教えてください。
myArray=new Array(1,2,19,39,4);
という配列をソートしたら、とんでもない並びに!ギャア
1,19,2,39,4
これじゃ使いものになりません。数字だって教え込むには
どうすればいいのですか?できないの?真坂


229 :Name_Not_Found:2006/12/11(月) 22:35:47 ID:???
eval()

230 :Name_Not_Found:2006/12/11(月) 22:38:55 ID:???
>>228
myArray.sort(function(a,b){return a-b});


231 :Name_Not_Found:2006/12/11(月) 22:43:53 ID:???
>>226
ありがとうございます。いろいろ考えて

function owari(){
flag = 1;
}

function owari2(){
flag = 0;
}

と書いて、nantoka()と同時にowari2()を実行し、ストップボタンを押したときに
owari()を実行させ、
if (flag!=1){
owari = setTimeout("nantoka();",1000);
}
としてみたのですがうまく行きませんでした。

どういう風にするといいでしょうか。

232 :Name_Not_Found:2006/12/11(月) 22:55:54 ID:???
>>231
ああ、お前はグローバル変数の使い方がわかっていないんだな
とりあえずvarでぐぐれ

233 :Name_Not_Found:2006/12/11(月) 23:01:21 ID:hfXSmtPv
探しているのですが、見つけられず‥
教えていただきたい事があります。

<textarea cols="20" rows="5" onmouseover="this.select()"></textarea>
ドラッグ不要のコピーボックスに使う、
onmouseover="this.select()"
これを、Scriptタグで一括指定出来る方法はあるのでしょうか?
皆さん、回答よろしく願います。

234 :228:2006/12/11(月) 23:07:42 ID:???
>>230さん 天才。できました。多謝多謝。

235 :Name_Not_Found:2006/12/11(月) 23:26:04 ID:9BTDwui6
>>233
特定のnameつけてgetElementsByNameをforループしてすべてにonmouseoverをセット、もしくは連番idでgetElementByIdとか
getElementsByTagName("textarea")でも出来るが、無差別になるので注意


236 :146:2006/12/12(火) 00:51:42 ID:???
>>152-153 >>161
ありがとうございます。基本的には日付は現在のものを使用するのでこうしました
date = Date.new
form.year.value = form.year.value == "" ? date.getYear() : form.year.value;
form.month.value = form.month.value == "" ? date.getMonth()+1 : form.month.value;
form.day.value = form.day.value == "" ? date.getDate() : form.day.value;

ですが、できればElementオブジェクトにメソッド追加の形で書きたいのです
こんな感じで。
function setValue(value){
if (this.value == ""){
this.value = value;
}
return this;
}
Element.setValue = setValue();
function setDate(){
date = new Date();
form.year.setValue(date.getYear());
form.month.setValue(date.getMonth()+1);
form.day.setValue(date.getDate());
}

整形用自己アンカー>>236

237 :Name_Not_Found:2006/12/12(火) 01:39:04 ID:???
>>236
Fxなどであれば、HTMLInputElement.prototype のメソッドとして追加できるが、
ポリモーフィズムにならないから、客観的に見れば、何のうまみもない。
つまり、書式についての自己満足になるだけだよ。

仮に、どこかよそで return this を利用して連鎖させて書きたいのなら、
setValue.call(form.year, date.getFullYear())
みたいにすればいい。

まあ、最初のが一番軽快だから、最初ので書いとけば?
何故なら、form.year.value == ""
の条件を通過しなければ、date.getFullYear() さえしないのだから。

238 :192:2006/12/12(火) 05:37:56 ID:???
>>211
ありがとうございます。
ステートメント ボックス シンタックスなどについて、
自分でももっと調べて、理解を深めようと思います。

239 :146:2006/12/12(火) 07:57:10 ID:???
>>237
ありがとうございます。
ブラウザ事に別のコードを書くのはできるだけ避けたいので
上のを使うことにします
ポリモーフィズムという言葉の理解が曖昧なのですが
この場合そうでないのは 「setValue に汎用性がないから」でしょうか?
それともブラウザ依存だからでしょうか?

240 :Name_Not_Found:2006/12/12(火) 10:14:22 ID:???
>>239
3つとも同じHTMLInputElementだから。

>>236の場合、必要ないかもしれないのに、date.getMonth() などを求める無駄がある。
その無駄は、例えば、
HTMLInputElement.prototype.setValue = function () {
  switch (this.name) {
    case "year":
      if (this.value == "") this.value = date.getFullYear();
    break;
    ...
  }
}
とすれば良い。(これは当初のスクリプトと処理は同じ。)
しかし、スクリプトの分岐処理は高速ではない。

組み込みのオブジェクト探索とメソッド探索を利用すれば、高速になる。
例えば、HTMLInputElement.prototype.setYearValue = function () {...}
のように、名前が異なる3種類のメソッドを作成するということ。

しかし、仮に、YearElement, MonthElement, DateElement のように異なっていたら、
メソッドの名前は1つで済む(関数本体は異なる)。
いわゆるポリモーフィズムである。
組み込みのオブジェクト探索とメソッド優先順位探索を利用しているから、高速になる。
例えば、focusイベントタイプでチェックするような場合、
直前に示した3種類の名前が異なるメソッドだと、
どれを呼ぶか判別する部分でスクリプトによる分岐を回避できないが、
このポリモーフィズムの場合、スクリプトによる分岐は必要ないから、より高速になる。

ちなみに、高速と言っているが、年月日の3つをチェックする程度では、全く意味は無い。
しかも、数千数万の要素オブジェクトを処理しても、大いに体感できる差がつくわけでもない。
要するに、止めた方が好い。

241 :よろしくお願いします:2006/12/12(火) 10:24:13 ID:???
ある画面で取得した変数の数値を
遷移先の画面で取得するにはどうすればよいでしょうか?

242 :Name_Not_Found:2006/12/12(火) 11:03:36 ID:???
靴貴胃
核死腐霊武

243 :241:2006/12/12(火) 11:13:05 ID:???
できたらクッキーを使用しない方法をお願いします

244 :Name_Not_Found:2006/12/12(火) 13:22:40 ID:???
>>241
(1) 呼び出しURLに細工して呼び出された方でlocation.hrefを見る
(2) var w=window.open()してwに張り付ける
(3) 呼び出された方からopenerの変数を参照する(もしくは関数を呼び出す)

245 :Name_Not_Found:2006/12/12(火) 13:29:00 ID:???
ハッシュ使うのが楽だろうなぁ

246 :Name_Not_Found:2006/12/12(火) 14:39:33 ID:Ke/rwBWf
すいません。
経過時間(ミリsec)から年数を求める場合、単純に365で%しているのを
みたんですが、これで閏誤差は出ないのでしょうか。ちょっと心配です。

247 :Name_Not_Found:2006/12/12(火) 14:43:06 ID:???
必要な精度のものを自分で作れ

248 :246:2006/12/12(火) 15:48:37 ID:???
>>247
ありがとうございます。いろいろあちこち見たのですが、どれも怖いなあと
いうものでした。そのうち頭が混乱してしまってorz
たとえば、「101088000000」という現在までのミリ秒があったとしてこれを、
○年○ヶ月○日○時間○分○秒というふうに分けるもっとも信頼度の高い
アルゴリズムを教えていただけませんか。

249 :Name_Not_Found:2006/12/12(火) 15:53:41 ID:???
new Date(101088000000) 以上に信頼度が高いと自分が思えるアルゴリズムを実装。

250 :Name_Not_Found:2006/12/12(火) 16:18:21 ID:???
>>248
そもそも起点を指定しない「期間」を正確に○年○カ月○日と表記することは
できないんでない? 間に閏年が挟まるかどうかによってズレてくるわけでしょ。
百年以内の制度で年を出すなら365.25で割るしかないかと。
Dateを使った場合は1970年1月1日を起点とする日付を表してるにすぎないから。

251 :Name_Not_Found:2006/12/12(火) 16:24:23 ID:???
つか自分が何をしたいのかどういう数値を出したいのかをまずはっきりしろ。

>>246を見る限り、経過時間→経過年数したいようだが、経過年数とはなにかをまず決める。
少々の誤差を認めてよければ365.2422*24*60*60*1000で割って切捨てりゃ十分だろう。
誤差ってなんだって話もあるが。

きっちり日割計算したければYMD割りしてYごとMごとDごとに計算せざるをえない。
ただし年数が主なのなら2004/1/1〜2004/12/31は?2004/12/31〜2005/1/1は?とかとか。
なにをして「年数」と言うのかの定義をしなきゃなんもかけん。

252 :Name_Not_Found:2006/12/12(火) 16:44:34 ID:???
>>248
経過時間に、年と月は使われないだろ、普通。

253 :Name_Not_Found:2006/12/12(火) 16:50:35 ID:???
ActionScriptのように、文字列を変数に変える関数はJavaScriptにありますか?
例えば、ActionScriptだと以下のようにrootオブジェクトのfoo2プロパティを参照できます。

a=2;
trace(_root["foo"+a]);

254 :Name_Not_Found:2006/12/12(火) 17:04:17 ID:???
>>253
あなたFAQすら読んでないんですねー

255 :Name_Not_Found:2006/12/12(火) 17:16:56 ID:???
>>254
かいてありましたね。。。申し訳ありません。
function foo(str){
 this["x"+str]="hoge";
}
といったかんじにできるようになりますね。

256 :Name_Not_Found:2006/12/12(火) 17:20:33 ID:DY/pTUU5
>>235
親切にありがとうございます。

それを、どの様な式にすればよいのかすら、わからないレベルですが、
あれこれ調べて出来る様に頑張ってみます。


257 :246:2006/12/12(火) 18:52:06 ID:???
みなさん 有難うございました。精進します。

258 :Name_Not_Found:2006/12/12(火) 22:27:15 ID:???
リンクをクリックさせてから、
ダイアログでリンク先を分けることって可能ですか?

例えば、通常、「はい」「いいえ」とかの選択肢が出るかと思いますが、
これを「Yahoo」「google」というように表示させて、
Yahooをクリックすれば、Yahooへ、というようには可能でしょうか?

259 :146:2006/12/12(火) 23:22:36 ID:???
>>240
詳しい解説ありがとうございます。勉強になりました。

260 :Name_Not_Found:2006/12/12(火) 23:45:20 ID:???
>>258
可能です

261 :Name_Not_Found:2006/12/12(火) 23:53:21 ID:???
>>260
kwsk

262 :Name_Not_Found:2006/12/13(水) 00:40:29 ID:???
javascript:なんか。location.ref=なんかで決めた奴

263 :Name_Not_Found:2006/12/13(水) 01:42:56 ID:???
http://www.red.oit-net.jp/tatsuya/java/calc.htm
ここの電卓を演算子を入力したとき、以前に入力した数値を消去しないで演算子もテキストボックスに表示させて
=を入力したらそれまでの入力式を計算して式を消去して計算結果を表示したいんですが、どこを変えればできるかおしえてください。
よろしくおねがいします。


264 :Name_Not_Found:2006/12/13(水) 02:06:09 ID:???
ディレクトリ名がjavaってあーた。。。

265 :222:2006/12/13(水) 11:51:16 ID:???
>>232
ありがとうございます。調べて見て、変数はその関数内でしか
有効でないらしいというのは理解出来ました。

そこで、<form>タグ内にtype="hidden"の部品を設置して
そのvalueの値によってifで振り分けてsetTimeoutを動作させようかと考えたのですが
これもまたうまくいきませんでした。
考えたのは

function nantoka(){
//
if (document.nantoka.kantoka.value==0){
owari = setTimeout("nantoka();",1000);
}
}

function owari1(){
document.nantoka.kantoka.value="1";
}


function owari2(){
document.nantoka.kantoka.value="0";
}

のようなもので、ボタンでnantoka()を呼び出すと同時にowari2()も呼び出され、
ストップボタンをおすとowari1()が呼び出されてhiddenの値が1になるというものです。

「やめやめふらぐ」はどうするのが一番スマートなのか全然思いつきません
どうすればいいでしょうか。。。

266 :Name_Not_Found:2006/12/13(水) 15:51:04 ID:???
Googleのトップページで、検索ボタンを押したとき、
どういう風に検索CGIに値を渡しているのでしょうか……。
・form methodがない?

フォームとボタンのソースは以下のようです。

<form action="/search" name=f>
<input name=btnG type=submit value="Google 検索">
<input name=btnI type=submit value="I'm Feeling Lucky">

267 :Name_Not_Found:2006/12/13(水) 16:18:02 ID:???
>>266
HTMLの勉強をしろ。スレ違いだからどっかよそいって。

268 :Name_Not_Found:2006/12/13(水) 16:20:55 ID:???
>>267
いやいや。 難しいと思うよ。
どうやってパラメータを渡してるの?

269 :Name_Not_Found:2006/12/13(水) 16:52:01 ID:???
>>268
いやいや。 スレ違いだと思うよ。
どこでJavaScript使ってるの?

270 :Name_Not_Found:2006/12/13(水) 16:57:23 ID:???
>>269
いやいや。 難しいと思うよ。
なんでJavaScripだと思ったの?

271 :Name_Not_Found:2006/12/13(水) 17:23:55 ID:???
「formでmethodを指定しないときはmethod="get"として扱う」(HTMLの知識)

272 :Name_Not_Found:2006/12/13(水) 17:27:42 ID:???
       ,/‐ \ ::::::::::::ヽ
      , ' s    \::::::::::::i
     /"""''/ーナ-t----|
.    /   ,.‐   ⌒    /ヘ
    {入|(・)  (・)    |||||||   / ̄ ̄ ̄ ̄ ̄ ̄ ̄
      |⊂⌒◯-------9)  <  デフォルトはゲットだぜ!
      | |||||||||_    |    \_______
       \ ヘ_/ \ / ̄`\、
.        \、__ i⌒i/, -'"~  `ヽ、
       ,.‐'´   i--i        \
       `〈ヽ, -'"~T  ヽ、 , -'" ~ `ヽ、
       / ( ̄ T   iヽ、__     \.
     /    ( ̄T   |   `ヽ、    }
    く       ̄ `ヽ、/__        /
    / `ヽ、/|       `ヽ、 __ノ
       /  |          T


273 :Name_Not_Found:2006/12/13(水) 18:04:31 ID:???
>>266はHTMLについて問い
>>267はスレ違いだと言い
>>268は難しいから答えろと言い
>>269はJS関係ないだろと言い
>>270は何故JSだと思ったのか問い

スレタイ嫁

274 :Name_Not_Found:2006/12/13(水) 18:51:48 ID:???
>>263
あなたが思ってるほど簡単じゃないよ
普通の電卓は逐次演算を行うけど
数式に表したら演算順序が変わってくるおそれがある

1+2*3=

275 :274:2006/12/13(水) 19:02:22 ID:???
(普通の電卓から変更するのは)
あなたが思ってるほど簡単じゃないよ
普通の電卓は逐次演算を行うけど
数式に表したら演算順序が変わってくるおそれがある

1+2*3=

--
ただ単純に目的を達するだけなら
入力された文字列を覚えておいて
eval() するだけだけど

276 :Name_Not_Found:2006/12/13(水) 19:09:08 ID:???
>>266
<input type="submit">のname属性は普通は書かないが、
指定した場合押したsubmitだけnameとvalueが渡る。
これで複数のsubmitボタンを区別できる。

277 :Name_Not_Found:2006/12/13(水) 21:32:38 ID:???
>>271, 272, 276

ありがとうございました。 大変すっきりしました。

> others
スレ違いすみませんでした。

278 :Name_Not_Found:2006/12/15(金) 10:03:47 ID:???
DOMでHTMLを組み立てるコードを書いてるんですが
Firefox(2.0), Opera(9.02), MSIE(6.01)のうちMSIEだけ
組み立てたFORMのエレメントが名前で取り出せなくて悩んでます。
parentElement.appendChild(childElement)
のとこを
parentElement.innerHTML = childElement.outerHTML
にすれば動くんですけど、
DOMでの操作だけで解決できる方法はありませんでしょうか?
よろしくお願いいたします。

以下コード
---
var ce = function ce (name) { return document.createElement(name) }
var f = ce('FORM');
var s = ce('SELECT');
s['name'] = 'hoge';
f.appendChild(s);
document.body.appendChild(f);
alert(f.elements['hoge']);


279 :Name_Not_Found:2006/12/15(金) 10:33:06 ID:???
解決してるじゃん

280 :Name_Not_Found:2006/12/15(金) 10:44:02 ID:???
>>279
日本語不自由な奴が無駄な書き込みするな

>>278
setAttributeとか試してみたけど動かんね。。。

281 :Name_Not_Found:2006/12/15(金) 11:02:07 ID:???
>>278
IEではcreateElementでinput要素作るのはうまく行かない。
有名なバグだボケ!


282 :Name_Not_Found:2006/12/15(金) 11:12:49 ID:???
すまん、selectはinput要素じゃないね。でも入力部品すべて
同様なんじゃないかと想像している、、、

283 :Name_Not_Found:2006/12/15(金) 11:13:21 ID:???
エクセルの NETWORKDAYS と同等の事(日付Aから日付Bまでの営業日数を計算)を
ウェブのフォーム上で実現したいのですが、祝日・休日を判定する関数を自作し、
AからBまでのそれぞれの日を営業日かどうか判定しカウントしていく、以外にもっと
何かスマートで時間のかからない方法はないでしょうか。もしくはそのような公開されて
いるスクリプトは無いでしょうか(私は見つかりませんでした…)。

284 :Name_Not_Found:2006/12/15(金) 11:14:01 ID:???
>>281
createElementじゃなくてappendChildのバグだろボケ

285 :278:2006/12/15(金) 11:27:11 ID:???
>>281
>IEではcreateElementでinput要素作るのはうまく行かない。
outerHTMLで出来るとこを見るとcreateElementというより
appendChildのバグっぽいですね。。。

>有名なバグだボケ!
スレのテンプレでTABLE作成にTBODYが必要とかは確認してたのですが
FORM関係でもそんな仕様があったんですね。
ググッたら出てきました
http://www.tagindex.com/cgi-lib/q4bbs/patio.cgi?mode=view&no=719

286 :Name_Not_Found:2006/12/15(金) 11:36:18 ID:???
>>283
時間のかからない方法ってのは、
動作に時間がかからないってこと?
それとも作るのに時間がかからないってこと?
JavaScriptで公開されてるのは見たことないけど
PerlとかRubyで作ってあるモジュールならあるから
それを移植すればいいんじゃね?
移植するときライセンスに注意しなきゃダメだけど、
遵守すれば商用/非商用問わず使えるから大丈夫っしょ。


287 :283:2006/12/15(金) 11:46:04 ID:???
>>286
すみません、「作るのに時間がかからない方法」です。
できれば自分で楽しんで作りたいのですが、今回は時間が無いという状況です。

回答ありがとうございます。探してみます。

288 :Name_Not_Found:2006/12/15(金) 12:42:56 ID:???
>>280
日本語不自由ってお前じゃん

289 :Name_Not_Found:2006/12/15(金) 13:01:47 ID:???
>>288 いいからチョンはさっさと半島に帰れ

290 :Name_Not_Found:2006/12/15(金) 13:12:00 ID:???
>>289
在日はどっちの国からも迫害されてかわいそうだね

291 :Name_Not_Found:2006/12/15(金) 13:15:19 ID:???
>>288, >>289, >>290

スレと関係ない議論は他でやれ

292 :Name_Not_Found:2006/12/15(金) 18:47:24 ID:???
>>291
お前だ

293 :Name_Not_Found:2006/12/15(金) 18:56:19 ID:???
そこのきみたち、いい加減にしなさい。無駄レスしてると1レス1万円取りますよ。

294 :Name_Not_Found:2006/12/15(金) 21:57:21 ID:???
>>293
>>291

295 :Name_Not_Found:2006/12/16(土) 06:03:05 ID:???
ちょっと困った状況になりました。
IFRAMEを動的に生成するプログラムを書いているんだけれど、
Firefox1.5では生成するたびにhistoryに空白のページが追加されて困ります。
これを回避することは出来るのでしょうか。

たとえば、
var iframe = document.createElement("iframe");
document.body.appendChild(iframe);
とすると、ヒストリーに1つ増えてしまいます。
見た目は増えていませんが、進む・戻るボタンが変化するので気付くと思います。

296 :Name_Not_Found:2006/12/16(土) 07:00:25 ID:???
>>295
iframe.contentWindow.location.replace("hoge.html")

297 :Name_Not_Found:2006/12/16(土) 07:01:38 ID:???
>>296
試してないけど、確か生成した時点でアウトのはず

298 :Name_Not_Found:2006/12/16(土) 07:03:52 ID:???
>>297
書き込むより試す方が楽だろwww
1.5.0.8では大丈夫だったぞ。

299 :Name_Not_Found:2006/12/16(土) 14:53:40 ID:???
実体参照の表で網羅的によくまとまっているもの(おススメ)を教えてください。

300 :Name_Not_Found:2006/12/16(土) 15:12:08 ID:???
すれ違い。HTMLの仕様書読め。

301 :Name_Not_Found:2006/12/16(土) 16:09:20 ID:???
埋め込まれたYouTubeのオブジェクトタグを普通のリンク形式に変更しようと思って
javascript:alert("Please Wait...");document.body.innerHTML=document.body.innerHTML.replace(/<PARAM NAME="movie" VALUE="http:\/\/www\.youtube.com\/v\/j-iXU-h69ak"\/>/gi,'◆');alert("Fin");void(0);
とした(置き換え後は後で考える)んだが、動かない
最初のアラートから出ない
エスケープでミスってるとは思うんだが、そこから進まない…

どう正規表現を指定したら良いのか教えて下さい

302 :Name_Not_Found:2006/12/16(土) 16:57:11 ID:Ynov1rfs
FxやOperaだと正常に動くのに、IEだと動きません。
どなたかご教授してくださいませんか。お願いします。

function httpRequest(target_url,functionReference){
httpObj = null;
if(window.XMLHttpRequest){
httpObj = new XMLHttpRequest();
}else if(window.ActiveXObject){
try{
httpObj = new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try{
httpObj = new ActiveXObject("Microsoft.XMLHTTP");
}catch(e){
return null;
}
}
}
httpObj.open("GET",target_url,true);
httpObj.onreadystatechange = function(){
if((httpObj.readyState == 4) && (httpObj.status == 200)){
functionReference(httpObj.responseText);
}else{
document.getElementById("content").innerHTML = "<b>wait....</b>";
}
}
httpObj.send("");
}

303 :Name_Not_Found:2006/12/16(土) 17:18:06 ID:???
ご教授キタコレ

304 :Name_Not_Found:2006/12/16(土) 17:43:24 ID:???
もういいから…

305 :Name_Not_Found:2006/12/16(土) 17:49:29 ID:???
>>302
そんな日本語どこで覚えてきた、ヴォケ。寝た子を起こすな!

306 :Name_Not_Found:2006/12/16(土) 18:23:34 ID:???
ボケの人はほんと教授大好きだな

307 :Name_Not_Found:2006/12/16(土) 19:25:41 ID:???
ご教授”してください”ってのも新しいなぁ

308 :Name_Not_Found:2006/12/16(土) 19:42:30 ID:???
>>307
普通の日本語だ。

309 :Name_Not_Found:2006/12/16(土) 19:56:49 ID:???
ttp://academy4.2ch.net/gengo/
こちらへどうぞ。

310 :Name_Not_Found:2006/12/16(土) 20:47:24 ID:???
いや。行くまでもなくここでは決着がついてる。余計な瓜貼るな、ヴォケ

311 :Name_Not_Found:2006/12/16(土) 21:14:11 ID:???
言葉遣いの指摘自体スレ違いだからやめて欲しいね。

312 :Name_Not_Found:2006/12/16(土) 22:37:51 ID:???
>>302
それで動いた。

ところで、一般に、
既にメンテされてない "Msxml2.XMLHTTP" と "Microsoft.XMLHTTP"
をわざわざ選りすぐって指定している馬鹿しかいない事が気になる。
MS自らが、"Msxml2.XMLHTTP.3.0" か "Msxml2.XMLHTTP.6.0" を使えと言ってただろ。

313 :Name_Not_Found:2006/12/16(土) 22:50:43 ID:???
Msxml2.XMLHTTP の検索結果のうち 日本語のページ 約 804 件
Microsoft.XMLHTTP の検索結果のうち 日本語のページ 約 10,300 件

Msxml2.XMLHTTP.3.0 の検索結果のうち 日本語のページ 約 87 件
Msxml2.XMLHTTP.6.0 の検索結果のうち 日本語 のページ 3 件

314 :Name_Not_Found:2006/12/17(日) 02:15:39 ID:???
web教授してください。

315 :Name_Not_Found:2006/12/17(日) 02:46:10 ID:???
>>312
知らなかった。ソースある?

316 :Name_Not_Found:2006/12/17(日) 12:25:23 ID:???
引数aで指定のページのアンカー(a nameで指定する奴)に飛ぶ関数は

function(a){
window.open("(指定のページURL)#"+a,"");
}

だと思ったんですが上手く行きませんでした。
何処が間違ってるか、或いはもっといい方法があれば
教えてくださいお願いします。

317 :Name_Not_Found:2006/12/17(日) 13:04:14 ID:???
うまく行かないってどう行かないのか、あとブラウザのエラーも見て報告しろ。
そういうことができない奴は帰れ。ところでその関数をどうやって呼ぶのさ。
本当にURLを丸かっこで囲んでるわけじゃないよな。質問のために簡単化した
つもりかも知れないがそのために突っ込みどころ満載で皆引いてるんじゃねの?

318 :Name_Not_Found:2006/12/17(日) 13:24:53 ID:???
すいません。判り難いのでもう一度書きます。

function help(a){
window.open("help.html#"+a,"");
}

>>317
ありがとうございます。
関数は<script>〜</script>の外から
<a href="javascript: help(a)">で呼んでます。

ページのエラーなんですが画面下のメッセージはクリックするまでは
「ページが表示されました」なんですが、クリックした後は
「ページでエラーが起きました」になります。help.htmlへのジャンプはありません。

319 :Name_Not_Found:2006/12/17(日) 14:10:44 ID:???
location.hash=アンカー名

320 :Name_Not_Found:2006/12/17(日) 15:07:39 ID:???
>>318
普通に動作するようですが・・・?

<script>
function help(a){ 
window.open("http://www.2ch.net/#"+a,""); 

</script>

<a href="javascript: help('名前')">test</a>


321 :Name_Not_Found:2006/12/17(日) 15:11:59 ID:???
>>315
http://blogs.msdn.com/xmlteam/archive/2006/10/23/using-the-right-version-of-msxml-in-internet-explorer.aspx

322 :Name_Not_Found:2006/12/17(日) 16:08:55 ID:???
>>321
ありがとう、とても参考になったよ

323 :Name_Not_Found:2006/12/17(日) 16:09:28 ID:???
>>301

/gi,'◆'); → /gi,"◆");


324 :Name_Not_Found:2006/12/17(日) 16:10:51 ID:???
>>318
その「エラーが起きました」の内容を書けっつーてんだよ!
「!」マークをクリックして「どこで」「何の」エラーかを
読み取って報告しろって。

325 :Name_Not_Found:2006/12/17(日) 17:18:20 ID:bvBDTzlc
すいません、質問です。
obj.onclick();
obj.click();
どっちが正しいんですか?

326 :Name_Not_Found:2006/12/17(日) 17:34:37 ID:???
>>319-320
すいません。どうも親ウィンドウがあるかないかの
判別の仕方がまずかった様です。
(それで分岐を起こして変数aの中身を決めていたため
 エラーが起きていました)

調べて正しく記述したところ上手く飛んでくれました。

>>324
その方法は知りませんでした。
これから参考にしてみます。


お騒がせしました。

327 :Name_Not_Found:2006/12/17(日) 17:54:07 ID:???
>>325
使う前に typeof obj.onclick == "function" のようにして調べれば?

328 :Name_Not_Found:2006/12/18(月) 01:24:42 ID:???
>>325
どっちもただしいです、

329 :Name_Not_Found:2006/12/18(月) 09:50:59 ID:i294e43b
behaviorというのはどれくらいつかわれているんでしょうか。
汎用性で問題ありますか。htcファイルが開けないですよね。

330 :Name_Not_Found:2006/12/18(月) 12:49:35 ID:EZ5549+B
質問です。
ちょっとtrickyなんですが、ある要素のstyleを変える場合
obj.innerHTML='<span id="extid"></span>';
document.getElementById('extid').nextSibling.style.color='yellow';
のように、自前でidを埋め込むというのは結局ダメですか。他に何か
あるでしょうか。

331 :Name_Not_Found:2006/12/18(月) 12:54:51 ID:???
>>330
質問の意味が分からん。「ある要素」が参照できるのなら
そのstyleを変更すれば済むと思うんだけどなぜspanを
埋めなければならないの?

332 :Name_Not_Found:2006/12/18(月) 13:08:23 ID:???
>>331 藻前の想像力が無いだけ。

333 :Name_Not_Found:2006/12/18(月) 13:21:02 ID:???
こらこら俺らはエスパーじゃないぞ

334 :Name_Not_Found:2006/12/18(月) 13:28:34 ID:???
分かるように質問しないなら回答もできない、それだけさ。

335 :Name_Not_Found:2006/12/18(月) 13:56:53 ID:???
つか普通に考えてobjの子供がSPANだけになるのにnextSiblingも糞もねぇだろ。

336 :330:2006/12/18(月) 14:13:19 ID:???
補足です(分かりづらくてすいませんでした)
idでマークできるなら、なんで?というのはごもっともです。アクセスしたい
HTML要素はたとえば、<span style="color:red;">Einstein</span>のように、
平野のど真ん中にぽつんとある要素に対してstyle変更したいです。
よろしくお願いします。

337 :Name_Not_Found:2006/12/18(月) 14:15:21 ID:???
だからそのobjは参照できてるんだろ。そこからたどればいいだけで
わざわざIDを挿入する意味が分からん。

338 :Name_Not_Found:2006/12/18(月) 20:25:02 ID:???
>>329
使われない理由は、2年前までのXMLHTTPと同じで、知識を持つ人が少ないないから、というだけ。
例えば、毎スレのように出てくる、DOMContentLoadedみたいな処理をしたい、という質問は、HTCであっさり解決する。
また、HTC内の変数にはアクセスできないから、モジュール化という面では、これに勝る仕組みは存在しない。

実用上の大きな問題点は2つある。
1つは、古いIEでは(今でも?)キャッシュされないこと。
これはCSSの画像がキャッシュされなかった問題と似ている。
従って、要素オブジェクトが多量にあったら、ロードに時間がかかる。
これは、XBLがキャッシュされてハッシュ(ID属性値)を参照する仕組みに劣る欠点である。
解決策は、BODY要素オブジェクトなど、一つしかない物に指定して、oncontentreadyなどで回す。
もう1つは、CSSがホストを越えて再利用できることと、HTC(=JS)がそれを制限していることの矛盾。
要するに、CSSに直接書いたら、この矛盾を埋め込むことになってしまう。
もっと分かりやすく言えば、例えば、W3CのCSSを別のサイトが使っても問題ないが、
仮に、W3CのCSSがHTCを呼んでいたら、それは呼ばれないですよ、ということ。
解決策は、常にJSでCSSの規則(behavior)を追加すること。決して、CSSに直接書かないこと。

339 :Name_Not_Found:2006/12/18(月) 20:38:37 ID:tzujAn5U
こんばんは。
「&nbsp;」はそのままでは半角スペースにはreplaceできないということを
どこかで聞いたことがあるのですが、できてしまいますね。ガセですか?


340 :Name_Not_Found:2006/12/18(月) 20:49:21 ID:???
真実は自分の目で確かめなければいけません。

341 :Name_Not_Found:2006/12/18(月) 20:50:10 ID:???
>>339
もちろんreplace出来るけど表示は変わるよ

342 :Name_Not_Found:2006/12/19(火) 09:13:13 ID:???
>>338
>DOMContentLoadedみたいな処理をしたい、という質問は、HTCであっさり解決する

そこんとこ詳しく!

343 :Name_Not_Found:2006/12/19(火) 10:38:27 ID:aMXq5Aod
邦訳版はbiglobeとdoranekoとどっちがいいですか?

344 :Name_Not_Found:2006/12/19(火) 11:53:09 ID:???
window.onload = function(){
・・・・・
}
ってやるのと
<body onload='loadfunc();'>
ってやるのは同じ事と考えていいのでしょうか?

345 :Name_Not_Found:2006/12/19(火) 13:40:16 ID:???
>>344
微妙に違う。
・まずbody.onloadとwindow.onloadは別物。呼ばれるタイミングが微妙に違う
・bodyのonload属性に文字列としてスクリプトが入るが、
window.onloadの場合はfunctionオブジェクトを割り当てている。
set/getAttributeなどで挙動が異なる可能性がある

他にもスコープ関連やapply関連で違いがあるかも。

346 :Name_Not_Found:2006/12/19(火) 14:04:15 ID:???
> 呼ばれるタイミングが微妙に違う
kwsk

347 :Name_Not_Found:2006/12/19(火) 14:13:15 ID:???
property

348 :Name_Not_Found:2006/12/19(火) 16:52:43 ID:???
element.onclick=function
のfunctionに引数を渡すにはどうすればよいでしょうか。

以下のソース
==================
<html><head><script type="text/javascript">
      function load() {
      elem = document.getElementById("element");
      elem.onclick=display;
      }
      function display() {alert("click");}
    </script>
  </head>
  <body onload="load()">
    <div id="element">hoge</div>
  </body></html>
==================
において、

elem.onclick=display;

elem.onclick="display('click')";

function display() {alert("click");}

function display( text ) {alert( text );}

とすればよいと思ったのですが、動きません。どこが間違っているでしょうか?


349 :348:2006/12/19(火) 17:16:48 ID:???
ちなみに、目標は、

「idが"element"の要素中でクリックすると警告ウィンドウが表示される」
ということを、あとから"element"要素にイベントリスナを追加することで実現する

ということです。
なので、
<div id="element" onClick="display('click')">
と直接タグに埋め込む以外の方法で実現したいとおもっています。


350 :Name_Not_Found:2006/12/19(火) 17:47:58 ID:???
element.onclick = functon() { display("click"); };
じゃだめなの?

351 :348:2006/12/19(火) 18:45:51 ID:???
>>358
できました!ありがとうございます!


352 :348:2006/12/19(火) 18:46:30 ID:???
>>350
でした。すみません。


353 :Name_Not_Found:2006/12/19(火) 19:42:50 ID:???
operaモバイルなんですけれど、とあるページの内部の一部にある
<SELECT NAME="file_size" VALUE="0"><OPTION VALUE="280">300k</OPTION><OPTION VALUE="480">500k</OPTION>(略)</SELECT>
のどれか1つのOPTION VALUEを任意の(若しくは固定の)値に変更するブックマークレットって作れますか?

354 :Name_Not_Found:2006/12/19(火) 20:17:56 ID:???
まるちね。

355 :Name_Not_Found:2006/12/19(火) 21:00:21 ID:???
そなちね。

356 :Name_Not_Found:2006/12/19(火) 21:15:12 ID:???
手取り足取りスレで反応がないのでここにも書かせて下さい。

よく見かける「フローティングメニューバー(?)」をつけたいです。
ページのスクロールに合わせてついて来るアレです。
通常はブラウザ画面の左上に浮いてるような形式だと思いますが、
一番下に、ブラウザ画面の幅×100%で表示させたいです。
どのような方法があるでしょうか?

357 :Name_Not_Found:2006/12/19(火) 21:23:42 ID:???
prototype.js と firebug使ってていつも疑問に思うことの質問です

ブラウザを全て閉じてから、Ajax Requestを使ったページをドンと開いて、Requestを飛ばすと、
エラーではないんですが、bugが発見された状態になります。
prototype-1.4.0.js の 419行目、 return new ActiveXObject("Msxml2.XMLHTTP") ;辺りで止まってるっぽいです。

二枚目のウィンドウ or タブ(IEも、Firefoxも)開くと、正常に動作しています。
自分の無い脳みそで考えた結果、
1、キャッシュが悪さしている。
2、Exceptionにエラーじゃないけど、クロスブラウザー対応で、何かが引っかかって止まってしまう

など思いつきました。
同じような経験がある方は、どうしてなのか教えてほしいです〜;;

358 :348:2006/12/19(火) 21:28:21 ID:???
先程は解答下さった方ありがとうございました。
再び質問で恐縮ですが、以下のonclickをonkeypressに変えるとイベントを拾わなくなります。
拾うようにするにはどうすればよいでしょうか?
id "element"のタグようそでキーを押すと(最終的には何か特定のキーにしたいですが、今は任意のキーでよしとして)
alertが実行されるようにしたいと思っています。キーを押すかわりにクリックならイベントを拾います。
ちなみに、firefox2で動けば十分です。

<html>
  <head>
    <script type="text/javascript">
      function load() {
      document.getElementById("element").onclick=function(){alert("click");}
      }
    </script>
  </head>
  <body onload="load();">
    <div id="element">hoge</div>
  </body>
</html>


359 :Name_Not_Found:2006/12/19(火) 22:12:39 ID:???
>>356
マルチなので回答しないリストに登録されました。

360 : ◆.PT9876/4U :2006/12/19(火) 22:29:59 ID:vIUd/mx5
>>356 の運命は いかに ?
"反応がない" と言うけれど, 答えるメンバーは変わらないのに...
唯一の違いは僕がここに出しゃばることがないだけ.

361 :Name_Not_Found:2006/12/19(火) 22:45:48 ID:???
>>360
隔離スレでnull以外に答えてる奴っているの?
まあ、>>356はあんな駄スレで質問したのが運のつきだな。

362 : ◆.PT9876/4U :2006/12/20(水) 00:33:10 ID:BCbICuSE
>>361
>あんな駄スレで
あんたの主張が正しいのなら "あんな駄スレ" は とっくの昔に dat 行き.
そうなっていないのが 現実なのさ. (ぐわぁ〜はっはっは)

363 :Name_Not_Found:2006/12/20(水) 01:00:05 ID:???
俺は向こうのスレを見てないけど、
向こうのスレで「別スレにて質問させてもらいます。ありがとうございました」とか
書いてあったのなら、マルチ扱いするのは可哀想かな

364 :Name_Not_Found:2006/12/20(水) 01:02:32 ID:???
>>362
自分で保守ってるくせに
お前さんがいない時は過疎ってるじゃん

365 :Name_Not_Found:2006/12/20(水) 01:05:29 ID:???
間違った回答をする奴がのさばってっるスレはどこから見ても駄スレじゃないのか?

366 :Name_Not_Found:2006/12/20(水) 01:09:52 ID:???
駄スレが必ず落ちるわけじゃない
特に、誰かが一人で必死に保守し続ける駄スレは絶対に落ちない
でも駄目なものは駄目w

367 :Name_Not_Found:2006/12/20(水) 02:14:20 ID:B5dLvQCH
function Homepage(){
// in real bits, urls get returned to our script like this:
// res://shdocvw.dll/http_404.htm#http://www.DocURL.com/bar.htm
//For testing use
//DocURL = "res://shdocvw.dll/http_404.htm#https://www.microsoft.com/bar.htm"
DocURL=document.location.href;
//this is where the http or https will be, as found by searching for :// but skipping the res://
protocolIndex=DocURL.indexOf("://", 4);
//this finds the ending slash for the domain server
serverIndex=DocURL.indexOf("/", protocolIndex + 3);
//for the href, we need a valid URL to the domain. We search for the # symbol to find the begining
//of the true URL, and add 1 to skip it - this is the BeginURL value. We use serverIndex as the end marker.
//urlresult=DocURL.substring(protocolIndex - 4,serverIndex);
BeginURL=DocURL.indexOf("#",1) + 1;
urlresult=DocURL.substring(BeginURL, serverIndex);
if (protocolIndex - BeginURL > 7)
urlresult=""

368 :Name_Not_Found:2006/12/20(水) 02:15:29 ID:B5dLvQCH
//for display, we need to skip after http://, and go to the next slash
displayresult=DocURL.substring(protocolIndex + 3, serverIndex);
var aElement = document.createElement("A");
aElement.innerText = displayresult;
aElement.href = urlresult;
homepageContainer.appendChild(aElement);
}
function doSearch()
{
saOC.NavigateToDefaultSearch();
}
function initPage()
{
document.body.insertAdjacentHTML("afterBegin","<object id=saOC CLASSID='clsid:B45FF030-4447-11D2-85DE-00C04FA35C89' HEIGHT=0 width=0></object>");
Homepage();
}
2レスに分けさせてもらいました、すみません。
上記のスクリプトはなにをしているのですか?

369 :Name_Not_Found:2006/12/20(水) 03:15:28 ID:ZkI1VDeQ
document.getElementById("board").style.leftだと数字が得られるのに、
leftをtopにしたら、数字が得られないのは何でですか?

370 :Name_Not_Found:2006/12/20(水) 03:26:04 ID:???
>>369
leftでもtopでも、数字が得られるとしたら0以外にありえない

371 :Name_Not_Found:2006/12/20(水) 09:06:08 ID:???
>>369
それを参照して値を取ろうとする時点で怪しい。テンプレを読めボケ!
>>368
plugin用のobjectタグを挿入してるようだけど。
>>358
ふつう、その要素にフォーカスが入ってないから取れない、というのが
多いんだけどそれは大丈夫?クリックでそこを選択してからキー押した?
>>356
自分が現在作ってるものがあるんだったら、その幅を広くするだけじゃないの?
いったい何が分からないんだ?全部書けというのなら断るぞ。

372 :Name_Not_Found:2006/12/20(水) 09:24:13 ID:1YOfLzv4
ボタンを押したとき、フォームの内容を書き換えてから
そのデータを送信したい場合にはどうすればよいですか?

373 :Name_Not_Found:2006/12/20(水) 09:48:15 ID:???
kwsk

374 :Name_Not_Found:2006/12/20(水) 10:01:10 ID:1YOfLzv4
申し訳ない
例えばフォームの住所欄に東京都***と入力してボタンを押すと
緯度・経度の箇所に住所欄に該当した緯度・経度が入力され(hidden属性ですが)
その緯度・経度も一緒にgetやpostで送信するって感じです
住所から緯度・経度に変換する関数は作ってあるので
その関数をボタンを押す前に実行してからデータを送信したいんです
いろいろやったんですが、うまくいくときといかないときがあって・・・

375 :358:2006/12/20(水) 10:07:10 ID:???
>>371
ありがとうございます。

クリックしてからキーを押してみてもやはり期待の動作はしません。
ちなみに、>>358のソースで、id "element" の要素ではなく、
document全体にバインドさせるとonkeypressでもハンドルしました。
document.getElementById("element").onclick=function(){alert("click");}

document.onkeypress=function(){alert("click");}
または
document.addEventListener("keypress",function(){alert("click");},false)

要素によってkeypressのリスナーがバインドできないのか。。。
ttp://developer.mozilla.org/en/docs/DOM:element.addEventListener
を見ても説明がなく、よくわかりません。仕様がDOM level2では固定されていない?


376 :Name_Not_Found:2006/12/20(水) 10:10:49 ID:???
おひさし!
しゃぶノ介 2006/12/16(Sat) 15:17 No.244 <HOME>

あ〜・・・
久し振りにきました〜ww
ん〜・・・
別に、「しゃぶさん」で良いですよ〜ww
@、そのサイトですね〜・・・
「ジャヴァスクリプト」が作れないみたいです。
今は、そっちの研究に入ってま〜すww
大学生で習う数学らしくて・・・
難しい・・・

ttp://www.rak1.jp/one/rak2_pv.cgi?no=picty880&bbs_view=4


377 :Name_Not_Found:2006/12/20(水) 10:11:25 ID:???
ttp://land.to/supportbb/viewtopic.php?t=2381

しゃぶノ介

記事時間: 2006年11月27日(月) 17:09 記事件名: 広告について 引用つきで返信
前にも、広告について質問しましたが、今回も御願いします。
そして、「一番下」って・・・・・・・・
ものすごく邪魔です・・・
最初は上に二つでした・・・
ジャバスクリプトと、僕のソースを残したまま、広告だけ元に戻してほしいのですが・・・・
ttp://shabunosuke.is.land.to/

記事時間: 2006年11月27日(月) 20:18 記事件名: 引用つきで返信
広告は<body>タグの下に自動挿入されるので
<body>タグがいっぱいあるとその分広告が挿入されますよ。

なので、サーバーのせいではありません。
変なhtmlソースを書いたホームページ作成者が悪いのです。

しゃぶノ介ゲスト

記事時間: 2006年11月28日(火) 12:37 記事件名: ・・・・・ 引用つきで返信
「変」ってナンですか・・・
「変」って・・・・
それは、「暴言」または、「暴行罪」に、値しますよ。
憲法第208条暴行罪。
5年以下の懲役又は、30万円以下の罰金
多分、ネットの場合に行ったため、少し高くなると思いますよ??
訴えましょうか?

378 :Name_Not_Found:2006/12/20(水) 10:17:53 ID:???
憲法じゃない。刑法だ。自分が第249条を無視しているのもキュート

379 :Name_Not_Found:2006/12/20(水) 11:03:12 ID:???
>>375
本来キー入力を取らない要素だと駄目かもねえ。document全体で
取ってtargetが問題の要素かどうか調べるとかしかないかな?
>>374
: 住所から緯度・経度に変換する関数は作ってあるので
: その関数をボタンを押す前に実行してからデータを送信したいんです
: いろいろやったんですが、うまくいくときといかないときがあって・・・
いろいろだって?その状況を詳しく書いて相談しなければ
何も有効なアドバイスは貰えないぞ、当り前だろボケ!


380 :Name_Not_Found:2006/12/20(水) 11:15:25 ID:???
>>353
operaモバイル持ってないけどふつーにこうじゃねの?
javascript:document.getElementsByName('file_size')[0].options[0].value='xx';void(0)

381 :Name_Not_Found:2006/12/20(水) 14:22:44 ID:???
文字列の先頭一文字だけを大文字に置換する方法を教えてください。

382 :Name_Not_Found:2006/12/20(水) 14:35:30 ID:???
手作業。

383 :Name_Not_Found:2006/12/20(水) 15:44:24 ID:???
>>381 ヒント:
あんたの質問文を検索窓に投げ込んだらぐぐさまがすぐ答えを出してくれた。

384 :Name_Not_Found:2006/12/20(水) 17:24:13 ID:???
"hoge".replace(/^a/, "A").replace(/^b/,"B").replace(/^c/,"C").re/*中略*/"Y").replace(/^z/,"Z");
手作業よりは楽か?

385 :Name_Not_Found:2006/12/20(水) 17:47:17 ID:???
>>384
バカか。普通toUpperCase()を使うだろうに…1文字目取るのに
パターンマッチしてどうする… 長さ1文字以上はあるものとして:
str.charAt(0).toUpperCase() + str.substring(1);

386 :Name_Not_Found:2006/12/20(水) 17:55:57 ID:???
バカとはなんだ、ボケ! 動けばいいだろ、文句なるなら出て来い。

387 :Name_Not_Found:2006/12/20(水) 17:59:34 ID:???
>>386
本当に動けばそれでいいと思ってるならアンタ向いてなさすぎ。
たかがあれだけで頭に血がのぼるようなら2ちゃんなんて見ちゃだめよ。

388 :381:2006/12/20(水) 18:15:19 ID:???
str.replace(/./,function(){return arguments[0].toUpperCase()});
っていうのを思いついてたけど、>>385のがシンプルで良さそうだ。ありがとう。

389 :Name_Not_Found:2006/12/20(水) 19:00:06 ID:+uHsJLAr
すんません、どなたかご存知でしたら質問させてください!
以下(>>389以降)のようなソースを書いていますが、mozilla系(ff,ns)だと動作してくれません。opera、IEは大丈夫でした。(全部win)
試行錯誤の末、上のDOCTYPEを消すとfirefoxだけは動いてくれました。
恐らくDOCTYPE周辺の問題だと思うのですが、これって何がだめなんでしょうか。
というか、DOCTYPE宣言した上で動かすにはどうしたらいいでしょう?

390 :Name_Not_Found:2006/12/20(水) 19:02:22 ID:???
>>389
DOCTYPE宣言を消すと動くというのは「古い機能を使っていて
互換モードでしか動かない糞ソースだ」という意味だよな、普通。

391 :Name_Not_Found:2006/12/20(水) 19:04:50 ID:+uHsJLAr
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=euc-jp" />
<SCRIPT LANGUAGE="JavaScript" type="text/javascript">
<!--
var cts1="コンテンツ1";
var cts2="コンテンツ2";
function smCts1(){
document.all.smenu.innerHTML = cts1;
}
function smCts2(){
document.all.smenu.innerHTML = cts2;
}
//-->
</SCRIPT>
</head>

<body>
<ul>
<li><a href="javascript:smCts1();">メニュー1</a></li>
<li><a href="javascript:smCts2();">メニュー2</a></li>
</ul>
<div id="smenu">ここが変わります</div>
</body>
</html>

392 :Name_Not_Found:2006/12/20(水) 19:06:20 ID:+uHsJLAr
>>390
そうなんすかorz
innerHTML使ってるんですが、これってまずいのかな・・・


393 :Name_Not_Found:2006/12/20(水) 19:53:56 ID:???
>>392
ヒント:document.all


394 :389:2006/12/20(水) 20:30:53 ID:+uHsJLAr
キタ━━━ヽ(゚∀゚)ノ━ヽ(゚∀゚)ノ━━━!!!!
       へ  )    (  へ
          >     <

サーセン、事故解決しました。
document.all.smenu.innerHTML を、
document.getElementById("smenu").innerHTML
にしたら出来ました!!

塚、>>393もありがとうございます!
これ、どういう理屈なんだろう・・・document.all がまずかったんですか?


395 :Name_Not_Found:2006/12/20(水) 20:35:39 ID:???
まずくありませんよ。

396 :389:2006/12/20(水) 20:42:59 ID:+uHsJLAr
まずくないんだー
ド素人なもんでよくわからんですよ
でも勉強になりますた!

397 :Name_Not_Found:2006/12/20(水) 20:52:35 ID:???
document.allはIE独自規格、のはずだがOperaはIEの真似したがるから採用した。以上。


398 :Name_Not_Found:2006/12/20(水) 21:12:03 ID:???
document.allはすばらしい。nameでもidでも何でもつけつけてくれる。
id重複?気にしないで。ジェーンジェンかまいましぇ〜ん。他でも使えばいいのにね。

399 :Name_Not_Found:2006/12/20(水) 21:16:03 ID:???
'getElementsByTagName'.length-'all'.length//17

400 :Name_Not_Found:2006/12/20(水) 21:21:02 ID:???
htmlDomTreeをxhtmlとしてe4xアクセスってできんのかな

401 :Name_Not_Found:2006/12/20(水) 21:23:11 ID:???
画面上で要素をクリックすると、対応するXPathのロケーションパスを表示させる
javascriptコードまたは拡張機能なりを御存じの方おられますか?
自分で作ればいいんですが、あればあるに越したことないとおもいましてお聞きしました。

402 :Name_Not_Found:2006/12/20(水) 21:29:18 ID:???
>>397
真似したがるからじゃなくて戦略上の問題(消極的な理由)

403 :Name_Not_Found:2006/12/21(木) 00:01:43 ID:???
>>398
ヒント: XPath

>>401
Firefox拡張にあった気がする

404 :Name_Not_Found:2006/12/21(木) 00:08:37 ID:???
ttps://addons.mozilla.org/firefox/1095/

405 :401:2006/12/21(木) 00:36:22 ID:???
>>404,403
ありがとうございます!
自作はしんどそうなのですごく助かりました。

406 :Name_Not_Found:2006/12/21(木) 10:11:12 ID:QfhgOoF7
実家の蕎麦屋のHPをつくってます。
htmlがわからないオトンが書いたテキストファイル(日記みたいなの)を
トップページの一部に読込む場合、どうすればいいでしょうか??
よろしくお願いします。


407 :Name_Not_Found:2006/12/21(木) 10:35:26 ID:HT+ZvCDU
IE7での質問です。
A.
dd = new Date();
hh = dd.getHours();
ii = dd.getMinutes();
ss = dd.getSeconds();
yy = dd.getYear();
mm = dd.getMonth() + 1;
dd = dd.getDate();

B.
dd = new Date();
yy = dd.getYear();
mm = dd.getMonth() + 1;
dd = dd.getDate();
hh = dd.getHours();
ii = dd.getMinutes();
ss = dd.getSeconds();

A.だと大丈夫なのですが、B.だとhhを取得するところでエラーになります。
これはIE7のバグなのですか?
それともDataオブジェクトの仕様?

逃げ方が簡単なので、大した問題ではないのですが…。

408 :Name_Not_Found:2006/12/21(木) 11:18:05 ID:MkDAteVG
スクリプトを途中で終わらせる方法はやっぱり
http://muumoo.jp/news/2006/08/30/0jsexit.html しかないのでしょうか?

また、
main→関数A内→関数B となった場合、
一気に関数Bからmainに戻ることは出来ませんか?

409 :Name_Not_Found:2006/12/21(木) 11:20:57 ID:???
>>407
えーと・・・・・・・・・バグじゃないです。

B
d = new Date(); 
yy = d.getYear(); 
mm = d.getMonth() + 1; 
dd = d.getDate(); 
hh = d.getHours(); 
ii = d.getMinutes(); 
ss = d.getSeconds(); 

こんなふうにつかってください

410 :Name_Not_Found:2006/12/21(木) 11:43:28 ID:HT+ZvCDU
あ、辱。
d = new Date();にしているつもりだった。。。

411 :Name_Not_Found:2006/12/21(木) 11:51:30 ID:???
>>409
お前に頼まれたくない。M$の人間か、ヴォケ。糞コード書くな。

412 :Name_Not_Found:2006/12/21(木) 12:03:42 ID:???
>>411
?????????????????????

413 :Name_Not_Found:2006/12/21(木) 12:18:59 ID:???
ヴォケって書く人は無視すると良いですよ。煽ってるだけですから。

414 :Name_Not_Found:2006/12/21(木) 12:47:49 ID:???
いや、>409のコードはほんとにウンコだ。

415 :Name_Not_Found:2006/12/21(木) 13:03:33 ID:???
質問です。以下のコードを見てください。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>x</title><script type="text/javascript">
window.onload = function() {
var div = document.createElement("div");
div.style.position = "absolute";
div.style.left = "0px";
div.style.top = "0px";
div.style.width = "200px";
div.style.height = "200px";
div.style.overflow = "auto";
div.style.backgroundColor = "blue";
document.body.appendChild(div);
var child = document.createElement("div");
child.style.position = "absolute";
child.style.left = "300px";
child.style.top = "300px";
child.style.width = "20px";
child.style.height = "20px";
child.style.backgroundColor = "red";
div.appendChild(child);
}</script></head><body></body></html>

期待しているのは青いdivにスクロールバーが出て、スクロールすると赤いdivを見ることが出来る状態ですが、
IEでは期待通りなのですが、Firefoxではスクロールバーが出ません。
赤いdivのpositionをrelativeにすれば出るのですが、デザイン的にrelativeには出来ません。
どのようにすれば赤いdivのposition:absoluteのままで青いdivにスクロールバーを出せるでしょうか。

やりたいことは、bodyタグと同じようなdivタグを作りたいのです。
例えば青いdivのstyle.top = "2000px" などとすると、bodyタグにスクロールバーが出ますよね。
それと同じように、absoluteでも青いdivにスクロールバーが出るようにしたいのですが…

416 :Name_Not_Found:2006/12/21(木) 13:15:41 ID:???
>>415

div.style.overflow = "scroll"; 

でどおですか

417 :Name_Not_Found:2006/12/21(木) 13:18:14 ID:???
>>416
ダメです。動かないスクロールバーが表示されるだけです。

418 :Name_Not_Found:2006/12/21(木) 13:31:13 ID:???
>>415
Firefox2だけど、
そのままのソースで期待通りの動作してる。

419 :Name_Not_Found:2006/12/21(木) 13:53:28 ID:???
>>418
Firefox1.0で試していました。とするとブラウザのバグですね。

とりあえず回避は出来ました。青いdivの直下に
<div id="cover" style="position:relative;top:0;left:0"></div>
というdivを作り、そのdivに対してposition:absoluteのdivを追加すれば
自動的にcoverのdivのサイズが大きくなり、結果的にスクロールバーが登場しました。

同じ問題で悩まれる方は是非試してみてください。

420 :Name_Not_Found:2006/12/21(木) 15:17:38 ID:???
>>419
ちょ、おま2.0や1.5じゃなくて1.0かYO!
質問のときにバージョンぐらい書けよ。
1のテンプレにも

>・対象環境や使用技術は質問者の裁量であることを理解する者
> (質問/回答時はなるべく環境明記。WinIE5.5/N6未満と希少ブラウザは必須!)

と書いてあるだろ。

421 :Name_Not_Found:2006/12/21(木) 15:57:15 ID:???
どもです。
えっと、evalを使わないでオブジェクトを合成できますか?つまり、
apple='MAC';
というのがあったとき、
'ap' と 'ple' という文字列から「apple」を作って、「MAC」を取得した
いんですが。

422 :Name_Not_Found:2006/12/21(木) 16:51:44 ID:???
>>421
よくわからんがevalでだめな理由をのべよ
もうちょっと詳しく

423 :Name_Not_Found:2006/12/21(木) 17:08:23 ID:???
>>421
hoge1 = 'ap';
hoge2 = 'ple';
window[hoge1+hoge2];

424 :Name_Not_Found:2006/12/21(木) 17:15:11 ID:???
>>406
手動でHTMLソースに貼り付けるのが一番良いと思いますが…

A HTMLの知識しかないなら<iframe>がとても手頃
B cgiの置けるサーバーならphpやperl
C どうしてもjavascriptでやりたいのならAjax

Cはスクリプト切ってる人がオトンの日記読めません

425 :Name_Not_Found:2006/12/21(木) 18:22:51 ID:???
Aはフレーム非対応ブラウザではがオトンの日記読めません

426 :Name_Not_Found:2006/12/21(木) 19:59:20 ID:aOwL1y+k
質問です。
次のコードはPHPで全角のみ許容のソースなのですが、これをJavaScriptに
書き換えることは可能でしょうか。JavaScriptをかじってみたのですがまだ
よく判断ができません。よろしくお願いします。
function address_check($addr) {
for($i = 0; $i < mb_strlen($addr); $i++) {
$str = mb_substr($addr, $i, 1);
if(mb_strwidth($str) != 2) {
return false;
}
}
return true;
}

427 :Name_Not_Found:2006/12/21(木) 20:15:16 ID:???
>>426
可能です

428 :Name_Not_Found:2006/12/21(木) 20:26:17 ID:???
タワケ

429 :406:2006/12/21(木) 20:41:14 ID:???
>>424
スルーかよ!!とか思ってたよ、
ありがd!!
<iframe>のこと知りませんでした。
とりあえずこれでやってみます。

430 :Name_Not_Found:2006/12/21(木) 20:46:16 ID:nhE4De0y
Google Maps API が日本住所に正式対応したみたいですが、JSON形式では
変数への代入方法など利用方法が全く分からなく、御教示おねがいします。

// クエリは東京駅、keyは自分のアカウントキー
<script src="http://maps.google.com/maps/geo?q=%E6%9D%B1%E4%BA%AC%E9%A7%85&key=●●"
type="text/javascript"></script>
// 上記のように読み込んでおく方法ではcallback関数で処理の方法が分からないので
var test = "http://maps.google.com/maps/geo?q=%E6%9D%B1%E4%BA%AC%E9%A7%85&key=●●";
var data = eval(test);
// これもやってみたが data.name、data["name"]、当たり前だがどれも値が受け取れてない

document.createElement("script");
script.type = 'text/javascript';
script.src = test;
document.getElementsByTagName("head")[0].appendChild(script);
// こんなのもやってみましたが、値の受け取りかたが分かりませんでした

431 :Name_Not_Found:2006/12/21(木) 20:47:39 ID:???
>>430
googleに聞け

432 :Name_Not_Found:2006/12/21(木) 20:47:44 ID:???
>>426
function address_check(addr){
return /[\u0100-\uFFFF]/.test(addr);
}

433 :Name_Not_Found:2006/12/21(木) 20:52:46 ID:???
\u0080-\uFFFFだった

434 :430:2006/12/21(木) 21:03:23 ID:nhE4De0y
http://zorgmon.googlepages.com/geocoder-jp.html
ここのを改造したら分かってきました。スンマソン
v=2.x にして、その後は↓で最低限のコードかな

var address = "東京駅";
geocoder.getLatLng( address,
function(point) {
if (point) {
map_all.setCenter(point, 13);
var marker = new GMarker(point);
map_all.addOverlay(marker);
}
}
);

435 :Name_Not_Found:2006/12/21(木) 21:47:24 ID:???
prototype.js の responseText をDOMノードとして操作するには
どうしたらよいの?

436 :Name_Not_Found:2006/12/21(木) 21:50:32 ID:???
>>435
フレームワーク系はスレ違い

437 :Name_Not_Found:2006/12/21(木) 22:34:49 ID:XTTh9/0j
HTMLファイルにクラス指定しかない文字列があったとして、その文字色を
変えるには、どうすればいいんでしょうか。classNameは使えないですよね。
getByClassNameを自作する手もありますが、それじゃない方法はないですか。
<style>span.z{color:blue;}span.x{color:red;}</style>
の指定で、
<span class="z">the hard lesson</span>
の場合です。

438 :Name_Not_Found:2006/12/21(木) 23:11:26 ID:???
ないです。

439 :Name_Not_Found:2006/12/21(木) 23:38:17 ID:???
>>437
スタイルシートを書き換えてしまう。

<style>
span.x{color:red;}
span.z{color:blue;}
</style>
<span class="x">class="x"</span>
<span class="z">class="z"</span>
<hr>
<input type="button" onclick="document.styleSheets[0].rules[0].style.color='blue'" value="document.styleSheets[0].rules[0].style.color='blue'">
<input type="button" onclick="document.styleSheets[0].rules[0].style.color='red'" value="document.styleSheets[0].rules[0].style.color='red'">
<input type="button" onclick="document.styleSheets[0].rules[1].style.color='blue'" value="document.styleSheets[0].rules[1].style.color='blue'">
<input type="button" onclick="document.styleSheets[0].rules[1].style.color='red'" value="document.styleSheets[0].rules[1].style.color='red'">


IE以外のブラウザの対応は自分でやれ

440 :Name_Not_Found:2006/12/22(金) 00:14:18 ID:???
getElementByClassNameを使って何が悪いのだ

441 :Name_Not_Found:2006/12/22(金) 00:54:42 ID:???
>>440
結局全部要素をなめるのは重いしダサイ。他のスタイルとの相互作用が
あるときCSSベース(カスケード順)で規則適用できる方が嬉しいかもしれない。
スタイルシートの追加とか書き換えとか過去ログ検索すれば複数あるよ。
もちろんIE専じゃなくIE+Geckoでね。

442 :Name_Not_Found:2006/12/22(金) 01:00:10 ID:???
>>441
キャッシュしておけばいいとは思うけどね。
個人的にスクリプトがCSSを気にするのは正道でない気がしている。

443 :Name_Not_Found:2006/12/22(金) 01:11:26 ID:???
「書き込みが出来ません」というエラーが出たんですが
これはどういう物なんでしょうか(変数が無いとか?)。
教えてください。

444 :Name_Not_Found:2006/12/22(金) 06:35:42 ID:???
>>442
参照をキャッシュするのは、参照を書き換えられたら終わり、脆い。特に、コピペ文化のJSでは(ry。
また、今時のブラウザがインストールできるOSが載っているようなマシンでは、
生きたノードを毎回取得しても、多くの場合、大きなネックにはならない。
ネックになってから、キャッシュすることを考えても全然手遅れではない。

445 :Name_Not_Found:2006/12/22(金) 07:21:37 ID:???
>>435
Fxなら、DOMParser#parseFromString()
MSXMLなら、IXMLDOMDocument#loadXML()

446 :Name_Not_Found:2006/12/22(金) 07:23:38 ID:???
なんで藻前ら簡単なデバッグ作業すらしないんだお!

447 :Name_Not_Found:2006/12/22(金) 08:49:26 ID:???
>>443
そのエラーが出る最小限のサンプルを作って貼れ。嫌なら2度と来るな。

448 :Name_Not_Found:2006/12/22(金) 11:27:39 ID:???
・カタログサムネイルページで、サムネイルをクリックするとサブウインドウが開いてカタログの中身が表示される
・その制御にはwindow.open関数を使用

この状態で動いてるページを、外部から直リンを防ぐためにトップページ以外からのアクセスをはじくよう
.htaccessのリファラー制限をかけたのですが、そうしたらばサブウインドウが開かなくなりました
(You don't have permissionと出てしまう)

おそらくwindow.open関数でサブウインドウを開く動作の際、リファラが生成されないのではないかと思うのですが、
javascriptで何か解決方は無いでしょうか?
(親ウインドウから開く際に強制的にリファラーを渡す。他何か別の手段で引数を渡して、一致したらサブが開ける等)

449 :Name_Not_Found:2006/12/22(金) 13:07:19 ID:???
リファラのねつ造なんてできるわけないと思うが。
引数をチェックするって、そもそもページを取り寄せるところで
止められているんでしょ?それ以前の問題だと思うけど。

450 :Name_Not_Found:2006/12/22(金) 13:29:15 ID:AyVaHXmu
質問です。
JavaScript掲示板で次のような回答を見つけたのですが、ぼくの認識とちょっと
ちがうような気がするんですが、この通りなんでしょうか。
回答のあったのは
ttp://okwave.jp/qa1488269.html
ですので、ここに聞けばよいのですが、どうもこのOKWaveという質問掲示板
は、素人のいい加減な回答が目立つので、こちらにさせていただきました。
よろしくお願いします。回答内容は次の部分です。
---------------------------------------------------------------
一部のアドレス渡しの言語を除き、JavaScript の様な値渡しの言語は関数
が呼ばれた時にその変数に値が代入され、その関数から制御が離れた時に変
数自体が解放されたと思います。
---------------------------------------------------------------
JavaScriptは本当に値渡しなんですか?

451 :Name_Not_Found:2006/12/22(金) 14:37:53 ID:???
>>445
THX!

452 :Name_Not_Found:2006/12/22(金) 14:38:20 ID:???
448です。サブウインドウが開かないではなく、ウインドウは開くけれども中の表示が「You don't have permission」に
なってしまうの間違いでした。申し訳ありません

453 :Name_Not_Found:2006/12/22(金) 15:02:20 ID:???
window.opener でごにょごにょすればできると思うけど
どうせなら litebox みたいのが今風な気がする

454 :Name_Not_Found:2006/12/22(金) 15:10:32 ID:???
document.allもOperaのヴォケが追随したんで、ブラウザの分岐コードが
おかしくなった。責任者出て来い!

455 :Name_Not_Found:2006/12/22(金) 15:12:12 ID:???
>>454
window.opera

456 :Name_Not_Found:2006/12/22(金) 18:55:11 ID:???
>>454
そもそもdocument.allでブラウザ分岐するのが間違い

457 :Name_Not_Found:2006/12/22(金) 19:00:57 ID:???
>>456
kwsk IEハネの常識では?

458 :Name_Not_Found:2006/12/22(金) 20:32:08 ID:???
>>450
仕様書読めば?
アドレス渡しという言葉からして、あるいは、実装の話をしているのなら、SpiderMonkeyのソース読めば?

459 :Name_Not_Found:2006/12/22(金) 20:36:38 ID:???
>>458
KJS/JavaScriptCoreのソースのほうが断然読みやすいと思う。

460 :Name_Not_Found:2006/12/22(金) 20:40:28 ID:???
JavaScriptって見るブラウザや環境によってエラーで違うよね
ノーパソで見れたのがデスクトップで見れない

461 :Name_Not_Found:2006/12/22(金) 20:43:13 ID:???
GoogleMapsAPIを表示させたいのですが、

<script type="text/javascript">
//<![CDATA[

var map = new GMap(document.getElementById("map"));
map.addControl(new GLargeMapControl());
map.addControl(new GMapTypeControl());
map.centerAndZoom(new GPoint(139.70352172851562, 35.68757466560839), 10);

var point_x;
var point_y;

GEvent.addListener(map, 'click', function(overlay, point) {
if (point) {
point_x = point.x;
point_y = point.y;
}
});

function jump(){
if(point_x){
location.href = "index.html?n="+point_x+"&e="+point_y;
}else{
alert("・ッ・・テ・ッ、キ、ニ、、、゙、サ、。」");
}
}
//]]>
</script>

これで、オブジェクトが指定されていないというエラーが出ます。
正直、どういう意味かわかりません、どなたかお願いします。

462 :Name_Not_Found:2006/12/22(金) 20:53:03 ID:???
>>450
>の関数から制御が離れた時に変数自体が解放されたと思います。
実際やってみればいい。
var i="out";
function hoge(){
var i="in";
alert(i);
}
alert(i);



463 :Name_Not_Found:2006/12/22(金) 22:18:02 ID:???
>>461
オブジェクトが指定されていない

464 :Name_Not_Found:2006/12/22(金) 23:19:09 ID:???
>>447
window.openerとその中の変数prmがあればそれを処理してファイル名を作り、
なければprmにメニューを表示するフラッシュのファイル名を入れます。

if((window.opener)&&(window.opener.prm!=null)){
(prmを処理してファイル名を作る)
}else{
(prmにメニューswfの名前を入れる)
}

(prmに入っているファイル名を表示)


こんな感じです(括弧の中はちゃんと動きます)。
よろしくお願いします。


465 :450:2006/12/23(土) 00:10:57 ID:???
>458
じらさないで教えてください。お願いします。

466 :Name_Not_Found:2006/12/23(土) 15:37:01 ID:???
fooに入っている多次元配列をbarに複製する方法を教えてください。

467 :Name_Not_Found:2006/12/23(土) 16:08:25 ID:???
>>466
bar = eval( foo.toSource() );

468 :Name_Not_Found:2006/12/23(土) 16:59:38 ID:???
>>467
IEでも動くようになりませんか

469 :Name_Not_Found:2006/12/23(土) 18:17:12 ID:???
theName という名前のCookieを削除する、
最もシンプルなコードを教えてください。

今はこうやってます。
document.cookie = theName + "='';expires=Thu, 01-Jan-1970 00:00:01 GMT";

470 :Name_Not_Found:2006/12/23(土) 19:57:22 ID:???
>>466
それって深いコピー?
そうならループ+再帰でやるのが一番素直じゃないの。
浅いコピーならconcatでできるけど。

471 :Name_Not_Found:2006/12/23(土) 22:09:27 ID:???
>>469

それが一番。 自信をもて。

472 :Name_Not_Found:2006/12/23(土) 22:17:07 ID:???
>>469
あと、今時あいてにするようなブラウザは、RFC2965にあるmax-ageを分かるから、max-age=0

473 :Name_Not_Found:2006/12/23(土) 22:26:14 ID:???
UserJavascriptの質問はどこですればいいですか?ここでいいでしょうか?
伺いたいのはこんなことです。
Googleの検索ではユーザーエージェントによって返すhtmlが違うようなので、それを判定してfunctionを使い分けたいのです。
で、
function(){
try{
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}catch(e){
xmlhttp = new window.XMLHttpRequest();
}
var v = xmlhttp.responseText;
ua = v.indexOf(">Google デスクトップ</a>であなたのパソコン内を検索</font></td></tr></tbody></table><br>");
if(ua == -1){
function(){
機能1
}
}else{
function(){
機能2
}
}
のように書いたんですが、うまくいきません。どう書き直せばよいか分かる方いますか?

474 :Name_Not_Found:2006/12/23(土) 22:44:24 ID:???
openやsendは省略か?

475 :473:2006/12/24(日) 00:27:53 ID:???
うまくいかない原因がこれかどうかは分かりませんが、どう書けばよいか分かりません。教えてくださいm(_ _)m

476 :Name_Not_Found:2006/12/24(日) 01:03:53 ID:???
>>471
どうもです。

477 :Name_Not_Found:2006/12/24(日) 08:58:14 ID:???
>>473
openもsendも書いたことないのなら、まずそういうのを勉強して
ふつーに内容が取り寄せられるようになってから来いって。
サンプルなら過去ログ全集にも複数あるだろ。探すのが嫌なら
2度と来るな。

478 :Name_Not_Found:2006/12/24(日) 09:42:52 ID:???
お母さーん、おもしろいよ。もう2度と来るな、だって。

479 :Name_Not_Found:2006/12/24(日) 10:14:17 ID:???
過去すれ検索すれば分かるが「2度と来るな」は珍しくもなんともない。
アンタが過去すれマッタク見てないのが明らかになっただけ。
>>1
>・テンプレ/FAQ/過去ログ/関連資料を読める者。


480 :Name_Not_Found:2006/12/24(日) 11:12:12 ID:???
お母さーん、おもしろいよ。返事が返ってきたよ。

481 :Name_Not_Found:2006/12/24(日) 11:13:36 ID:???
onkeydown イベントを使ってショートカットキーの制御を試みた所
アプリケーション側で使われてるショートカットキーは抑制できないようです
(C-c, C-v 等通るキーもある)
セキュリティ上そうなっているようなのですが
特定のURLに対してのみ制御の許可をすることはできませんか
試した環境は IE6.0のWin2kですが他のブラウザで可能であれば移ろうかと考えています

アプリ側の設定なのでスレ違いかと思ったのですが
ここが一番その範囲に詳しそうでしたので、ここで質問させて頂きました。

使ったコードはコレです
function keyCodeTest(){
if (event.keyCode >= 30){
if(event.ctrlKey) {
alert("ctrl + " + event.keyCode );
event.keyCode = 0;
return false;
}
}
}

482 :Name_Not_Found:2006/12/24(日) 12:07:27 ID:???
ブラウザ側で取られてしまうものをスクリプトで受け取れる
とは思えない。JSでその設定を変更できるとも思えない。

483 :Name_Not_Found:2006/12/24(日) 12:37:05 ID:KE95vP8e
質問です。
関数をbody onloadで呼び出す場合、その呼び出す関数を関数で呼び出すよう
にして、その関数にonloadイベントをつけているスクリプトを見たのですが、何か
理由があるのでしょうか。

484 :Name_Not_Found:2006/12/24(日) 12:59:17 ID:???
その呼び出す関数を関数で呼び出すようにして、その関数に
onloadイベントをつけたかったのではないでしょうか。

485 :483:2006/12/24(日) 13:20:59 ID:???
それはもちろんそうしたかったのでそうしたんだと思いますが、知りたいの
はその理由です。呼び出す関数を関数で呼び出すのに、呼び出す関数にでは
なくなぜ呼び出す関数を呼び出す関数にonloadをつけたかです。

486 :Name_Not_Found:2006/12/24(日) 13:24:51 ID:???
前スレで揉めてたクロージャー関係の話?
参照渡しにするからってことなんじゃないの?
function init(){hoge();}
document.onLoad=init;

487 :Name_Not_Found:2006/12/24(日) 14:39:19 ID:???
僕の関数が関数で呼び出されて関数になってまして、もう今にも関数です。

488 :Name_Not_Found:2006/12/24(日) 14:56:00 ID:???
document.onLoad って……。

489 :Name_Not_Found:2006/12/24(日) 15:17:07 ID:???
僕の肛門も関数に呼び出されそうです

490 :Name_Not_Found:2006/12/24(日) 15:43:37 ID:???
僕のはもう実際に呼び出されました

491 :Name_Not_Found:2006/12/24(日) 16:40:12 ID:???
えっと、javascriptスキームはIE4.0から使用できるようになった
って「とほほ」が言ってるんですけど、これって根拠あるんです
か?教えてください。

492 :Name_Not_Found:2006/12/24(日) 20:14:12 ID:???
根拠ありますよ。

493 :Name_Not_Found:2006/12/24(日) 20:59:12 ID:???
>>491
「IE4で使用できる」なら間違いではないが
「IE4から使用できる」なら嘘。IE3以降。

494 :Name_Not_Found:2006/12/24(日) 21:12:33 ID:???
ということは「とほほ」の嘘がまた1つ追加てことか。

495 :Name_Not_Found:2006/12/24(日) 22:12:04 ID:???
a="alert('あ')"

で、変数aにある命令を実行する命令って何でしたっけ…?

496 :Name_Not_Found:2006/12/24(日) 22:15:25 ID:???
>>495
eval()でしょ。言っとくけど下手な文字列(ユーザから受け取った
ままのものとか)実行してセキュリティホールにならないようにね。

497 :491:2006/12/24(日) 22:15:53 ID:???
>>492-493
お答え有難うございます。「とほほ」のページは
ttp://www.tohoho-web.com/js/write.htm
の一番下の「URL記述」にあります。
それで、その根拠なのですが、javascriptスキームが働くように決めたの
は、どの機関ですか。私が習ったのは根拠がないスキームでおまじない以
下だということでした。これこれこういう公式の機関が決めたという情報
を知りたいです。

498 :Name_Not_Found:2006/12/24(日) 22:18:05 ID:???
>>496
あーそれそれ
ありがとうございました

自分用のブックマークレットだから大丈夫っす

499 :Name_Not_Found:2006/12/24(日) 22:34:29 ID:???
>>497
その通り、Netscapeとかが始めてMSIEが追従したから使えてる、
単なるおまじないなんだけど、それ言ったらinnerHTMLとかも
おまじないだから。JavaScriptで書いてる人たちにとっては
事実上の標準みたいなもんかな。

500 :Name_Not_Found:2006/12/24(日) 23:24:41 ID:???
ぐぐってみたらInternet-Draftが提案されているのが見つかった。
http://www.websitedev.de/ietf/draft-hoehrmann-javascript-ri-00.txt
http://www1.ietf.org/mail-archive/web/uri-review/current/msg00554.html

今は単なるNetscapeやMSIEの拡張に過ぎないけど、後付けで標準化しようとしている動き?

501 :Name_Not_Found:2006/12/24(日) 23:50:39 ID:???
今3.0で試してみたけど使えなかったよ

502 :Name_Not_Found:2006/12/25(月) 03:15:34 ID:???
>>497
http://devedge-temp.mozilla.org/library/manuals/2000/javascript/1.3/guide/advtopic.html#1004952

>>500
へえ、October 28, 2006付か。

>>501
MS自身が3.0 or laterと公言しているのに?
http://msdn.microsoft.com/workshop/networking/predefined/javascript.asp

503 :Name_Not_Found:2006/12/25(月) 12:39:28 ID:???
>>491
IE3なんて10年前のブラウザは真剣にどうでもいいのではないかな。

IE3では、javascript: を、アドレス欄では使えないが、href属性値なら使える(はず)。

また、現在の文法(具体的には、JScript3.0以降とJavaScript1.2以降)だと、
hoge: はただのラベルであり、javascript: などは特別扱いされているだけ、と看做す事もできる。

IE3は途中でJScript1.0からJScript2.0にアップしたから、当時はそれなりに混乱があった。
JScript2.0での追加で代表的なのは、Arrayとvoid。
だから、古い情報だと、function Array(...) {...} みたいな自前の配列があったり、
function doNothing() {;} みたいな自前のvoidがあったりする。

504 :Name_Not_Found:2006/12/25(月) 15:04:10 ID:???
>>503
真剣にどうでもいいと言いながら、なぜそこまで詳しいw

505 :Name_Not_Found:2006/12/25(月) 16:16:55 ID:CSOAFaun
割り込みすいません。
文字列のvar x='1,2,3';を配列にするにはどうすればいいんでしょうか?

506 :Name_Not_Found:2006/12/25(月) 16:25:08 ID:???
>>505
myArray = [x];

507 :Name_Not_Found:2006/12/25(月) 16:29:45 ID:???
>>505
ちなみに >>506 は配列myArrayを作ってその最初の要素として
文字列 '1,2,3' を格納している。それがアンタがやりたかった
ことかどうかは疑問だが、アンタがやりたかったことが違うのなら
正確な日本語で説明しろというつもりなんだろうな。

508 :505:2006/12/25(月) 16:29:56 ID:???
>>206さん
ありがとうございました。

509 :Name_Not_Found:2006/12/25(月) 16:32:26 ID:???
>>507
最初の要素?それじゃ配列じゃないだろw

510 :Name_Not_Found:2006/12/25(月) 17:38:00 ID:???
>>509
いや、1要素や0要素でも配列には違いないねえ。

511 :Name_Not_Found:2006/12/25(月) 20:03:07 ID:???
いや、それは配列とはいわ|えない。小学校の運動会で一人で列が作れたか?

512 :Name_Not_Found:2006/12/25(月) 20:31:33 ID:???
>>505
x.split(',');

513 :Name_Not_Found:2006/12/25(月) 20:33:38 ID:???
お客さんはもうお帰りになったようですよ

514 :Name_Not_Found:2006/12/25(月) 20:37:15 ID:???
>>505
eval( '[' + x + ']' );

ムニュー…

515 :Name_Not_Found:2006/12/25(月) 20:51:25 ID:???
>>511
じゃあ2要素の配列を作ったとするよね。
var a = [1, 2];
そこから1つ削除するよね。
a.pop();
その後のaは何型?
alert(typeof a);

516 :Name_Not_Found:2006/12/25(月) 23:11:43 ID:???
Mozilla系ブラウザでJavaScriptだけを使って現在表示中のページの全ソースや全文字列を新たな通信なしで取得する方法を知りませんか?探した限りでは無さそうでしたけど。IEならdocument.execCommand("SelectAll")と.getSelectionでできそうですね。

517 :Name_Not_Found:2006/12/25(月) 23:32:02 ID:???
bookmarkletで質問です
javascript:{var p='http://c-others.2ch.net/test/-/',l=location,m=(m=l.href.match(/^.+?¥.2ch¥.net¥/(¥w+¥/)(.*)/))?(l.href=p+(m[1]!='test/'?m[1]:((m=m[2].match(/¥/(¥w+¥/)(¥d+¥/)?([¥d¥-]*)/))?m[1]+m[2]+(m[3]?m[3]:'i'):''))):m;}
でpc用の2chのアドレスをc2chにするんですが
例) http://pc8.2ch.net/test/read.cgi/hp/1165051363/ →http://c-others.2ch.net/test/-/hp/1165051363/i
これを応用してべっかんこのアドレスをpcのにするにはどう書き替えればいいんでしょう?
したい) http://same.u.la/test/r.so/pc8.2ch.net/hp/1165051363/ →http://pc8.2ch.net/test/read.cgi/hp/1165051363/

518 :Name_Not_Found:2006/12/26(火) 00:17:09 ID:???
>>516
IE,Mozilla関係なく
document.firstChild.innerHTML
document.firstChild.textContent
じゃあかんの?

519 :Name_Not_Found:2006/12/26(火) 00:25:40 ID:???
>>> document.firstChild
[object DocumentType]

520 :Name_Not_Found:2006/12/26(火) 01:16:17 ID:???
>>519
確認してみたらfirstじゃなくlastやね orz

521 :Name_Not_Found:2006/12/26(火) 01:33:18 ID:???
>>520
最後にCommentがあったら?
何故document.documentElementとしないのか。

522 :Name_Not_Found:2006/12/26(火) 02:05:48 ID:???
iframeの高さを表示する内容によって変えたいのですがどうすればいいでしょうか?
検索して
<iframe src="〜" width="〜" height="〜"
onload="this.height=1;this.height=this.contentWindow.document.body.scrollHeight"></iframe>
というのを見つけたのですが表示するたびに画面が少しブレてしまうのでもっと違うやり方が無いかと思いまして。
よろしくお願いします。

523 :Name_Not_Found:2006/12/26(火) 02:24:03 ID:???
>>521
それは知りませんですた。
つかコメントの可能性に気付いた時に出てきた方法がgetElementsByTagNameとは修行不足を痛感してまつ orz

524 :Name_Not_Found:2006/12/26(火) 03:56:57 ID:???
window.scrollbars.visible=false;
などの各種バーを制御するのはNetScapeしかやっぱりできないですか?
トップページに使いたいのですが

525 :Name_Not_Found:2006/12/26(火) 04:17:27 ID:???
画像のロールオーバーが上手くいくにはどうすればいいのでしょうか?

window.onload=function(){
var imgs = document.getElementsByTagName("img");
for(var i=0; i<imgs.length; i++){
var img = imgs[i];
img.onmouseover = function(){
img.src = "pic/2.gif";
}
img.onmouseout = function(){
img.src = "pic/1.gif";
}
}
}

526 :Name_Not_Found:2006/12/26(火) 07:42:13 ID:???
document.addEventListener('mouseover', {
  get U() {return 'pic/1.gif';},
  get V() {return 'pic/2.gif';},
  u:null,
  findV:function (img) {
    if (img.getAttribute('src') == this.V) {this.u = img;return true;}
    return false;
  },
  handleEvent:function (e) {
    var t = e.target;
    var r = e.relatedTarget;
    if (r) {
      if (r.nodeName.toUpperCase() == 'IMG') r.setAttribute('src', this.U);
      if (t.nodeName.toUpperCase() == 'IMG') t.setAttribute('src', this.V);
    }
    else {
      if (Array.some(document.images, this.findV, this)) {
        if (t != this.u) {
          this.u.setAttribute('src', this.U);
          if (t.nodeName.toUpperCase() == 'IMG') t.setAttribute('src', this.V);
        }
        this.u = null;
      }
      else
        if (t.nodeName.toUpperCase() == 'IMG') t.setAttribute('src', this.V);
    }
  }
}, false);

527 :Name_Not_Found:2006/12/26(火) 15:39:33 ID:???
>>524
document.body.style.overflow="hidden";
document.body.style.overflow="auto";
document.body.style.overflow="scroll";
document.body.style.overflow="visible";

528 :Name_Not_Found:2006/12/26(火) 23:32:42 ID:???
質問。
http://hoge.com/index.htmlのどこかにある<a href="*">の「*」だけ取り出して変数に代入する。できますか?
いろいろ読みあさったんだけどなぁ。

529 :Name_Not_Found:2006/12/26(火) 23:36:46 ID:???
できます

530 :Name_Not_Found:2006/12/26(火) 23:45:28 ID:???
><a href="*">の「*」だけ取り出して
var a_tags=document.getElementsByTagName('a');
for(var i =0;i<a_tags.length;i++){
if(a_tags(i).href == '*'){
//やりたいことをここに書け。
}}

531 :Name_Not_Found:2006/12/27(水) 01:53:24 ID:???
タイムカウントして、0になったらサーバ側で用意している音(midi)を鳴らす、
みたいなことってJavaScriptだけで可能でしょうか?
midiは当然サーバ側に存在するのですが、
カウントはJavaScriptでクライアント側の処理になると思うので、
やはりAjaxを使わないとできないでしょうか?

532 :Name_Not_Found:2006/12/27(水) 03:20:33 ID:???
>>527
ありがとうございます

533 :Name_Not_Found:2006/12/27(水) 03:47:53 ID:???
>>531
可能です

534 :Name_Not_Found:2006/12/27(水) 16:51:09 ID:ufDUG8Zq
区のHPとかのソース見ると、簡単に書けるところをやたら変数多用して
複雑っぽく書いてます。あれは、JavaScriptを知らないのじゃなくて、
こんな短いコードで○○万円も取るのかといわれるのでわざとあんな風に
してるんですよね。

535 :Name_Not_Found:2006/12/27(水) 16:52:52 ID:???
>>534
>>2 (2)

536 :Name_Not_Found:2006/12/27(水) 17:31:31 ID:???
変数乱用が複雑っていうのが初心者っぽい考えだな。
変数がなんであるのかがわかってないだろ?

537 :Name_Not_Found:2006/12/27(水) 18:38:06 ID:???
>>534
ソース

538 :Name_Not_Found:2006/12/27(水) 19:06:08 ID:???
変数=変な数 //区役所のHPの場合

539 :522:2006/12/28(木) 01:30:48 ID:???
すみません、>>522に答えていただける方居ませんか?
お願いします。

540 :Name_Not_Found:2006/12/28(木) 02:17:44 ID:???
>>539
最低限の動くサンプル作ってくれないかな?

541 :Name_Not_Found:2006/12/28(木) 02:18:03 ID:???
>522
ブレるってのがどういう現象で
それでなんで困るのかがわからんから答えにくいのではないかと

フレームが一瞬だけ縮む事を言っているのなら
this.height=1;これのせいだろう常識的に考えて

542 :Name_Not_Found:2006/12/28(木) 03:01:27 ID:???
>>522
iframeで内容によって高さをフィットさせる方法はしらけど、適当なタグにsrc属性みたいなのを
実装すればいいんでない。

<div src="hoge.html"></div>

みたいな。

HTMLの全ノードのDIVオブジェクトからsrc属性があるかどうか判断してsrc属性があったら
それの値をURLとしてXMLhttpRequestでコンテンツを呼び出して、対象のDIVオブジェクトの
innerHTMLに受け取った内容を書き込めがiframeのフィット版が自分で作れるよ。

543 :Name_Not_Found:2006/12/28(木) 03:40:28 ID:???
>>542
JS以前に、HTMLとしてパースするわけだが、HTMLとして不正だな。

また、そういう「HTML要素の属性」と同じ、「DOM要素オブジェクトのプロパティ」を、
要素オブジェクト出現以前にCSSを利用して付けておく事は、JSで可能だ。
HTCまたはXBLを使う。
HTML要素の属性として、そういう未定義の属性を散乱させている人は
意外なほど沢山いるわけだが、HTCやXBLを知らないから、不正なマークアップをしているのだろう。

544 :Name_Not_Found:2006/12/28(木) 04:02:35 ID:???
というより、ずいぶん前からobject要素がある。object要素で>>522の要求が満たせるかどうかは確認してないけど

545 :Name_Not_Found:2006/12/28(木) 11:18:29 ID:???
<Body>
<iframe src="\\192.168.1.1\"></iframe>
</body>
みたいな感じでローカルの共有フォルダをインラインフレーム上に入れているのですが、
表示が「並べて表示」にしかなりません
デフォルトの表示を「一覧」にしたいのですが、する事は可能でしょうか?
Explorerのフォルダオプションやら、IEのオプションやらを変更してみたのですが、
変化はありませんでした。

何卒ご教授下さい。

546 :Name_Not_Found:2006/12/28(木) 11:19:22 ID:???
スレッド間違えました;;
流して下さい・・・すいません

547 :Name_Not_Found:2006/12/28(木) 11:51:06 ID:???
>>543
HTCや、XBLについて、概略のわかるサイト教えておくれ。興味がある。
こいつらを使うと、どういう御利益があるのかが、パッとわかるような啓蒙サイト。(無いかな?)

548 :Name_Not_Found:2006/12/28(木) 12:03:23 ID:???
んちゃあす。今年もあとわずかだね。
ところで、あるサイトでこんなのめっけたんだけど、これって意味あるの?
<a href="javascript:function voi(){};voi();">test-test</a>

意味ないすよね。void()の間違いかともおもったりしたけど、それでも同じ
だと思うし。よかったらコメント待ってますんで、よろよろ。

549 :Name_Not_Found:2006/12/28(木) 12:10:43 ID:???
質問の仕方がなってない。
書き直してからもう一度出直してきたら教えてやりますが。

550 :Name_Not_Found:2006/12/28(木) 13:10:05 ID:???
>>547
とりあえずHTCに関しては
ttp://www.microsoft.com/japan/msdn/workshop/author/behaviors/howto/creating.asp
XBLに関しては
ttp://developer.mozilla.org/ja/docs/XUL_Tutorial:Introduction_to_XBL
(XUL要素に関する内容だが当然HTML要素にも適用できる)
あたりをどうぞ。

ただ個人的には>>543の「HTCやXBLを知らないから、
不正なマークアップをしているのだろう」は違ってて、
単に対応ブラウザが少なく、今後それらの
ブラウザが対応する見込みも低いからだと思う。
手っ取り早くいうなら「Safariは?Operaは?」ということ。
sXBL/XBL2はまだ草案段階だし、それらを実装
するくらいならWHATWG Web Applicationsで
提案されてる機能のほうを先に実装するでしょ。

551 :550:2006/12/28(木) 13:19:28 ID:???
「それらのブラウザ」じゃなくて「未対応のブラウザ」ね。

大体Geckoの実装しているXBLからしてW3Cに
提出されたXBL 1.0 Noteとは微妙に異なってるし、
その後継がsXBLとXBL 2.0に分裂してることから
見てもここら辺は混乱しきってるというかなんと言うか。

552 :Name_Not_Found:2006/12/28(木) 13:24:43 ID:???
JavaScript2.0の迷走っぷりに比べればもうかわいいもんですよ

553 :Name_Not_Found:2006/12/28(木) 14:30:03 ID:???
>>550
おぉ、サンクス。読んでみるよ。
Operaで使えないんじゃ、ちょっと使えないかなぁ…。やっぱり。

554 :Name_Not_Found:2006/12/28(木) 15:21:37 ID:???
んちゃあす。今年もあとわずかだね。
ところで、あるサイトでこんなの見つけましたけど、これって意味あるのですか?
<a href="javascript:function voi(){};voi();">test-test</a>

意味ないですよね。void()の間違いかともおもったりしまたけど、それでも同じ
だと思いますし。よろしかったらコメント待ってますので、よろしくお願い申し上げます。

555 :Name_Not_Found:2006/12/28(木) 15:28:35 ID:???
>>554
voidが無いようなクソ古いブラウザにも対応するため。

556 :Name_Not_Found:2006/12/28(木) 15:33:09 ID:???
<html><head><title>test</title><script>
window.onload = function() {
var coverElement = document.createElement("div");
coverElement.style.position = "absolute";
coverElement.style.overflow = "auto";
coverElement.style.left = "0";
coverElement.style.top = "0";
coverElement.style.backgroundColor = "blue";
coverElement.style.width = "300px";
coverElement.style.height = "300px";
document.body.appendChild(coverElement);

var inputElement = document.createElement("input");
inputElement.type = "text";
inputElement.style.position = "relative";
document.body.appendChild(inputElement);
}
</script></head><body></body></html>

質問です。Firefox1.0.4で上記のHTMLを表示すると、
inputフィールドをクリックしてfocusしてもcaretが表示されません。
どうやらcoverElementのoverflowがautoもしくはscrollの場合に表示されないようです。
なんとかしてoverflow="auto"を維持したままcaretを表示したいのですが、
どうすればいいでしょうか。

557 :Name_Not_Found:2006/12/28(木) 16:02:50 ID:???
>>555 オッ
でも、これにonclickでreturn falseしても画面が開いちゃうんですよ。
意味ないんじゃないかと思ってます。どうなんでしょうか。

558 :Name_Not_Found:2006/12/28(木) 16:12:18 ID:???
>>557
環境とソース

559 :Name_Not_Found:2006/12/28(木) 16:14:33 ID:???
意味あるよ。

560 :Name_Not_Found:2006/12/28(木) 16:32:20 ID:???
>>556
ttps://bugzilla.mozilla.org/show_bug.cgi?id=287813
このバグだな。今のところ回避方法は無い模様。Fx1.5でも発生。
SpreadSheetとかMovableWindowとか作っている人には致命的だね。

561 :Name_Not_Found:2006/12/28(木) 18:51:52 ID:???
556です。調べて見たけれど、有用な回避方法は無いみたいですね。
試してみたらIFrameを作って、その中にinputフィールドを入れたらうまく行きました。
タブキーで移動しなくなるけど、とりあえずこの方法でなんとかします。

562 :Name_Not_Found:2006/12/28(木) 19:35:16 ID:???
すいません。JavaScript始めたんですが、rubyのこれをJavaScriptに直せま
せんorz....どなたか書き換えお願いできますか?
"1234567890".reverse.gsub(/\d\d\d(?=.)/, '\&,').reverse

563 :Name_Not_Found:2006/12/28(木) 19:38:12 ID:???
>>562
javascript カンマ でググれ

564 :562:2006/12/28(木) 19:43:44 ID:???
事故解決しました。?!\d*だったわけね。すんませんでした。

565 :Name_Not_Found:2006/12/28(木) 21:53:58 ID:OA63OV5l
いくつかのスタイルシートファイルを用意しておいて、それをユーザー
の選択に応じて切り替えるようにすることは可能でしょうか?
ユーザーがWebページ上のボタンをクリックしたらスタイルがポンと
変わるようにしたいんです。よろしくお願いします。

566 :Name_Not_Found:2006/12/28(木) 22:05:57 ID:???
叶です、ポンと変わるかは別として(いい意味で。

567 :565:2006/12/28(木) 22:34:36 ID:OA63OV5l
>>566
では、その方法を教えてくださいまし。

568 :Name_Not_Found:2006/12/29(金) 00:20:19 ID:???
狩野ですが、そういうことを思いついたという報告なのか?
自分でどれだけ調べたかを2,3分聞いてみたいものだ。

569 :Name_Not_Found:2006/12/29(金) 00:27:42 ID:???
>>567
LINKタグオブジェクトのsrcプロパティにスタイルシートのURLを代入してみ。

570 :565:2006/12/29(金) 01:21:22 ID:zo/MvyLg
>>569
サンクス。やさしい人。

571 :Name_Not_Found:2006/12/29(金) 03:20:38 ID:???
はじめまして。過去ログ等を読んだ上での質問なのです。

3000以下のランダムな数を隠し属性として出そうと思っています。
//以下安全に動くところ
m=Math.floor(Math.random()*10000);
n=3000;
if(n<=m){
document.write("<input type=\"hidden\" name=\"psearch\" value=\"",i,"\">");
}
//ここまで
です。このあと、elseでもう一度Math.random()を選びなおすよう誘導したいのですが、
continueを使用してもダメでした。誰か方法を教えていただけませんでしょうか?お願いします。


572 :571:2006/12/29(金) 03:21:36 ID:???
訂正です。
document.write("<input type=\"hidden\" name=\"psearch\" value=\"",i,"\">");

document.write("<input type=\"text\" name=\"psearch\" value=\"",m,"\">");

573 :Name_Not_Found:2006/12/29(金) 03:39:00 ID:???
m=Math.floor(Math.random()*3001); 
document.write("<input type=\"text\" name=\"psearch\" value=\""+m+"\">");

574 :571:2006/12/29(金) 03:52:55 ID:???
素早い回答ありがとうございました。
てっきりMath.random()には10の倍数しか入れてはいけないモノと勘違いしていました。
>>573様、ありがとうございました!

575 :Name_Not_Found:2006/12/29(金) 06:02:50 ID:???
>>569-570
(・∀・)ニヤニヤ

576 :Name_Not_Found:2006/12/29(金) 11:53:08 ID:G9wA6UUo
switch caseでの判別で引数に変数を使うのはよくないとのことですが、どうし
てでしょうか。動作が遅くなるとかなのかとも思いますが、ご教示ください。

577 :Name_Not_Found:2006/12/29(金) 12:11:13 ID:???
>576
よくわからないけど、どこの引数?

578 :Name_Not_Found:2006/12/29(金) 12:24:28 ID:???
>>576-577 大して変わらんようだよ(1割くらい?)。
だから必要なら変数使ってもいいのでは。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
</head><body>
<script type="text/javascript">
var a = [0,0,0,0,0], b = [0,0,0,0,0], i0 = 0, i1 = 1, i2 = 2, i3 = 3, i4 = 4;
var t1 = new Date().getTime();
for(var i = 0; i < 100000; ++i) {
switch(Math.floor(Math.random()*5)) {
case 0: ++a[0]; break; case 1: ++a[1]; break; case 2: ++a[2]; break;
case 3: ++a[3]; break; case 4: ++a[4]; break;
}
}
var t2 = new Date().getTime();
for(var i = 0; i < 100000; ++i) {
switch(Math.floor(Math.random()*5)) {
case i0: ++b[0]; break; case i1: ++b[1]; break; case i2: ++b[2]; break;
case i3: ++b[3]; break; case i4: ++b[4]; break;
}
}
var t3 = new Date().getTime();
document.write(a.join(' ') + ': ' + (t2-t1) + '<br>');
document.write(b.join(' ') + ': ' + (t3-t2) + '<br>');
</script>
</body></html>

579 :あbc:2006/12/29(金) 15:14:53 ID:EeIe1SrF
ツリーメニューで

親メニュー1
親メニュー2
親メニュー3 と並んでる時、どの親メニューをクリックしても子メニューが

親メニュー1
親メニュー2
親メニュー3
子メニュー  ←この位置にでるようにするにはどうしたらいいですか?

今はこんな状態です↓
ttp://www.geocities.jp/zsdfgyikujhgfk/abc.html

580 :Name_Not_Found:2006/12/29(金) 15:55:26 ID:???
>>579
マルチ乙

581 :あbc:2006/12/29(金) 16:48:27 ID:EeIe1SrF
>>580
投稿場所が違ったらしいのでここにやり直したのですけどやっぱりそれもマルチになるのですね;
すいません;

582 :Name_Not_Found:2006/12/29(金) 17:53:12 ID:???
間違った場所の方で「場所が違ったので取り消します、どこそこへ
行って質問し直します」と言えばマルチでなくなるのでは。

583 :Name_Not_Found:2006/12/29(金) 19:12:28 ID:???
>>581
場所はその手のBBSだから合ってるんじゃ?
ここの青木さんでは?書き方も他人とは思えないし。
ttp://www.tagindex.com/cgi-lib/q1bbs/patio.cgi?mode=view&no=2825

584 :Name_Not_Found:2006/12/30(土) 00:01:27 ID:???
いつからマルチを非難する脳足りんが迷い込んだんだ?
ここは昔のfjとかじゃねえんだぞ!!
暇つぶしになりそうなら法律に触れない範囲で何でも持って来い。

585 :Name_Not_Found:2006/12/30(土) 00:38:18 ID:???
法律が何だ!

586 :Name_Not_Found:2006/12/30(土) 00:41:24 ID:???
ププfjだって古いね。マルチな質問が嫌われるのは2ちゃんの常識だろ。
このスレは50スレ以上続いているけどマルチ擁護なヤシは始めてだな。
過去スレ全集検索してみ。ともかく洩れはマルチに回答する気はないから。
なんならテンプレ入れるかね(しかし今更だね…)

587 :Name_Not_Found:2006/12/30(土) 00:43:04 ID:???
javascript描画機能皆無みたいだけど無理やり線を引くにはどうしたら良いですか?


588 :Name_Not_Found:2006/12/30(土) 00:52:25 ID:???
>>587
過去スレで数回出た話題だから。過去スレ全集検索しろボケ!

589 :Name_Not_Found:2006/12/30(土) 01:08:06 ID:???
>>588既出の方法では斜めに引けないようですが

590 :Name_Not_Found:2006/12/30(土) 01:08:17 ID:???
>>587
border。 SVGなんてのも、あるにはあるが…
divとかでも書けるな。

591 :Name_Not_Found:2006/12/30(土) 01:20:54 ID:???
>>590
SVGでもできるみたいですがなるべくプラグインは使いたくないです。

592 :Name_Not_Found:2006/12/30(土) 01:37:00 ID:???
>>591
手っ取り早いのは、borderで書く。ただし限定条件がいっぱいある。
任意の2点間を結ぶ線が書けるが、厳密に言うと、色の境界線としてだ。
上border と 左border に違う色を指定してやれば、直線が書ける(象限がちがうなら別のboreder使う)。
これは、簡単だが、他の状況を如何に作るか(色あわせ)が大変。

div使うのは、1px × 1px のdivを大量に並べる。全部座標を計算しなきゃならん。

tableつかってもできる。1px X 1px のtdを大量に並べる。背景で線が書ける。馬鹿でかいとえらい事になるだろう。
固定的な線なら、こっちの方が単純かも。(そうでもないか…)

593 :Name_Not_Found:2006/12/30(土) 02:05:08 ID:???
>>587
なぜcanvasを使わない?

594 :Name_Not_Found:2006/12/30(土) 02:24:04 ID:???
>>593
たまにはクロスブラウザって言葉を思い出してやってください

595 :Name_Not_Found:2006/12/30(土) 09:24:37 ID:???
>>591-594
SVGだったらFFx、Mozで動くW3C標準だからIEでは少し不便
ということで無問題と洩れは思っているけどね。過去ログに
サンプルプログラムが載っているのは1x1のdivを沢山並べる方法。

596 :Name_Not_Found:2006/12/30(土) 12:05:49 ID:???
1x1 div で線引くなんて、どうがんばっても迷惑スクリプトだから。
もう、SVGとVMLと<canvas>だけでやめといていいだろ。

597 :Name_Not_Found:2006/12/30(土) 12:08:18 ID:???
「コミックスクリプト」の改造です。オリジナル→tp://tamadesu.pekori.to/comic/script.htm
function routineの部分に改造を加えて以下のようにしました。
オリジナルでは現在表示中のページの前後にページがあろうがなかろうが、NEXTボタンが表示されますが、
そのNEXTボタンを、連載中の最終ページの時は「つづく」完結したら「おわり」に変えるようにしました。
ここまでは普通に動作しています。
これにもう一つ加えて、本文終了後、後書きがあったら、「つづく」ではなく「あとがきへ」というボタンに
変えるようにしたいのですが、うまく動作しませんでした。
どこか間違っているでしょうか。

動作不能環境としてMACネスケ4があります(6ならOK)
動作確認はWINDOWS+IE6とSleipnir2(Gecko)で確認しています。

598 :597:2006/12/30(土) 12:10:07 ID:uN+ydBMj
function routine()
{
//UP中の最後のページなら「つづく」。
if(Num==MaxPage){
if(!Num==EndPage){
document.NEXT.src="../cont.gif";
}
}else{
//ただし最終回だったら「終わり」。
document.NEXT.src="../end.gif";
}
document.myImage.src=Num+Type;
document.PVIEW.src=Num3+Type3;
document.BACK.src="../back.gif";
}else if(Num==1){
//先頭ページを表示したら、前へボタンは隠す
document.myImage.src=Num+Type;
document.VIEW.src=Num2+Type2;
//以下の画像は透明1ピクセル。これでボタンを隠してます。
document.BACK.src="../dumy.gif";
}else{
//先頭でも最後でもない時は全部表示。
document.myImage.src=Num+Type;
document.VIEW.src=Num2+Type2;
document.PVIEW.src=Num3+Type3;
document.BACK.src="../back.gif";
}
}

599 :597:2006/12/30(土) 12:11:43 ID:???
改造したのがこちら。エラーは出ませんが、「あとがき」表示がされません。
function routine()
{
//UP中の最後のページなら「つづく」。
if(Num==MaxPage){
if(!Num==EndPage){
if(ATG==1){
EP2=EndPage-1;
if(Num==EP2){document.NEXT.src="../after.gif";
}else{document.NEXT.src="../cont.gif";}
}else{
document.NEXT.src="../cont.gif";
}

}else{
//ただし最終回だったら「終わり」。
(以下省略)

600 :597:2006/12/30(土) 12:15:56 ID:???
オリジナルのスクリプトにない変数について補足。
オリジナルには
EndPage
ATG
以上の変数がありません。以上の変数は、コミック表示HTMLの方に設定が
あります。EndPageは最終ページは何ページかを書きます。ATGは後書きの有無を
0か1で書きます。1なら後書きありです。

・・・書いてから気づいてしまったのですが、もう一つ。
ボタン表示部分にある変数Typeシリーズもオリジナルにはありませんでした。
申し訳ありません、その部分は+以下;までをさくっと無視してください。

601 :Name_Not_Found:2006/12/30(土) 12:24:40 ID:???
>>588-596
SVGとVMLと<canvas>で挑戦してみます。ありがとうございました。

602 :Name_Not_Found:2006/12/30(土) 13:42:51 ID:???
>>601
ttp://nanto.asablo.jp/blog/2005/09/27/89628
せめて標準で斜め線描けりゃねぇ…。

603 :Name_Not_Found:2006/12/30(土) 14:16:03 ID:???
今後、描画機能はなにが標準になっていくんでしょうかね。

604 :Name_Not_Found:2006/12/30(土) 14:28:11 ID:???
IEがcanvas/SVGを実装するとは思えないし、SVGプラグインもadobeがやめそうだし…
実用上はFlash/PDFで問題ないんだけどめんどくさいよね。
swf,pdfをXULみたいな表記から簡単に動的生成できないものか…。

605 :Name_Not_Found:2006/12/30(土) 16:29:37 ID:???
よく
function : hoge(){//}
ってコード見るんやけどこのコロンって何なん?ググってもわからへんわ。

606 :Name_Not_Found:2006/12/30(土) 18:29:42 ID:???
ちゃんと見てない気がするのでまず JSON でぐぐれ。

607 :Name_Not_Found:2006/12/30(土) 19:15:01 ID:???
オブジェクトリテラルでググったほうがいいかと。
JSONに関数リテラルは含められないし、
プロパティ名も文字列として記述しないといけないから。

608 :Name_Not_Found:2006/12/30(土) 19:37:36 ID:OgYT9AoB
function changed(Value,Rec){
Rec.value += Value+"\n";
}

<select size="8" name="select" onchange="changed(this[this.selectedIndex].text,report);">
<option>項目1
<option>項目2
<option>項目3
</select>
<textarea name="report" cols="50" rows="8" wrap="soft" readonly></textarea>
<input type="button" value="打込" onclick="changed(select.options[select.selectedIndex].text,report);">
<input type="button" value="全消" onclick="report.value='';">

テキストエリア選択項目を変更した時と、打込ボタンを押した時に
reportに選択した項目のテキストが書き込まれるようにしたいのですが、
打込ボタンを押した時は「Nullまたはオブジェクトではありません」とエラーを出してしまいます。

changed内の指定が原因なのだと思うのですが、打込ボタンのonclickはどう指定すればよいのでしょうか。

609 :Name_Not_Found:2006/12/30(土) 19:55:46 ID:???
this.form.select

610 :Name_Not_Found:2006/12/31(日) 12:52:14 ID:???
遅ればせながら
線分描画なら以下が参考になる
http://homepage2.nifty.com/m_kamada/di200509.htm#17
http://homepage2.nifty.com/m_kamada/di200509.htm#16
http://homepage2.nifty.com/m_kamada/di200512.htm#21

>>593-594
IEならvml、Fxならcanvasで十分だと思うけれど、質問者が環境を指定していないのが悪い

611 :Name_Not_Found:2006/12/31(日) 13:25:28 ID:???
VMLの網羅的でないというかステップバイステップでわかるサイトとかページってないかね。
規格からあたるの面倒すぎる。

612 :Name_Not_Found:2006/12/31(日) 21:24:31 ID:hqkQc2pG
css overflow=scroll
の状態で、ユーザーがどれだけ→や↓にスクロールしてるかを取得する方法はありますか?

613 :Name_Not_Found:2006/12/31(日) 21:25:14 ID:hqkQc2pG
css overflow=scroll
の状態で、ユーザーがどれだけ→や↓にスクロールしてるかを取得する方法はありますか?

614 :Name_Not_Found:2006/12/31(日) 21:25:43 ID:???
重複ごめんなさい

615 :Name_Not_Found:2006/12/31(日) 21:37:40 ID:???
ボタンに画像とテキストを付けるのはどうなんでしょう

616 :Name_Not_Found:2007/01/01(月) 15:10:46 ID:b2qYOTm9
ホームページ上に表を縦横に並べ
エクセルのようにソート(検索?▽←こんなの)しその表の列と一緒に横の行を指定して並べ替えるスクリプトのやり方を教えてください。

下手な説明ですがお願いします。

617 :Name_Not_Found:2007/01/01(月) 15:58:30 ID:Mw/MxfOg
Ajaxチャットを作りたいのですが、
参考にさせていただいてるソースを見ると、
どれもクライアントの時間をとっているので、
時間に誤差が生じてしまう恐れがあります。
そこで現在時刻を正確に、
もしくはサーバの時間をとって統一したいのですが、
そんなことできますでしょうか?
もしできるならどのようにやるか教えてください。

618 :Name_Not_Found:2007/01/01(月) 16:53:44 ID:???
>>612
.scrollTop, .scrollLeft

>>615
いいんでない?

>>616
Bookmarkletでも探して読め

>>617
鯖がタイムスタンプつけて返せばいいだけ

619 :Name_Not_Found:2007/01/01(月) 17:10:33 ID:???
>>616
http://www2u.biglobe.ne.jp/~oz-07ams/prog/dom-notes/sort_rows.html

620 :Name_Not_Found:2007/01/01(月) 19:03:27 ID:b2qYOTm9
>>618-619
ありがとうございました、今から熟読してきます。

621 :Name_Not_Found:2007/01/02(火) 00:46:46 ID:???
>>618
それだとページ全体になってしまいます。

622 :Name_Not_Found:2007/01/02(火) 03:11:31 ID:???
よく調べてみ

623 :Name_Not_Found:2007/01/03(水) 03:24:41 ID:jE0/hyPk
<html>
<head>
<title>JavaScript Sample</title>
<script type="text/javascript" src="test.js">
</script>
</head>
<body>
:
<input type="button" value="OK" onclick="ohayou()">
:
</body>
</html>

と入力し保存すると</head>の前部分に
<base href="http://.geocitiesと出てくるのですが
これはなんなのでしょうか?

ただ表示されるだけならいいのですが入力したjsの動作自体が
しなくなってしまうので何かわかりましたら対処法を教えてくださいお願いします。

624 :Name_Not_Found:2007/01/03(水) 09:55:12 ID:???
>>623
その「test.js」の内容を見ないで答えられる奴なんかいないだろ。
こちらこそ「なんなのでしょうか?」だね。

625 :Name_Not_Found:2007/01/03(水) 10:19:54 ID:???
>>623
ジオシティをやめる。

626 :Name_Not_Found:2007/01/03(水) 13:10:57 ID:???
srcに絶対パス入れるとか

627 :Name_Not_Found:2007/01/03(水) 14:03:35 ID:jE0/hyPk
test.jsの内容です
function ohayou() { window.alert("Hello!");}

628 :Name_Not_Found:2007/01/03(水) 14:09:58 ID:???
>>627
>>626

629 :Name_Not_Found:2007/01/03(水) 14:11:30 ID:???
おいおい本当にテストな内容だなコリャ
まあ>>626にするか、外部じゃなくHTML内に記述するか、geocitiesをやめる

630 :Name_Not_Found:2007/01/03(水) 16:07:28 ID:jVAU59sy
このURL先のリファレンスにやりたいことがあるんですけど、
これだと、セレクトメニューの項目がそれぞればらばらだと対応できません。
どこをいじれば項目数がランダムな数値でも正常な動作を実行できますでしょうか?
ttp://www.openspc2.org/reibun/javascript/form_selectmenu/016/index.html

631 :Name_Not_Found:2007/01/03(水) 20:19:26 ID:???
itemNumに実行するたびに配列のlengthを代入する。
要は関数内で取得すればいい。

632 :Name_Not_Found:2007/01/03(水) 21:26:22 ID:???
あの、子ノードを作成する方法は分かるのですが、
親ノードを作成する方法は無いでしょうか。
例えば
<p>こんにちは</p>
というデータがあったら、<div>の親ノードを作成して
<div><p>こんにちは</p></div>
としたいのですが。
innerHTMLでデータを挿入した時にonclick等が機能しなくなるので、元データを移動させずに
思ったようなHTMLを作成したいのです。

633 :Name_Not_Found:2007/01/03(水) 21:32:04 ID:???
親要素に子要素にしたいノードのcloneを入れ、
replaceChildで子要素と親要素を入れ替えるとか

634 :Name_Not_Found:2007/01/03(水) 21:46:58 ID:???
>>632
<script>
function x() {
var myParagraph = document.getElementById("myParagraph");
var myParent = document.createElement("DIV");
myParent.appendChild(myParagraph.cloneNode(true));
myParagraph.parentNode.replaceChild(myParent,myParagraph);
}
</script>

<style>
div,p{border:solid 1px;}
div{border-color:red;margin:3px;}
p{border-color:blue}
</style>

<p id="myParagraph">こんにちは</p>
<input type="button" onclick="x()" value="x()">


635 :Name_Not_Found:2007/01/03(水) 21:49:46 ID:???
>>632
DOM-Level-2-Traversal-Range なら、surroundContents()
IE なら、applyElement()

636 :Name_Not_Found:2007/01/03(水) 22:21:30 ID:???
> onclick等が機能しなくなるので、

と言っているのだから、cloneNode() を使おうとはしないよ、ふつう。
まあ、操作前と操作後のHTMLソースを書くだけでいいのに、ごちゃごちゃ紛らわしい説明に終始する>>632が良くないのだが。

637 :Name_Not_Found:2007/01/04(木) 00:31:06 ID:???
マルチモニターで4台田の字に1280*1024モニタを設置しています。
4画面分大のウィンドウを開くリンクを考えていますが、Y軸の数字はどのようにすればよいでしょうか。

top=0にすると、3の左上からウィンドウが開いてしまいます。


1|2
-----
3|4


function disp(url){

window.open(url, "window_name", "width=2550,height=2040,scrollbars=no,left=0,top=0");

}


638 :Name_Not_Found:2007/01/04(木) 03:04:43 ID:+TLVM4qC
function sortRows5 ( section, index, cmpfn, getfn ) {
var x=new Array, rows=section.rows, N=rows.length;
var marker = document.createElement('tbody');
cmpfn = cmpfn || arguments.callee.compareFunc;
getfn = getfn || arguments.callee.getFunc
|| function(cell){return cell.nodeName;};
for(var i=0; i<N; i++)
x[i] = Object( getfn( rows[i].cells[index] ) ), x[i].row=rows[i];
if ( cmpfn ) x.sort( cmpfn ); else x.sort();
section.parentNode.replaceChild( marker, section );
for (var i=0; i<N; i++ ) section.appendChild(x[i].row);
marker.parentNode.replaceChild( section, marker );}
この文書をHTMLでリンクさせるときに必要な命令文はなんでしょうか?
よろしくお願いします。

639 :Name_Not_Found:2007/01/04(木) 06:53:15 ID:???
>>633-635
返信ありがとうございます。
さっそく教えていただいた方法で試してみます 。
機能しましたらまたご報告に伺います。m(_ _)m


640 :Name_Not_Found:2007/01/04(木) 10:15:17 ID:???
>>638
質問の意味が分かりません。

641 :Name_Not_Found:2007/01/04(木) 13:54:31 ID:???
IEでCTRL+Nで新規ウインドウを開くのをを禁止したいのですが、
どうすればよろしいのでしょうか?

642 :Name_Not_Found:2007/01/04(木) 14:16:33 ID:???
Nキーをむしる

643 :Name_Not_Found:2007/01/04(木) 15:34:57 ID:???
>>641
ユーザが使用しているブラウザを判定してIEならクラッシュさせる。

644 :639:2007/01/04(木) 22:05:24 ID:???
function createBrock(id,newid,cl) {

var myParagraph = document.getElementById(id);
var myParent = document.createElement("DIV");
myParent.setAttribute('id', newid);
myParent.setAttribute('className', cl);
myParent.appendChild(myParagraph.cloneNode(true));
myParagraph.parentNode.replaceChild(myParent,myParagraph);

}

教えていただいた方法でなんとか望みとおりのことができそうです。
本当にありがとうございました。
とりあえず関数としてまとめてみました。

createBrock(対象ブロック要素のID,新しい親ブロック要素のID,新しい親ブロック要素のCSSクラス名);

645 :Name_Not_Found:2007/01/04(木) 23:14:54 ID:???
block...

646 :Name_Not_Found:2007/01/04(木) 23:22:40 ID:???
>>644
myParent.setAttribute('className', cl);

myParent.className = cl;
としたほうがいい。
そのままだとIEでしか動かないから。

647 :639:2007/01/04(木) 23:35:25 ID:???
>>639
ご指摘ありがとうございます。大変勉強になります。
ときに、以上の関数でHTMLタグ(特にDIV)の削減には成功したのですが、
googleアドセンスをブロック要素に含むとアドセンスが壊れるため、実用には至りませんでしたσ(^_^;)
今回の自分のサイトの現在のレイアウトにはフィットしませんでしたが、
上の関数を元に回せば、レイアウト要素をHTMLでじかに書かずとも、javascriptで処理できそうですねo(^-^ o )(o ^-^)o
いつか活躍してくれそうです。
それでは失礼します。

648 :Name_Not_Found:2007/01/05(金) 10:31:45 ID:AxgNt3rG ?2BP(1)
formタグを使わずに
JavaScriptのみで特定のURLへ値をPOSTで渡したいのですが
どういった手法で可能なのでしょうか?

GET渡しは容易に出来るのですが
1024バイト超えのデータを渡す事になったので
GET渡しが出来ません・・

どうかお知恵をお貸しください。

649 :Name_Not_Found:2007/01/05(金) 12:18:54 ID:???
何に使うの?

650 :Name_Not_Found:2007/01/05(金) 12:29:14 ID:???
>>648
iframeを生成してその中にJSでformを書き出し、それをPOSTする。

651 :648:2007/01/05(金) 12:30:09 ID:??? ?2BP(1)
>>649
簡単なアクセスカウンタです。
今までは<img src="http://hogehoge/hoge.php?hoge=*********">の様な形で
GETで値を渡してました。
でも、渡すデータが多くなったのでPOSTで渡せないかと思ったのですが
formタグを使ってsubmit()等を使うとページが移動しちゃうんで
どうにかこっそりPOSTで渡せないかと思ってます。

652 :Name_Not_Found:2007/01/05(金) 12:46:45 ID:???
>>651
formを使ってもページ移動しない方法ならいくらでもあるが。
その方法は質問しても解答しないよ、過去スレ検索すればあるでしょ。

653 :Name_Not_Found:2007/01/05(金) 14:07:13 ID:???
>>651
XMLHttpRequest

>>652
うざい。

654 :648:2007/01/05(金) 14:38:23 ID:??? ?2BP(1)
>>651
XMLHttpRequest を使用しAjaxっぽくして通信しようとも考えたのですが
この http://hogehoge/hoge.php はスクリプトを置くサーバとは
別の外部のサーバなのでブラウザの制限にひっかかっちゃうんですよ・・


655 :Name_Not_Found:2007/01/05(金) 14:55:55 ID:???
>>654
どう考えてもユーザに黙って情報を送る悪質スクリプトにしか使い道ないだろ
652の言うとおり、方法はあるが、絶対に教えるわけにはいかない

>>1
> このスレに書き込むことが許されるものは以下のとおり
> ・ユーザーに迷惑となるスクリプトを書かない者
とあるから、スレ違いです。別のスレで聞いてください。

656 :Name_Not_Found:2007/01/05(金) 15:11:20 ID:???
まぁそういう需要があるのは確かだしやりたいこともままあるが、
悪質スクリプトに簡単に転用できてしまうという点で×だな。

657 :648:2007/01/05(金) 15:15:29 ID:??? ?2BP(1)
>>655
確かに希望する方法のソースを書いてしまうと
悪用する輩が出そうですね・・・
自分が複数サーバを扱ってるので、一つのサーバであるデータの収集が
出来ないかなと思っていたので聞いてみました。
分かりました、自力で何とかしてみます。

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

658 :Name_Not_Found:2007/01/05(金) 15:56:54 ID:???
>>657
サーバで中継すれば?

659 :Name_Not_Found:2007/01/05(金) 16:02:44 ID:???
こんなことで悪質と言うのはおかしいですよ。
ごく普通の使い方です。
たぶん、こんなことさえできないのに偉そうに回答者やっているのでしょうね。

660 :Name_Not_Found:2007/01/05(金) 16:23:11 ID:???
で、それはどの質問に対する回答なんだ?

661 :Name_Not_Found:2007/01/05(金) 16:49:26 ID:???
変数の参照をPHPのようにスマートに行う方法はありますか?

662 :Name_Not_Found:2007/01/05(金) 17:05:01 ID:???
PHPつかっとけ

663 :Name_Not_Found:2007/01/05(金) 18:10:26 ID:???
>>659
ならお前が教えろwwww

664 :Name_Not_Found:2007/01/05(金) 18:22:55 ID:???
「PHPのようにスマート」の定義が分からんな。

665 :Name_Not_Found:2007/01/05(金) 19:36:22 ID:???
全然話が違うが、PHPに学ぶ点があるとすれば、
> Note:  If you use array_push() to add one element to the array
> it's better to use $array[] =  because in that way
> there is no overhead of calling a function.
の注意書きを、結構、皆が守っているところだろうな。
ここ数年(具体的にはJScript5.5以降が当たり前となった2002年頃)
においては、Array#push() が無意味に使われ始めた。
そういう無意味なpush使用者が、速度がどうこう、と能書きを垂れていたら、苦笑させられる。

666 :Name_Not_Found:2007/01/05(金) 20:39:24 ID:???
そもそも速度が問題になる状況なんて限られている。
通常は人間が読んで分かりやすい方を選ぶべきだと思うね。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
</head><body>
<pre><script type="text/javascript">
var a = new Array(), b = new Array();
var t1 = new Date().getTime();
for(var i = 0; i < 100000; ++i) a.push(i);
var t2 = new Date().getTime();
for(var i = 0; i < 100000; ++i) b[b.length] = i;
var t3 = new Date().getTime();
document.writeln('a: ' + (t2-t1));
document.writeln('b: ' + (t3-t2));
</script></pre>
</body></html>
手もとのMozだと差は3割くらいだった。

667 :Name_Not_Found:2007/01/05(金) 20:43:14 ID:???
ほー、思ったより差があるもんだな。

668 :Name_Not_Found:2007/01/05(金) 20:47:34 ID:???
a: 875
b: 906

669 :Name_Not_Found:2007/01/05(金) 20:48:04 ID:???
そもそも1万も10万も追加するのなら最初に大きさを設定してから
そこまで普通に代入するべきでしょ。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
</head><body>
<pre><script type="text/javascript">
var a = new Array(), b = new Array();
var t1 = new Date().getTime();
for(var i = 0; i < 100000; ++i) a[a.length] = i;
var t2 = new Date().getTime();
b.length = 100000;
for(var i = 0; i < 100000; ++i) b[i] = i;
var t3 = new Date().getTime();
document.writeln('a: ' + (t2-t1));
document.writeln('b: ' + (t3-t2));
</script></pre>
</body></html>

670 :Name_Not_Found:2007/01/05(金) 21:46:06 ID:???
ajax使って受け取ったxmlをdomで解析してるんですが
<status>clear</status>
このclearっていう値を得るための関数がこれ

function getStatus(doc){
 var obj = doc.getElementsByTagName('status');
 if( obj && obj[0]){
  return obj[0].textContent ? obj[0].textContent : obj[0].firstChild.text;
 }
 return null;
}

IEだと textContent で取得できなかったんで、 firstChild.text で取得してるんですが
同じメソッド使って取得する方法ってありますか

671 :Name_Not_Found:2007/01/05(金) 22:48:26 ID:???
nodeValue

672 :Name_Not_Found:2007/01/05(金) 23:39:10 ID:???
あ、できた
なんか初歩的なことだったみたいだ
ありがとう

673 :Name_Not_Found:2007/01/05(金) 23:45:22 ID:???
>>666
>通常は人間が読んで分かりやすい方を選ぶべき
はっきり言って、a[i] = であろうが、a[a.length] = であろうが、a.push( ) であろうが、分かり易さに差は「全く」無い。
もし、どれかを分かり難いと思うようなら、その人はC系のプログラムを始めて数時間の超初心者だろう。

674 :Name_Not_Found:2007/01/06(土) 00:04:42 ID:???
分かりやすさに差がないと思う方が素人だと「洩れは」思うね。
push()なら「追加する」以外の意図はないのに対して代入なら
「書き換える」方が普通だし。でもまあ思う思わないなんて
そんなの水掛け論だしな。洩れは自分でいいと思う方を
使うだけ。それでご不満ならそういう研究論文でも挙げてみ。

675 :Name_Not_Found:2007/01/06(土) 00:05:47 ID:???
a[a.length]を一般的に使う言語って何なの

676 :Name_Not_Found:2007/01/06(土) 00:12:41 ID:???
配列を改行で整形するときはコンマは行頭派?行末派?


var hoge = new Array(
"〜長い〜"
,"〜長い〜"
,"〜〜"
,"〜〜"
,"〜〜"
);


var hoge = new Array(
"〜〜",
"〜〜",
"〜〜",
"〜〜",
"〜〜"
);


677 :Name_Not_Found:2007/01/06(土) 00:20:06 ID:???
>>676
var a = [
'xxxx',
'yyyy',
'zzzz', // ここもカンマあってよい
];
なんていうのもあるよ。

678 :Name_Not_Found:2007/01/06(土) 00:35:53 ID:???
>>677
言語仕様を完全に理解しているのが前提のコードは好きじゃないな。
PHPはどうだっけ、Javaは、VBは、とか全部覚えてられないし。

679 :676:2007/01/06(土) 00:36:54 ID:???
>>677
うおっまじだ。
CかPerlだけだと思ってた。
絶対構文エラーになると思ってやろうとしてなかった。

680 :Name_Not_Found:2007/01/06(土) 00:50:08 ID:xvCnH4wG
http://allabout.co.jp/internet/javascript/closeup/CU20060530A/index.htm
↑の動的ロードの箇所を増やすとうまくいかないのはなぜ?

681 :Name_Not_Found:2007/01/06(土) 01:06:22 ID:xvCnH4wG
var data=[
["AAA" ,
[
["_open"],
["BBBB",[["_load",{"method":"GET","url":"data1.txt"}]]],
["CCCC" ,[["_load",{"method":"GET","url":"data1.txt"}]]],
]
]
]

この構文でエラーはありますかー?

682 :Name_Not_Found:2007/01/06(土) 01:26:16 ID:???
>>680
マルチポストするから。

683 :Name_Not_Found:2007/01/06(土) 02:13:51 ID:???
>>677
IEじゃ、通らないと思ったが。

684 :Name_Not_Found:2007/01/06(土) 02:25:07 ID:esJdtWOR
<html><head><title>データをソートして表示する【データバインド】</title>
<script language="JavaScript"><!--function sortData(sType){
myDatabase.sort = sType;
myDatabase.reset();
}// --></script></head><body>
<object id="myDatabase" classid="CLSID:333C7BC4-460F-11D0-BC04-0080C7055A83">
<param name="DataURL" value="data.csv">
<param name="UseHeader" value="true">
</object><table datasrc="#myDatabase" border="1" bordercolor="black">
<thead><tr><th>ID</th><th>ユーザー名</th><th>年齢</th></tr>
</thead><tbody><tr>
<td align="right"><span datafld="ID" ></span></td>
<td align="left" ><span datafld="UserName"></span></td>
<td align="right"><span datafld="Age" ></span></td>
</tr>
</tbody></table><br>
<a href="#" onClick='sortData("+Age")'>若者順</a><br>
<a href="#" onClick='sortData("-Age")'>年寄順</a><br>
<a href="#" onClick='sortData("+ID")' >ID順</a><br>
</body></html>

ID:INT,UserName,Age:INT
1,"青柳 正義",33
2,"赤沼 孝子",28
3,"鹿沼 啓介",19
4,"久留米 宏",48
5,"山西 規夫",25
6,"大和 栄子",77

上記文書に下段CSV形式のものをリンクさせてソートできるようにしたいのですが
myDatabase.csvのファイルでアップデートしてもリンクしてくれません。何か問題あるところがありましたら教えてくださいお願いします。

685 :Name_Not_Found:2007/01/06(土) 12:39:43 ID:???
<script language="JavaScript"><!--function sortData(sType){

ここです

686 :Name_Not_Found:2007/01/06(土) 14:31:20 ID:esJdtWOR
>>685
すみませんがその部分がどのように問題なのでしょうか?

687 :Name_Not_Found:2007/01/06(土) 14:52:38 ID:???
>>684
「myDatabase.csv」じゃなくて「data.csv」


688 :Name_Not_Found:2007/01/06(土) 15:36:07 ID:???
>>684
<!-- 以降はコメント扱い

689 :Name_Not_Found:2007/01/06(土) 16:11:33 ID:???
>>688はHTMLのコメント。
JavaScriptでは <! 以降がコメント扱い。

690 :Name_Not_Found:2007/01/06(土) 17:00:54 ID:???
>>689
それ本当?
Firefox 2で<!だけの行を含むJavaScriptを
読み込むとシンタックスエラーになるんだが。

少なくともJavaScript 1.5以下/JScriptでは<!--以降がコメント扱い。

691 :Name_Not_Found:2007/01/06(土) 17:12:47 ID:???
Firefoxの場合は688が正解だったはず。
<!-- と --> は // に置き換えられていたような。
ソース見れば一発解決だけどね。

692 :Name_Not_Found:2007/01/06(土) 17:14:17 ID:???
>>686
要するに改行とかすればいいのだと

<script language="JavaScript"><!--
function sortData(sType){

693 :Name_Not_Found:2007/01/06(土) 17:31:55 ID:???
_____
  ||// ∧_∧|∧_∧
  ||/  ( ´・ω・)(    ) うんこくさい…
  ||   (    )|(  ● )
    ̄ ̄ ̄ ̄ ̄ u―u'

   _____
  ||// ∧_∧|∧_∧
  ||/  (n´・ω・)n   ) でもうんこついてない…
  ||   (ソ  丿|ヽ ● )
    ̄ ̄ ̄ ̄ ̄ u―u'

   _____
  ||// ∧_∧|∧_∧
  ||/ r(    (n´・ω・`n) うんこついてないのにうんこくさい…
  ||  ヽ  ● )|(     )
    ̄ ̄ ̄ ̄ ̄ u―u'

694 :Name_Not_Found:2007/01/06(土) 18:42:09 ID:esJdtWOR
>>692
いえあれは改行数が多過ぎて書き込めなかったので
多少削除してます。説明不足で失礼しました

695 :Name_Not_Found:2007/01/06(土) 18:47:21 ID:???
>>694
いやお前、まだ言葉足らずだよ
問題は解決したのか?
実際は>>684のじゃなく改行済のスクリプトで、それで問題が発生してるのか?
>>687のレスは見たか?

696 :Name_Not_Found:2007/01/06(土) 19:24:40 ID:???
>>695
えらそーに
氏ね馬鹿

697 :Name_Not_Found:2007/01/06(土) 22:32:08 ID:esJdtWOR
>>695
<!--や改行やdata.csvを試しましたが改善はされてない状態です
CSVのデータが表示されないのでソート自体も出来てるかわかりませんね

698 :687:2007/01/06(土) 22:55:54 ID:???
試してみたが、普通にできる。

まさかhtmlとcsvを同一ディレクトリに置いてないとか?



まさかまさか・・・・・
Firefoxで見てる?
データバインドはIEの独自機能だけど知ってるよね?




699 :Name_Not_Found:2007/01/06(土) 23:21:26 ID:esJdtWOR
>>698
まさにそのとおりでした;
html文書を書くときではプレビューを使ってチェックしてたのですが
そのときはIEなはずですけどプレビューでも動かないと考える
とつじつまは合いますね。教えて頂いてありがとうございます。

メモ帖でCSVの拡張子にならなかったので
アップデートしてからCSV形式に変更してたのでそれも関係あるのかと考えていましたけど、、


700 :Name_Not_Found:2007/01/06(土) 23:26:16 ID:esJdtWOR
>>684の内容をできれば他ブラウザでも対応できる方法を教えて頂けないでしょうか。お願いします


701 :Name_Not_Found:2007/01/06(土) 23:33:36 ID:???
>>700
まずは自分で書いた・探したコードを載せろ糞。

702 :687:2007/01/07(日) 00:14:25 ID:???
>>700

詳しくは知らないが、PHPなどを使えば可能。

703 :Name_Not_Found:2007/01/07(日) 00:34:22 ID:???
長くなりますが失礼します。
<html>
<script type="text/javascript" defer>
<!--
var pWin = external.menuArguments;
var tLink = pWin.document.location;
var url = "http://******/?" + tLink;
window.open(url);
//-->
</script>
</html>
このようなHTMLを用意しIEの右クリに追加してリンクを取得し、ページに引数として渡そうととしてるんですが、
IEからだと正常に動作するのですが、専ブラからだとdocument.locationならnull、document.URLならabout:blankが渡されてしまいます。
何が原因でしょうか・・・(´・ω・`)

704 :Name_Not_Found:2007/01/07(日) 01:10:02 ID:???
>>703
組み込まれたIEは普通のIEとは挙動が違うってだけの話じゃないの?

705 :Name_Not_Found:2007/01/07(日) 01:21:36 ID:???
なるほど・・・(´・ω・`)

706 :Name_Not_Found:2007/01/07(日) 01:24:50 ID:???
about:blankに独自に内容書き込んでるだけだから

707 :Name_Not_Found:2007/01/07(日) 02:49:02 ID:???
about:blank ってIE6でも使えるの?

708 :Name_Not_Found:2007/01/07(日) 12:06:13 ID:XHzJhe0H
JScriptで画像の容量やサイズを取得するにはどうしたらいいの?
VBScriptとも連携するらしいけど、やり方が見つからない。


709 :Name_Not_Found:2007/01/07(日) 13:40:14 ID:???
>>708
IE限定の方法なんか知らんけど、imgオブジェクト作って
widthとheightを参照すればサイズは分かるよ。過去スレ
調べられない奴は来ないで欲しい。あと容量(バイト数)
が知りたいのならXMLHttpRequestで画像のみ取り寄せてヘッダ
情報を見るとかかな。

710 :Name_Not_Found:2007/01/07(日) 13:41:25 ID:???
>>708
板違い
WSHのスレッドにいってらっしゃい

711 :708:2007/01/07(日) 13:57:47 ID:???
>>709
JavaScriptでサイズの取り方は知ってるけど容量も取りたいので調べたらVBSが出てきて両方取れるみたいなんで聞いてみたんだが。
>>710
そっちではJSの話題が無いのでこっちかと思った。
では逝ってきます。

712 :Name_Not_Found:2007/01/07(日) 15:46:11 ID:2WGu+fpO
オンロードって一回しか使えないんですか?

713 :Name_Not_Found:2007/01/07(日) 15:57:40 ID:???
>>712

ああ。一生に一回だけだ。
大事に使えよ!

714 :Name_Not_Found:2007/01/07(日) 16:05:27 ID:???
劇藁!

715 :Name_Not_Found:2007/01/07(日) 16:33:47 ID:???
>>708
fileSize
>>712
オブジェクトによる。windowは1回だけだが、他は何回でも。つまり、1回だけのwindow.onloadは特殊。

716 :Name_Not_Found:2007/01/07(日) 17:10:29 ID:???
JScript はここで扱うのか?

717 :Name_Not_Found:2007/01/07(日) 17:24:12 ID:???
ブラウザ上でのJScriptはここだろ。
WSH上でのJScriptとかJScript.NETとかは別だが。

718 :Name_Not_Found:2007/01/07(日) 17:27:16 ID:E+pvfavz
テキストボックスに入力した文字列(クッキーの)保存について質問です。
過去に入力した文字列を全て保存したい(yahooやgoogleの
検索文字列の保存のように)のですが、直近の文字列の保存しかできません。
わかる方がいらっしゃいましたら、サンプルコードをお願いします。
半角スペースによる連語対応についてもお願いします。



719 :Name_Not_Found:2007/01/07(日) 17:40:11 ID:???
>>716
扱わない

>>718
クッキーの名前を変えるか
以前のクッキーを読んで加工して食わせる
自分でやる気がない人は他を当たれ

720 :Name_Not_Found:2007/01/07(日) 17:48:07 ID:???
MacIE向けのリスナーオブジェクトラッパーって無い?



721 :Name_Not_Found:2007/01/07(日) 18:21:43 ID:???
>>719
>>717

722 :Name_Not_Found:2007/01/07(日) 18:29:21 ID:???
>>720
自分で探したのかと
大抵はググれば見つかる

723 :684:2007/01/07(日) 18:52:29 ID:7B6dLtje
>>702
PHPの知識がいかんせん全然ないのですが
多少調べたところjsとは違う分野だとはわかりました
ということはjsでは不可能もしくは組み込むのが難しいということでしょうか?

724 :Name_Not_Found:2007/01/07(日) 18:56:50 ID:???
>>720
白黒つければ、無いと言い切って良いと思うよ。
あったとしても、MacIE のJS処理は糞だから、かなり限定的にしか使えないだろ。
使用頻度が高いと思われる ...onsubmit = (関数); であっさり落ちてたし。
MacIE だと、JSを使われるとかなり迷惑だと思うよ。

725 :Name_Not_Found:2007/01/07(日) 19:16:24 ID:???
>>723
CSVファイルなら、JSで読み込んで文字列処理すればできるだろ。
INT等と型を指定してあるのだから、比較関数選別に失敗することもないし。

726 :Name_Not_Found:2007/01/07(日) 19:24:50 ID:???
MacIEなんて無いに等しいだろ。
SafariのJavaScript対応のが問題だと思う。

727 :Name_Not_Found:2007/01/07(日) 19:26:19 ID:???
CSVで""内に,が入ってるとしたらsplitじゃダメだよね。
こういうのって一文字ずつ見ていくしかないの?

728 :Name_Not_Found:2007/01/07(日) 20:45:19 ID:???
>>727
splitは区切り文字に正規表現が使える
var csvString='0,"ab,c",1';
var data=csvString.split(/,"|",/);
alert(data.join('\n'));



729 :Name_Not_Found:2007/01/07(日) 20:48:43 ID:???
aaa = list[i].getElementsByTagName("dd")[0].innerHTML.match(/^\d+/);
bbb = list[i+1].getElementsByTagName("dd")[0].innerHTML.match(/^\d+/);

list[i]から後は全部同じなんで、ズラズラと並んでなんだか嫌な感じです。
共通部分をもっと簡潔に書くことってできませんか?
前半が同じであればwithでまとめられますが、このように後ろが同じ場合はどうすれば・・・。

730 :Name_Not_Found:2007/01/07(日) 20:56:05 ID:???
>>729
関数を使う
引数に配列を入れれば良いだけ

731 :Name_Not_Found:2007/01/07(日) 22:24:08 ID:???
ありがとうございます。
ちょっと見やすくなりました。

732 :Name_Not_Found:2007/01/08(月) 22:16:00 ID:366wGS90
生年月日を入力すると,干支を教えてくれる
javaの作り方教えてください!

733 :Name_Not_Found:2007/01/08(月) 22:30:12 ID:???
>>732 ttp://blog.so-net.ne.jp/_images/blog/_2a1/maro/3773892.jpg

734 :Name_Not_Found:2007/01/08(月) 23:10:02 ID:???
>>732
Javaなら板違い
JavaScriptならここ

求め方ぐらい自分で探せばいい
「十二支 求め方」で検索

735 :Name_Not_Found:2007/01/08(月) 23:40:38 ID:???
質問者は12で割った余りの求め方を検索しなきゃならないほど無学なのか?www

736 :Name_Not_Found:2007/01/08(月) 23:42:50 ID:???
洩れも本当に >>732 が何が知りたいのか興味あるわ。
でも全部書いてくれとか言ってるだけじゃないのかね(だが断る)。

737 :Name_Not_Found:2007/01/08(月) 23:51:03 ID:???
>>734
すいませんがJAVAでお願いします。
初心者なので見易いコードだと助かります

738 :Name_Not_Found:2007/01/08(月) 23:59:33 ID:???
Javaなら板違い

739 :Name_Not_Found:2007/01/09(火) 00:33:02 ID:???
>>737
>>734をよく読め
JavaとJavaScriptの違い、検索エンジンの使い方、余剰の演算子まで教えなきゃいかんのか?
あとコードをやたらほしがってるようだし・・・完全に教えて君だな
質問は内容を具体的にすべし

740 :Name_Not_Found:2007/01/09(火) 00:36:02 ID:???
>>737
ついでに言うとテンプレも読んでないでしょ?
>>1-2の注意事項にいくつか当てはまるし

741 :Name_Not_Found:2007/01/09(火) 00:37:41 ID:???
さあ、あとはイジられて暴れて帰るだけだな。

742 :Name_Not_Found:2007/01/09(火) 01:55:22 ID:lsODfCH5
<HTML>
<HEAD>
<META HTTP-EQUIV="content-type" CONTENT="text/html;charset=Shift_JIS">
<TITLE>指定日までの日数を表示するJavaScript</TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--
function myCountDown(myYear,myMonth,myDay){
myNow = new Date();
myRunDate = new Date( myYear , myMonth-1 , myDay );
myMsec = myNow.getTime()-myRunDate.getTime();
myDayCount = Math.floor(myMsec / (1000*60*60*24));
return myDayCount; // 指定日も1日と数える場合は1を足します(myDayCount+1)
}
// --></SCRIPT>
</HEAD>
<BODY>
<P>
指定日までの日数を表示します。<BR>
<BR>
<SCRIPT language="JavaScript"><!--
myDay = myCountDown(2001,1,1);
if (myDay < 0)document.write("指定日設定の2005/8/15まで、あと「",myDay*(-1),"日」です!");
else if (myDay == 0)document.write("本日は指定日設定の2005/8/15です!");
else document.write("指定日設定の2005/8/15から、",myDay,"日が経過しました");
// --></SCRIPT>
<BR></P></BODY></HTML>
________________________
自分で指定日をキーボードから入力するようにするにはどう変えたらいいですか?


743 :Name_Not_Found:2007/01/09(火) 02:03:02 ID:???
>document.write("本日は指定日設定の2005/8/15です!");
決めうちワラタ

744 :Name_Not_Found:2007/01/09(火) 08:13:28 ID:???
>>742
質問の意味がよく分からないんだけど、そのページを「表示させる
たびに」ユーザに指定日の入力を要求して、入力すると「○日経過」
という画面が出て、それだけ?また次に表示させるとまた入力?
そんなページ誰も使いたくないような気がするけど。

745 :Name_Not_Found:2007/01/09(火) 08:32:04 ID:???
わたしが使いたいんです!!><

746 :Name_Not_Found:2007/01/09(火) 09:15:09 ID:???
>>742
使い方にもよるかな?
URLの引数で渡したり、フォームに入力させたり、プロンプトに入れたり。
具体的な使い方が想像付かないからイマイチわからないけど

747 :Name_Not_Found:2007/01/09(火) 09:18:47 ID:???
>>745
だったら「myDay = myCountDown(prompt('指定日?'));」とかに直して
適切な日付形式で指定日を入力するのが一番簡単かと。

748 :Name_Not_Found:2007/01/09(火) 17:36:46 ID:VEMLOnp5
<body><script type="text/javascript">
<!--function SortTable(id, colId, type) {
var i, nRow, nCol; var oTABLE, oTBODY, oTDs; var aCells = new Array();
var nRowIDs = new Array();
if (!document.getElementById) { return; }
nColId = colId; sType = type;
oTABLE = document.getElementById(id);
oTBODY = oTABLE.getElementsByTagName("TBODY")[0];
oTRs = oTBODY.getElementsByTagName("TR");
for (nRow = 0; nRow < oTRs.length; nRow++) {
nRowIDs[nRow] = nRow;
oTDs = oTRs[nRow].getElementsByTagName("*");
aCells[nRow] = new Array();
for (nCol = 0; nCol < oTDs.length; nCol++) {
aCells[nRow][nCol] = oTDs[nCol].firstChild.nodeValue;
} } nRowIDs.sort(CompareRows);
for (nRow = 0; nRow < oTRs.length; nRow++) {
oTDs = oTRs[nRow].getElementsByTagName("*");
for (nCol = 0; nCol < oTDs.length; nCol++) {
oTDs[nCol].firstChild.nodeValue = aCells[nRowIDs[nRow]][nCol];
} }}function CompareRows(a, b) {
var sA = oTRs[a].getElementsByTagName("*")[nColId].firstChild.nodeValue;
var sB = oTRs[b].getElementsByTagName("*")[nColId].firstChild.nodeValue;
if (sType == "n") { sA = eval(sA); sB = eval(sB);
} if (sA == sB) { return 0; } else if
(sA > sB) { return 1; } else { return -1; }}// --></script>
上記文書をtableを作りbuttonで実行するのですが一,二列目までの動作までしかできません。
三列目以降を動作させるようにするにはどのように改ざんすれば良いのでしょうか?よろしくお願いします。


749 :Name_Not_Found:2007/01/09(火) 18:56:20 ID:???
>>748

改ざんとは
http://d.hatena.ne.jp/keyword/%B2%FE%A4%B6%A4%F3

750 :Name_Not_Found:2007/01/09(火) 19:31:36 ID:VEMLOnp5
>>749
申し訳ない、追記もしくは修正に訂正します

751 :Name_Not_Found:2007/01/09(火) 20:21:49 ID:lsODfCH5
>>742
完全に説明不足でした。
指定日をできればpromptを使って入力させ
その入力した日にちから何日経過(あるいはあと何日なのか)したのかを表示させるにはどうしたらいいですか?


752 :Name_Not_Found:2007/01/09(火) 20:30:09 ID:???
>>751
だから >>747 でいいでしょ。おしまい。

753 :Name_Not_Found:2007/01/09(火) 21:12:28 ID:lsODfCH5
適切な日付形式ってのがわかんないです

754 :Name_Not_Found:2007/01/09(火) 21:25:08 ID:???
document.getElementById("aaa").style.filter = "alpha(opacity="+ 50 +")";
document.getElementById("bbb").style.filter = "alpha(opacity="+ 50 +")";
aaaだと半透明になって、bbbだと半透明にならないときがあるんですが、
これはどのようなときに透明になって、どのようなときにならないのでしょうか?


755 :Name_Not_Found:2007/01/09(火) 21:45:54 ID:???
>>754
getElementById() を使っているので、IE5以上。よって、hasLayout を使って調べろ。
alert(document.getElementById("bbb").currentStyle.hasLayout)

756 :Name_Not_Found:2007/01/09(火) 21:51:41 ID:???
>>742
<script type="text/javascript">
<!--
function calc() {
var gap = (new Date(document.getElementById("endYearTxt").value,document.getElementById("endMonthTxt").value-1,document.getElementById("endDateTxt").value).getTime()-
new Date(document.getElementById("beginYearTxt").value,document.getElementById("beginMonthTxt").value-1,document.getElementById("beginDateTxt").value).getTime())/1000/60/60/24;
document.getElementById("result").value = isNaN(gap)?"Error":gap<0?"あと"+(-gap)+"日":gap+"日経過";
}
// -->
</script>
<input type="text" value="2005" id="beginYearTxt" size="4">年
<input type="text" value="8" id="beginMonthTxt" size="2">月
<input type="text" value="15" id="beginDateTxt" size="2">日 〜<br>
<input type="text" value="2006" id="endYearTxt" size="4">年
<input type="text" value="1" id="endMonthTxt" size="2">月
<input type="text" value="9" id="endDateTxt" size="2">日
<input type="button" value="計算" onclick="calc()"><br>
<input type="text" value="result" id="Result" readonly>

757 :Name_Not_Found:2007/01/09(火) 22:05:40 ID:???
>>755だが、今確かめたら、hasLayout は IE5.5以上だな。間違えた。

758 :Name Not Found:2007/01/09(火) 22:18:50 ID:???
>>757
ありがとうございます。でも、IE6でも透明にならないときとなるときがあるのですが
なんでしょう?
htmlは下記で、mouseoverで、aaaだと透明になって、bbbだとならないのです。
ただ、bbbの中身はAjaxで作って、普段はvisivleでhiddenの状態になってます。


<div id="aaa">
<a href="aaa.html" class="link">aaa</a>
</div>
<div id="bbb">
<div id="content"></div>
</div>

759 :Name_Not_Found:2007/01/09(火) 22:18:55 ID:???
>>754
単に width が設定されているかどうかじゃないの?
filter に関してはここでも CSS スレでも扱わないので
MS のドキュメントを当たるといいよ

760 :Name_Not_Found:2007/01/09(火) 22:24:23 ID:???
>>758
だから、hasLayout チェックしろよ。

>>759
width など、全部ひっくるめてのhasLayoutだろボケ。hasLayoutを直接調べりゃいいんだよ。

761 :Name_Not_Found:2007/01/09(火) 22:36:57 ID:???
>>759
widthは扱いにくい場合がよくある。
display:inline-block;を薦めた方がいいだろう。
「filter → width指定しろ」 は、一般に広まっているけど使えないノウハウだな。
たぶん、IE4時代で思考停止しているんだろう。

762 :Name_Not_Found:2007/01/09(火) 23:00:04 ID:???
>>748
問題なく動くから、何を言っているのか分からない。
そもそも、そのコードは加齢臭がするというか、考え方がおかしいな。

ちなみに、Fx1.5なら、もっとあっさり書ける。
Array#sort() を利用するなら、スピード無視ということであり、あっさり書いた方が良いだろう?
<thead>内のセルをクリックして、<tbody>内の行をソートする。
document.addEventListener('click', {
  get TABLE() {return document.getElementById("MY_TABLE_ID");},
  cmp:function (a, b) {//a, b : HTMLTableCellElement
    var p = a.textContent;
    var q = b.textContent;
    return isNaN(p) ? p < q ? -1 : p == q ? 0 : 1 : p - q;
  },
  col:function (r) {return r.cells.item(this);/*this:Number == cellIndex*/},
  row:function (c) {return c.parentNode;},
  handleEvent:function (e) {
    var c = e.target;
    var table = this.TABLE;
    var tBody;
    if (table
        && 0 < (8 & c.compareDocumentPosition(table.tHead.rows.item(0)))) {
      while (!(c instanceof HTMLTableCellElement)) {c = c.parentNode;}
      Array.map((tBody = table.tBodies.item(0)).rows, this.col, c.cellIndex)
        .sort(this.cmp).map(this.row)
          .forEach(tBody.appendChild, tBody);
    }
  }
}, false);

スピードを気にするなら、自分で挿入ソート作れ。
ノードリストは既に整列されてい場合が少なくないから、挿入ソートが速い。

763 :748:2007/01/10(水) 04:48:12 ID:4cTEWtou
>>762
<thead> <tr>
<th><button onclick="SortTable('tb1', 0, 's')">名前</button></th>
<th><button onclick="SortTable('tb1', 1, 'n')">名前2</button></th>
</tr> </thead>
こんな感じで実行するわけですが次の追加を順当通りに下記のようにすると
<th><button onclick="SortTable('tb1', 1, 'n')">名前3</button></th>
動作しなくなってしまいます。6列くらいで利用したいのですけど
それができなくて困ってる状態です。

とりあえずFx1,5というものもこれから調べてみます。
できればビルダーを使わないで作成できるようになりたいのですが、、、




764 :Name_Not_Found:2007/01/10(水) 06:18:51 ID:???
>>763
せっかく教えてもらっても理解できないでしょ?
大きくなってからまた来なさい。

765 :Name_Not_Found:2007/01/10(水) 07:42:47 ID:???
警報:最近この掲示板に張りつく荒らしがいるようです。
特徴:なにかにつけて揚げ足を取り質問にも答えず出直せと言う。

766 :Name_Not_Found:2007/01/10(水) 09:14:32 ID:???
>>753
たとえば「Jan 10 2007」とかだ。それくらい書けるでしょ?
>>765
テンプレを守ってない質問が罵倒されるのは当然のこと。
守ってるものはちゃんと教えるよ。

767 :Name_Not_Found:2007/01/10(水) 09:35:15 ID:???
>>763
そのぐっちゃぐっちゃなコードの代わりに「何がやりたいか」を
普通の人に理解できる日本語で書いてくれたら作ってみてもいいよ。
ぐっちゃぐっちゃのコードは仕様記述の代わりにはならない。

768 :Name_Not_Found:2007/01/10(水) 10:16:06 ID:???
>>766
テンプレの内容ではそういうものへの対応はスルーであり
煽れとは書いてないと思うけど?まぁ話がしたいのであればこちらへ移動どうぞ
>>767
日本語でおk
http://pc10.2ch.net/test/read.cgi/hp/1116513644/

769 :Name_Not_Found:2007/01/10(水) 14:32:51 ID:???
>>753
人が入力する場合、2007/1/10 か、2007/01/10 かのどちらかに限定させなきゃダメだろうな。
俺なら、適当に数字キーを続けて押せば良いように作るだろうけどな。

JSスレに則して言えば、Dateオブジェクトが受け取れるかどうかだろうな。
RFC1123(document.lastModifiedの形式)なら、どんな地域でも問題ない。
また、最初に書いたスラッシュ区切りも、問題がないと言われているな。入力も容易だし。

あるいは、WEB板に則して言えば、W3CDTFを使えになるかもな。
でも、この形をDateオブジェクトは受け付けない。

770 :Name_Not_Found:2007/01/10(水) 17:43:42 ID:???
>>748のソースは懐かしいなあ、とほほのテーブルソートだね。
ttp://www.tohoho-web.com/wwwxx038.htm
昔は俺も利用してたから一発で分かったよ。

M$のsort.htcも利用してたけど、こっちは文字列順のソート
ttp://www.microsoft.com/japan/msdn/columns/dude/dude07232001.aspx

771 :Name_Not_Found:2007/01/10(水) 22:54:21 ID:???
function foo() {
...
function bar() {
if(...)
// ここでbarを抜け出してfooの処理も終わらすことはできますか?
}
...
}

772 :Name_Not_Found:2007/01/10(水) 23:04:02 ID:???
throw catch プギャー
まぁ真面目に bar() 返り値工夫しれ。

773 :Name_Not_Found:2007/01/11(木) 00:35:11 ID:???
セッションから取得した情報をjspに展開して画面を表示させる際に、
取得した内容によって画面表示を切替えるJavaScriptを書いています。
(例)会員情報の表示。
会員が女性ならば、画面の下半分の項目を非表示にする等


今、全く同じ情報を展開させているのに、ローカル環境では正常に動作し、
一方、試験環境ではJavaScriptエラーが発生する、という不具合が生じています。
(試験環境にのっているアプリとの差はありません)

この場合、やはり単純にJavaScriptの書き方が悪いと思った方が良いでしょうか?

実際使用しているJavaScriptをここには書けないのですが、
心当たりのある方がいらっしゃいましたら、ぜひアドバイスください。


また、上の様なローカル環境では再現が難しいエラーが発生した場合、
どのように原因をつき止めるのが良いでしょうか?
今回のエラーに関しても色々なパターンの情報を使用して解析を
行ってみましたが、どうやっても再現しないので、お手上げ状態です…


774 :773:2007/01/11(木) 00:40:38 ID:???
>>773に付け足しです。

ローカル環境も試験環境も、ブラウザに差はありません。
というか同じブラウザから参照しているので、
インターネットオプション等の設定も同じです。

参考にならないかもしれませんが、一応…

775 :Name_Not_Found:2007/01/11(木) 00:45:50 ID:???
>>774
どこまでをローカル環境にしてるのかわかりませんが
試験環境での情報取得がこけてる気がする。

776 :Name_Not_Found:2007/01/11(木) 00:54:49 ID:???
エラーみればわかるじゃないか

777 :Name_Not_Found:2007/01/11(木) 01:00:08 ID:Cku0Ti1u
超基本的な質問なのですがif文について。
文字列の入った変数Aと変数Bが同じならば、とはどう書いたらいいでしょうか。

月や日が1桁の時は0付加になっている過去の日付と、現在の日付を比較したいのですが、
以下のように書いても動作しません。
//過去ログ
logtime = "20070111";
//そこから日付をとる
logday = logtime.substr(5,2);
//現在の日付を取得
today = new Date();
date = today.getDate();
//今日の日付とlogdayが同じだったら。
if(logday == today){
alert("成功");
}

778 :Name_Not_Found:2007/01/11(木) 01:06:49 ID:jKP3V5wi
function Hoge(){
this.age = function(){xxxxxxxxxxxx};
}
Hoge.prototype.sage = function(){xxxxxxxxxxxx};

ageとsageの違いがよくわかりません。
使い分けとかあるんでしょうか?

779 :777:2007/01/11(木) 01:11:11 ID:???
自己解決。普通に=でよかった。orz

780 :Name_Not_Found:2007/01/11(木) 01:43:55 ID:???
>>779
まて

781 :Name_Not_Found:2007/01/11(木) 02:19:39 ID:Sbzs9n4Z
すみません。質問です。
ワケあってボタンからサブウィンドウに同ファイルを立ち上げたいと考えてます。
つまり、元ファイルがA.htmlとするとサブウインドウもA.htmlです。
同時にサブウィンドウに値を渡して表示内容を少し変える予定です。
これを普通にやろうとすると無限ループに入ってブラクラになっちゃいますが、
スマートに回避する方法はあるでしょうか?
変な質問ですみませんが、よろしくお願いします。

782 :Name_Not_Found:2007/01/11(木) 04:03:41 ID:???
opener見て自分と同じだったら(ry

783 :Name_Not_Found:2007/01/11(木) 04:05:15 ID:???
渡される値を見て実行するしないを決めればとも思えた。

784 :Name_Not_Found:2007/01/11(木) 04:12:33 ID:???
>>778
実用上は、
function H(name, age) {
  this.age = age;// 引数
  this.timeStamp = new Date;// 固有の何か
  this.getName = function () {
    return name;
    //クロージャ。
    //this.name = name とするよりは、不注意な書き換えにやや強い。
    //ただし、別段有効な手段であるわけではなく、const か getter を使う方が確実。
    //(ここでの例示のための無意味なクロージャということ。)
  }
}
みたいな感じで、機械的に判断すれば良い。
this.なんちゃらと書くのは、これらに該当する場合に、「仕方なく」である。
個人的経験上、殆ど100%が、引数を使ってプロパティの値を決める場合に限られる。
なるべく、prototypeを使う形に持って行く方が賢いだろう。

785 :Name_Not_Found:2007/01/11(木) 09:24:46 ID:???
>>777
そのif文の前に
alert(logday + '::' + today);
を入れて観察しろ。そんなデバッグも思い付かんのかアホタレ。

786 :781:2007/01/11(木) 12:08:23 ID:Sbzs9n4Z
>>782 >>783
ありがとうございます。
JSの挙動の根本を理解していないので、
出来るかどうか不安だったので、助かりました。
その方法でなんとか頑張ってみます。

787 :Name_Not_Found:2007/01/11(木) 15:08:47 ID:0DD9KPV/
jabascriptでできることって派手なようで地味なような。。

788 :Name_Not_Found:2007/01/11(木) 17:59:50 ID:???
世の中なんでも派手に見えるのは氷山の一角。
水面下では必死にバタバタ。

789 :778:2007/01/12(金) 00:19:42 ID:???
>>784
なるほど。参考になりました。

790 :Name_Not_Found:2007/01/12(金) 00:34:59 ID:???
>>784
prototypeを使うとthisに依存した関数がかけない。
仕様書の表現を書くとgenericな関数がかけない。
一切使わず、applyを使った継承の方が良いことも多い。

791 :Name_Not_Found:2007/01/12(金) 02:21:35 ID:???
>>790は初心者

792 :Name_Not_Found :2007/01/12(金) 12:44:55 ID:???
flash板かこちらか迷ったのですが、こちらで質問させてください。
板違いなら申し訳ないです。

現在、html上で2つのswfをjavascriptで10秒間隔で切り替えて表示する方法を模索しております。
[10秒間隔で切り替えて表示させたいswfファイル]
test_01.swf
test_02.swf

ちなみに最初に表示させるファイルはランダムでどちらかで、
以後01>02>01>ryと交互に10秒間隔で表示させたいと考えています。

画像を一定時間で切替るスクリプト等を参考に色々書いてみたのですが、
どうも動いてさえくれません。
ご教示いただければありがたいです。


793 :Name_Not_Found:2007/01/12(金) 13:24:40 ID:???
>>792
2つのdivを用意し、それぞれに1つずつflashを入れる。
片方はdisplay:noneにしておく。切り替える時は見えてる方を
.style.disply = 'none'し、逆を.style.display = 'block'する。

794 :Name_Not_Found:2007/01/12(金) 15:17:27 ID:???
Flash内で切り替えちゃだめなのか

795 :Name_Not_Found:2007/01/12(金) 15:38:57 ID:???
>>790
なんか勝手に拡張解釈しているみたいだけれど、
  function A(u, v) {this.x = u.x;this.y = v.y}
  function B(u, v) {A.apply(this, arguments);}
のように書くことは、継承じゃないよ。
確かに、継承する時によく使うけど、
つまるところ、単なる便利なまとめ書きだから、これ単体は継承じゃあない。
  new B(o_0, o_1) instanceof A;// false
で確認できる。

796 :Name_Not_Found :2007/01/12(金) 15:41:43 ID:???
>>793 ありがとうございます。参考にさせていただきました。

>>794
はい。実はこれ友人のお店のサイト内の修正なんですが、
2つのswfの名前頻繁に変わるためflash内で完結すると
更新の手間がかかるということでNGでした。


色々やってみた結果のソースで落ち着きました。

// javascript //
count = 0;
swfName = new Array("01.swf","02.swf");
function changeSWF()
{
count++;
count %= 2;
swfTag = '<embed src="'+swfName[count]+'" width="100" height="100">';
document.getElementById("movie").innerHTML = swfTag;
}

// 以下html //
<div id="movie"><embed src="01.swf" width="100" height="100"></div>

が、一つクリア出来ていない問題があるんです。
ランダム表示なのですが・・・

ページが表示された時にランダムに01.swfか02.swf表示させ、
かつ01の後は02、02の後は01と交互に表示させていきたいのですが、
良い方法ないでしょうか

長文すいません

797 :Name_Not_Found:2007/01/12(金) 15:50:56 ID:???
最初の count をランダムにするだけじゃね?

798 :Name_Not_Found:2007/01/12(金) 17:20:04 ID:???
質問です。
inputフィールド <input type="text"> で入力された文字を
リアルタイムで取得したいのですが、
onchangeはフォーカスが外れた時にのみ呼ばれるので困っています。
setTimeoutを使う方法以外で、何か良い方法はありますか?

799 :Name_Not_Found:2007/01/12(金) 17:22:49 ID:???
>>798
洩れはsetInterval()を使ってるがそれじゃ不満なんだろうなあ。
onkeyupを使うとかもあるけど日本語だと駄目かも。

800 :Name_Not_Found:2007/01/12(金) 17:47:46 ID:???
>>798
>>799の言うとおり日本語はダメだけど、自分はkeyupでやってる

801 :Name_Not_Found:2007/01/12(金) 18:26:27 ID:???
>>798
IEなら、onpropertychange を使える。

802 :Name_Not_Found:2007/01/12(金) 19:45:28 ID:???
Google サジェストの不思議
ttp://www.divakk.co.jp/blog/aoyagi/archive/2005/03/14/1471.aspx

803 :Name_Not_Found:2007/01/12(金) 19:51:05 ID:???
>>802
まさに自分のブラウザがGeckoなのでsetInterval()を使ってる。

804 :Name_Not_Found:2007/01/12(金) 19:58:53 ID:???
インラインフレーム(ネット上のページ)から
親フレーム(ローカルのページ)に命令を送ることって出来ますか?
parent や top を使うと、
IE では「書き込みできません」とエラーが出ます
NN では window のプロパティやメソッドを
     参照していると勘違いされるようです

805 :Name_Not_Found:2007/01/12(金) 20:01:28 ID:???
OperaだとIMEがONになっているとonkeyupが呼ばれないんだよね。
setTimeoutが一番いいかもね

806 :Name_Not_Found:2007/01/12(金) 20:03:26 ID:???
テキストエリアから持ってきた複数行文字列を
「.split("\n")」で一行ずつ分解して利用したいのですが、
末尾の改行をどうやっても除去することができません。

「.replace("\n", "")」で置換しても無理です。

何か方法はあるでしょうか?

807 :Name_Not_Found:2007/01/12(金) 20:03:54 ID:???
A
 A1
 A2
 A3
B
 B1
 B2
 B3

AとBが普段表示されていてAをクリックすると隠れていたA1,A2,A3・・・がBをクリックするとB1,B2,B3・・・が表示されるようにするにはどうすればよいのでしょうか?
言葉が理解できないかもしれませんがよろしくお願いします。
簡単に言えばメニューバーを作っていてカテゴリごとに閉じたり開いたりしたいのです。

808 :Name_Not_Found:2007/01/12(金) 20:13:13 ID:???
>>807
階層メニューならonClickでstyle.displayを変えれば良くないか?
メニューが多くなりそうならsubmenuidとか独自属性を追加して
window.onclick = function(e)
{
//IEなら
elem = e.srcElement;
//NNなら
elem = e.target;
}
から属性を取得して$(id).style.displayを変えるとか

809 :Name_Not_Found:2007/01/12(金) 20:15:14 ID:???
>>806
Stringではなく、RegExpを使え。

810 :Name_Not_Found:2007/01/12(金) 20:17:24 ID:???
>>806
もしかしてNNですか?
NNは一回のreplace()で一つしか書き換えてくれないからそのせいかも。
str.indexOf("¥n") != -1の間だけループさせてstr.replace("¥n", "")させてみてください。

811 :Name_Not_Found:2007/01/12(金) 20:18:45 ID:???
>>808
>submenuidとか独自属性を追加して
JS以前にHTMLとして不正だな。しかも、そんな不正をしなくてもできる。

812 :Name_Not_Found:2007/01/12(金) 20:19:24 ID:???
まぁどっちにしろ、正規表現は覚えた方がいいですよ。

813 :Name_Not_Found:2007/01/12(金) 20:19:55 ID:???
>>810
>>809

814 :808:2007/01/12(金) 20:22:01 ID:???
>>811
やっぱりダメですかね??
一般のライブラリはそんな感じだとおもいましたが。
じゃあnextSiblingを使うとか子ノードをメニューにするとか。

815 :804:2007/01/12(金) 20:24:47 ID:???
やはりサーバ→ローカルでもサーバ→サーバのページに命令を送るのと同じですか?

816 :806:2007/01/12(金) 20:37:07 ID:???
>>809
Stringを使うなということですが、
spritを使っていることが問題なのでしょうか?

817 :Name_Not_Found:2007/01/12(金) 20:41:58 ID:???
>>814
>一般のライブラリはそんな感じだとおもいましたが。
まあ、一般のライブラリコミッターたちは、言語仕様が難しすぎて読めないとかほざいてるアホ外人が大半だから、疑いの目で読んだ方が良いと思いますよ。

818 :Name_Not_Found:2007/01/12(金) 20:46:16 ID:???
>>816
ふつうに /\n/g でできるだろ。もう少し工夫して、/\s*[\r\n]+\s*/g とか。

819 :Name_Not_Found:2007/01/12(金) 20:50:47 ID:???
>>806
もしかしてIEですか?
IEはテキストエリアでの改行文字が\r\nになるからそのせいかも。
あと>>809はsplitの引数にStringではなくRegExpを使えということだと思われ。

820 :Name_Not_Found:2007/01/12(金) 20:52:20 ID:???
>>816
〜.replace(/(\r?\n|\r)$/, '').split(/\r?\n|\r/);
単純に\nにしないのは改行に\rが使われているか、\rを含むとき、うまく置換できないから
ちなみに、replaceの使えるJSのバージョンからsplitの区切り文字に正規表現は使える

821 :Name_Not_Found:2007/01/12(金) 21:00:55 ID:???
>>815
FAQ の Q1

822 :Name_Not_Found:2007/01/12(金) 21:39:29 ID:HPAflrqz
>>819
もしかしてWindowsですか?
Windowsは改行コードがMacともUnixとも違うハミダシOSだからそのせいかも。
どうしてそんなに長いコードが好きなんですか?

823 :Name_Not_Found:2007/01/12(金) 22:03:08 ID:???
・CRLFのほうが歴史が古いんだよ禿
・UnixなんてねーよUNIXだろ禿

824 :Name_Not_Found:2007/01/12(金) 22:13:42 ID:???
テレタイプASR33とかね。

825 :Name_Not_Found:2007/01/13(土) 00:08:57 ID:???
質問があります。

x = ( a * b + c * d) * e + f * g
という式があった場合、常に最小単位毎に小数点切捨てたいと思っています。

つまり
a*b で小数点切捨て
c*d で小数点切捨て
という具合にです。

これは式を小さく区切って記述する以外の方法で実現できるのでしょうか?

826 :質問です:2007/01/13(土) 00:52:08 ID:73pXGN6Y
document.writeで教えてください

http://www.htmq.com/js/document_write.shtmlこちらから引用です)

<script type="text/javascript" language="javascript">
<!--
document.open();
document.write("文字列を書き出します。");
document.write("<img src='../images/img002.gif'>");
document.close();
// -->
</script>

上記を動作確認したら文字と絵が表示されました。

次につけたしで
document.write("<a href="http://www.yahoo.co.jp/" target="_blank">YAHOO</a>");
このようにした所エラーがでました。


document.writeでリンク(アドレス)を書いて表示させるようにはどうすればいいのか
教えてください;;


827 :Name_Not_Found:2007/01/13(土) 00:54:55 ID:???
document.write('<a href="http://www.yahoo.co.jp/" target="_blank">YAHOO</a>');

828 :826:2007/01/13(土) 01:01:22 ID:???
>>827さん
どうもありがとうございます!!
凄く助かりました
感謝してます。



829 :Name_Not_Found:2007/01/13(土) 01:03:42 ID:???
>>826
ダブルクォート

830 :Name_Not_Found:2007/01/13(土) 09:00:57 ID:???
>>825
小さく区切ってもダメでしょ。切り捨てる関数Math.floor(...)
を必要なところで使う。それだけ。

831 :Name_Not_Found:2007/01/13(土) 09:50:46 ID:???
>>823
その大文字UNIX野郎共は商用UNIX登録商標マンセーなんだな。
もともとのUnixはn以降が小文字なんだよ。スレ違いでスマソけど。
http://cm.bell-labs.com/cm/cs/who/dmr/hist.html

832 :Name_Not_Found:2007/01/13(土) 17:28:37 ID:???
<a href=""></a>以外のJavascriptでリンクを張る方法はどのような物がありますでしょうか

833 :Name_Not_Found:2007/01/13(土) 17:48:02 ID:???
spanにonclickでlocationを付けるとか。

834 :Name_Not_Found:2007/01/13(土) 20:57:59 ID:???
テキストエリアから渡された値を計算に使いたいのですがうまくいきません。
「99」が入力された場合は正常動作なのですが、「099」だとなぜか105として認識されています。

0を引いて数値に型変換等を試しましたが駄目でした。
うまく「099」でも99とする方法はないでしょうか?

835 :Name_Not_Found:2007/01/13(土) 21:01:03 ID:???
parseInt(str, 10)

836 :Name_Not_Found:2007/01/13(土) 21:31:11 ID:???
>>834
頭に 0 がつくと 8 進数と認識されるから

837 :Name_Not_Found:2007/01/13(土) 21:38:03 ID:???
頭0でも8か9有ると8進数にならなくなるんじゃなかったっけ

838 :834:2007/01/13(土) 22:04:47 ID:???
ありがとうございます。
>>835氏の回答で直りました。

更に質問で申し訳ないのですが、
<SPAN id="output">-</SPAN>というタグに
文字列を送っています。
その文字列の特定の部分の色を変更などする方法はあるのでしょうか?

FONTタグでくくってももちろんそのタグがそのまま出てしまっています。

839 :Name_Not_Found:2007/01/13(土) 22:56:09 ID:???
トリッキーにする人って
・「a && b」 が 「a?b:a」
・「a || b」 が 「a?a:b」
って考えたりする?

840 :Name_Not_Found:2007/01/13(土) 23:01:12 ID:???
>>833
すいません、その場合のタグの書き方をお願いします

841 :Name_Not_Found:2007/01/13(土) 23:06:57 ID:???
>>838
document.getElementById('output').innerHTML =
'aaa<span style="color:blue">bbb<\/span>ccc';
とかそういう感じ?
>>839
使った方がいい時は使うけどアンタが書いたものは
等価じゃないぞ。「var x = 1; var y = --x && 10;」

842 :839:2007/01/13(土) 23:14:10 ID:???
ああ、そっか、項の中で変数の内容が変わったりすることもあるんだった

843 :838:2007/01/13(土) 23:15:35 ID:???
>>841
違うと思います。

.htmlに
<SPAN id="output">-</SPAN>

.jsに
document.all["output"].innerText = message;

と書いています。
変数messageを操作して着色したいです。

844 :Name_Not_Found:2007/01/13(土) 23:19:56 ID:???
>>843
innerTextでは着色できるわけがないだろ。だからinnerHTML
を使えというのが>>841のアドバイスなんであって、その通り
やらなくたっていいけどあれを却下するなら単に「できない」
だけでは。ちなみにアンタのはIE専だが>>841はクロスブラウザ。

845 :Name_Not_Found:2007/01/14(日) 00:29:04 ID:???
>>843
いまどきdocument.allは使わない
document.getElementByIdで十分

846 :Name_Not_Found:2007/01/14(日) 02:09:07 ID:???
ダイナミックHTMLのjsと普通のjsって違います?

847 :Name_Not_Found:2007/01/14(日) 03:07:27 ID:???
>>762をコピペしようとすると&H160;ってのが行頭に出てくるんですけどなんですか?

848 :Name_Not_Found:2007/01/14(日) 03:40:22 ID:???
視力大丈夫か?
&#160; (Hじゃなくて#) だろ。
http://www.w3.org/TR/html401/sgml/entities.html#h-24.2.1

849 :Name_Not_Found:2007/01/14(日) 04:28:15 ID:WbGPI8tM
setAttribute 以外で属性を追加するのってあったような気がするんだけど… どうやるんでしたっけ?

obj.setAttribute ("flg", "フラグON");
こんなんを作ろうと思ってるんですが、IEの手抜きのせいでずっと使ってなかったら、忘れちゃったw

850 :Name_Not_Found:2007/01/14(日) 05:11:15 ID:???
;;;;;;;;;;/::/::::::::::::::;/:::::::::::/;/::::::::::::::::::;イ:::::::/ i::::;/i!ヽ、l:::::::/l;;;;;;;;;;:/゙!::::::!
;;;;;;;;/::/::::::::::::;〃::::::::::/;/:::::::::::;:::::::/l:::::::/ ,!::/ -−=fミz  ,/:;ク:/ l;;;;;;;;;/ !::::ノ
;;;;;;;l::/::::::::::::/;/::::::::::/;;;i::::::::::;/::::::/ l::::/ l:/ . /レ'゙ー''/、/ 〃 ,l;fi;;;/  l;::/
;;;;;;;レ'::::::::::::/;f゙:::::::::/;;;;i:::::::::/::::::::i  !::l   '  、 /:ジ   !  ,ノ   ,/ 〃  l;/
;;;;;;/::::::::::::/;;;!::::::::::i;;;;;;l:::::::::;!::::::::j  l;!  // ヾ/    ヽ、    '゙   '゙
;;;;/::::::::::::/;;;;l:::::::::::!;;;;;;!:::::::;':::::::::i      ,// `   u   ヽ、_
;;/::::::::::::/;;;;;;l::::::::::l;;;;;;l::::::::l:::::::::::!       //        ,ノ
;/:::::::::::/;;;;;;;;!:::::::::!;;;;;;!::::::::!::::::::::l  o            r'´
:::::::::::::/;;;;;;;;;|:::::::::!;;;;;;l::::::::l:::::::::::;!           , -‐'
─ ‐-' 、;_;;;;;l:::::::::l;;;;;;l::::::::l::::::::::;!           /
       `ヽ;::::::::l;;;;;;l::::::::ト、::::::l   u       /゙ヽ  , -─−- 、
        ヽ;:::l;;;;;;l:::::::i゙ l::::::!          |   Y´         `'ー 、,_
            ヽ;;;;;;;!:::::;l、.l:::::!          ,. -ヘ,  l             ゙ヽ     ,. -−-、
          ヽ;;;/'ル' `!::i、     ,/   ヽ、,!            _, -'、_, - '´      !
           i;i i/  l::! ` 'ー− ´       i'ト、-、,___,. -−' ´ ,. ‐'´    ..:::::/
              !     i!               ij  \_ヽ、  'ニ,. ‐'´     .:::::/ー 、
           i                      \ヽ、 /     .....::::::/     i
           /                       /`y''´     ..::::::::: '´    .:/⌒ヽ


851 :Name_Not_Found:2007/01/14(日) 10:50:32 ID:???
>>849
「obj.flag = true;」で何がいけないのか分からん。調べる時も
「if(obj.flag) ...」で済む。どっちも糞setAttribute/getAttribute
よりも短く読みやすい。

852 :Name_Not_Found:2007/01/14(日) 17:01:11 ID:???
>>849
近年は他のブラウザも追随しているが、
そのsetAttribute()の使われ方はIEのおせっかいだな。
良く言えば、DOMをJSらしく拡張した、となる。

>>851
属性のない<body>に対して、
  document.body.setAttribute('foo', '100');
  ==> <body foo="100">
  document.body.foo = '100'
  ==> <body>
みたいになる。同じ操作ではない。

853 :Name_Not_Found:2007/01/14(日) 17:09:44 ID:???
動的に画像ファイルを読み込むのもAjaxなのなの?

854 :Name_Not_Found:2007/01/14(日) 17:14:58 ID:???
Ajaxの意味をググれ

855 :Name_Not_Found:2007/01/14(日) 19:04:09 ID:???
>>852
HTMLではbodyにfooという属性はないようですが。

856 :Name_Not_Found:2007/01/14(日) 19:18:26 ID:???
どういうつっこみやねん

857 :Name_Not_Found:2007/01/14(日) 20:00:47 ID:???
>>855
無いのを前提にした話だろう。ボケすぎ。

まあ、いちおう、そのボケを相手にすると、
HTMLソースに直接書かれた紛れもなく不正な文書と、
JSで操作して変更する文書を分けて考えなければならないだろう。

まあ、JSで変更した結果をファイルとして保存して、それを別のクライアントで見る、というような場合や、
JSでの変更結果をもバリデーションするUAを想定するなら、話は別だがな。
前者のような使用を想定するなら、結果が正しくなるように気をつければ良い。
後者は、そういう一方通行(変更だけが何でも可)なUAは、過去にも現在にも存在した例がない。

858 :Name_Not_Found:2007/01/14(日) 21:26:53 ID:???
DOMってcleatElementに対応してエレメントを削除するのは
removeElementでいいの?
なんかremoveだと子要素でなくなるだけでメモリ上に要素が残る気がしていやなんだけど
理解が足りてないだけかな

859 :Name_Not_Found:2007/01/14(日) 21:34:51 ID:???
removeElementなんてメソッドありません><
ツリーから取り除いてもその要素への参照があれば当然メモリから削除されません

860 :Name_Not_Found:2007/01/14(日) 21:38:02 ID:???
すまんremoveChildだった
メモリからその要素の子要素も含め完全に要素を削除する方法について誰か教えてくれるとうれしい

861 :Name_Not_Found:2007/01/14(日) 21:43:19 ID:???
ひょっとして参照がすべて削除されれば勝手に抹消されるのかな
だとしたらハイテクだぜ

862 :Name_Not_Found:2007/01/14(日) 21:44:08 ID:???
delete 参照; かな?

863 :Name_Not_Found:2007/01/14(日) 21:59:34 ID:???
記憶違いかも知れないけれど
参照=null;
って違った?

864 :Name_Not_Found:2007/01/14(日) 22:15:18 ID:???
>>861
世の中それをGCと呼びます。

865 :Name_Not_Found:2007/01/14(日) 22:23:13 ID:???
javascript ガベージコレクタ でぐぐったらすぐ出てきた。
>>863-864サンクス

>>862の線も一応調べてみる
サンクス

866 :Name_Not_Found:2007/01/15(月) 01:06:07 ID:Uq+viFcC
obj.setAttribute()で不正な属性を追加するとHTML文法違反になるが、
勝手にプロパティ追加する分には問題ないですよね?

もしそれが問題あるなら、HTMLInputElement.defaultValueとか
HTMLLinkElement.disabledとかまで文法違反になる気がするんですが
あってますか?

867 :Name_Not_Found:2007/01/15(月) 01:12:17 ID:???
>>866
俺はそれならHTML文法違反にはならないと信じてるが
IEの馬鹿は p.foo = 'bar' としただけで <P foo="bar"> というHTMLを出力してくれるからな。
ってこれちょっとstrictスレの領域に入りかけてないか?

868 :Name_Not_Found:2007/01/15(月) 01:23:17 ID:???
>>866-867
IEが馬鹿なだけで、スクリプトでプロパティを増やすのは無問題
と考えている。そもそもclass属性とclassNameプロパティのように
同じじゃないものもあるし。strictスレっていうけどtransitional
だってfooなんて属性はないよな。

869 :Name_Not_Found:2007/01/15(月) 02:10:03 ID:???
そういう気持ち悪いことしないで、ラッパーオブジェクトを作れば?
domオブジェクトをプロパティとして持ち、且、そのdomオブジェクトに関連するプロパティも持つ(flag 云々とか)。
そいつにメソッドを付け加えていけば、オブジェクト指向的にもすっきりするでしょ。

870 :Name_Not_Found:2007/01/15(月) 02:20:56 ID:???
それだとDOMオブジェクトからJSオブジェクトを取得したいときに困るんだよな。
ラッパオブジェクトをひとつずつ探していくのは効率悪そうだし。

871 :Name_Not_Found:2007/01/15(月) 06:16:57 ID:???
関数の呼び出し方がいまいちわからないのですけど、
onイベントハンドラを通じてしか呼び出せないのでしょうか?

#JS
function func() {
  str = "hogehoge";
  document.write(str);
}

#html
<form>
<input type="text" value="ここでfunc()を呼び出したい">
</form>

<input type="text" value="func()">
では、func()とテキストエリアに出力されてしまいます。
ページが読まれたときに、
valueの場所にhogehogeが入ってるようにしたいのですが、
どなたかわかるかたお助けください。

872 :871:2007/01/15(月) 06:28:55 ID:???
すみません。質問取り消します。
やっぱり時間がかかるので慣れてる言語でやることにします。

873 :稲村良光:2007/01/15(月) 06:38:42 ID:hBpLYBBZ
<html>
<title>test</title>
<head>
<script language="JavaScript">
function func() {
str = "hogehoge";
document.write( 'こういう方法も あるよね');
document.write( '<form>');
document.write( '<input type="text" value="'+str+'"> ');
document.write( '</form> ');
}

func();
</script>
</head>
<body>
</body>
</html>

874 :稲村良光:2007/01/15(月) 06:53:17 ID:hBpLYBBZ

全部、JavaScriptに書いて問題を解決させてます。
JavaScriptで、複雑な事をさせると、ブラウザによっては、
動作しない事もあります… 「-y(- -) ふ〜」
ま、でもなんですね、 確かに、慣れた方法のほうが
良いかも。(^ ^)


875 :稲村良光:2007/01/15(月) 07:10:26 ID:hBpLYBBZ
http://www.studio-digital-art.jp/
僕のサイトは、ここ。(^ ^; ハァハァ。
     … … ちゃっかり宣伝。(^ ^;


876 :Name_Not_Found:2007/01/15(月) 07:34:18 ID:???
>>871
behavior, -moz-binding, DOMNodeInserted

NN4までなら、value="&{func()};" (最後のセミコロン必須) という方法があった。

877 :Name_Not_Found:2007/01/15(月) 08:42:49 ID:???
慣れた言語って何よ?ファミリーベーシック?

878 :Name_Not_Found:2007/01/15(月) 11:34:13 ID:???
ぴゅー太

879 :Name_Not_Found:2007/01/15(月) 14:58:25 ID:???
何気なくreturn false; でif文止めてたが、その返り値って、falseが返ってくるんだ?
いや、phpで言うexitを求めてるんだがなw

ん〜質問っていうより、発見かな。。。w
まぁいっかw


880 :Name_Not_Found:2007/01/15(月) 17:27:36 ID:???
var setting = new Date(year, month, 0);// 設定月/1の前日

M月0日って、どの環境でも動作しますか?

881 :Name_Not_Found:2007/01/15(月) 18:19:35 ID:???
>>880
ECMA-262で規定されてることだから、万一動かない環境があれば
その環境が標準から逸脱している。安心して使うべし。

882 :Name_Not_Found:2007/01/15(月) 18:31:35 ID:???
サファリ1.3/1.4でエラーコンソールってどうやって開くの?
サファリは開発者に優しくない

883 :Name_Not_Found:2007/01/15(月) 21:09:22 ID:e4SKELUz
>>882
ターミナルから次のコマンドを実行してみ
defaults write com.apple.Safari IncludeDebugMenu -bool true

起動したSafariのメニューの右端に「Debug」って追加されてるから
それをプルダウンすると「Show JavaScript Console」が選べる。

884 :Name_Not_Found:2007/01/15(月) 21:15:44 ID:???
>>882
ごみん、俺>>883だけど俺のSafariは、2.0.4だった。
1.3/1.4はわかんね。

885 :Name_Not_Found:2007/01/15(月) 21:34:54 ID:???
>>881
ありがとう

886 :Name_Not_Found:2007/01/15(月) 22:24:25 ID:???
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>XML SAMPLE</TITLE>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=shift_jis">
</HEAD>
<BODY>
<XML ID="xmlData" SRC="bookdata.xml"></XML>
<TABLE DATASRC="#xmlData" CELLPADDING="1" BORDER="1" STYLE="font-size:9pt;">
<TR>
<TD><SPAN DATAFLD="番号"></SPAN></TD>
<TD><SPAN DATAFLD="タイトル"></SPAN></TD>
<TD><SPAN DATAFLD="サブ"></SPAN></TD>
<TD><SPAN DATAFLD="価格"></SPAN></TD>
<TD><IMG DATAFLD="画像" WIDTH="75" HEIGHT="100"></TD>
</TR>
</TABLE>
</BODY>
</HTML>

上記、処理にてXMLファイルを表示しているのですが、
改行処理はどの様にするのでしょうか?
XML側に改行コードを格納でしょうか?

887 :Name_Not_Found:2007/01/15(月) 22:32:56 ID:???
>>886
<br />

888 :886:2007/01/15(月) 22:58:49 ID:???
>>887
<br />とすると「ページにエラーが発生しました」と表示してしまいます。

889 :Name_Not_Found:2007/01/15(月) 23:32:57 ID:???
&lt;br/&gt;

890 :Name_Not_Found:2007/01/16(火) 04:06:54 ID:???
>>886
<br>

891 :Name_Not_Found:2007/01/16(火) 16:16:35 ID:???
Win2000,IE6.0
スタイルシートでテーブルをスクロール可能にしました。
テーブル内の任意の場所を初期表示したいです。
調べて見た結果、JavaScriptで可能なようですが方法が分かりません。
どなたか方法を教えてください。

892 :Name_Not_Found:2007/01/16(火) 16:52:03 ID:???
>>891
scrollIntoView

ところで、IE6は、<table>や<tbody>などに対して、
CSS の overflow プロパティを適用しないわな。
つまり、CSSでスクロール可能に直接はできない。
事実に反する説明で質問するのは嫌がらせだろう。
<div>などで囲んだことを言うべきで、むしろ、<table>は関係ないだろ。
とにかく、>>2 (2) に気をつけろ。

893 :Name_Not_Found:2007/01/16(火) 16:58:05 ID:xqPdOIIf
親ウィンドウの「サブウィンドウ」という箇所をクリックしたら
サブウィンドウが表示され、その中のjavascriptが自動的に処理
されるようなものを作っています。

この中でサブウィンドウ内に<a href="javascript:disp('aaa')">実行</a>
というリンクを設置してそれをクリックすると処理が実行されるのですが、
そうではなくて、サブウィンドウが読み込まれた時点で自動的に実行
させる方法はないのでしょうか?

894 :Name_Not_Found:2007/01/16(火) 17:12:09 ID:Cmt20n7I
>>893
ヘッダーにスクリプトは書けませんか?

895 :893:2007/01/16(火) 17:13:46 ID:???
自己解決しました。サブウィンドウにonLoadを使うんですね。。

896 :Name_Not_Found:2007/01/16(火) 20:11:22 ID:???
aaa.widthとaaa.style.widthの違いを教えてください。

897 :Name_Not_Found:2007/01/16(火) 20:18:31 ID:???
>>896
aaa.width : imgのみで有効。読み書きともに意味あり。
aaa.style.width : 一般の要素について、幅を設定できる。読んでも無意味。

898 :Name_Not_Found:2007/01/16(火) 20:43:35 ID:???
>897
なるほど!!!解りやすいです。ありがとうございます!

899 :Name_Not_Found:2007/01/16(火) 22:43:49 ID:???
>>897
いいかげんだな。

> imgのみ
HTMLTableElement#width
HTMLTableCellElement#width
HTMLTableColElement#width
etc.

> 読んでも無意味
HTMLの属性またはJSのプロパティとして、
明示的に設定されているかどうかを知るには、
読むだけで十分。
つまり、意味がある。
また、読んでも無意味であるというなら、
それは、CSSが優先されているなどの場合である。
そのような状況では、逆に、設定することも無意味になる。

900 :Name_Not_Found:2007/01/16(火) 22:48:37 ID:???
>>899に加筆。
> CSSが優先
==> 祖先要素のレイアウト次第ではスポイルされたり、ユーザーシートなどが優先

901 :Name_Not_Found:2007/01/16(火) 23:40:26 ID:???
ブログを製作中です。
プルダウンメニューを選択すると勝手にSubmitを押すという動作をさせたいのですが、
どうすればいいのでしょうか?

HTMLは↓のような感じです。
<form action="./jump.php" method="POST" id="MonthSelect">
 <p>
  <select name="month">
   <option value=""> 選択してください </option>
   <option value="2006-12"> 2006/12 </option>
   <option value="2007-01"> 2006/1 </option>
    :
  </select>
  <input type="submit" value="移動" />
 </p>
</form>

よろしくお願いします。

902 :Name_Not_Found:2007/01/17(水) 00:02:13 ID:???
<select id="month" onchange="JavaScript:hoge.click();">
  :
</select>
<input type="submit" id="hoge" value="移動" />

903 :Name_Not_Found:2007/01/17(水) 00:26:52 ID:???
>>902
適当すぎる

<select id="month" onchange="this.form.submit()">
で十分。

904 :901:2007/01/17(水) 00:45:28 ID:???
>>902-903
素早いレスありがとうございます。
試してみましたが、「選択してください」を選んだ時にもジャンプしてしまいます…。
(というか、「valueが無い時は発動させたくない」と注釈をつけなかった自分が悪いです、すみません。。。)

905 :Name_Not_Found:2007/01/17(水) 00:49:09 ID:???
if(this.selectedIndex>0)を付け足せばOK

906 :901:2007/01/17(水) 01:01:47 ID:???
>>905
できました!ありがとうございます。
やっと寝れます…。

907 :Name_Not_Found:2007/01/17(水) 05:13:40 ID:p0nR14XE
>>886
こ、これは! 参考になります。
実は、XMLをどうやって、HTMLで
読み込んだらいいのか、
以前から気になってました。


908 :Name_Not_Found:2007/01/17(水) 07:46:38 ID:Us92T9Dt
JavaScriptでのクラス定義について、質問します。

function MyClass{

// クラス定義いろいろ

return this;
}

クラスを定義した後、最後に return this; は必要なんでしょうか?


909 :Name_Not_Found:2007/01/17(水) 12:46:43 ID:42kWtrMA
質問です。
input type="file"でテキストボックスに入力不可の制限をかけているのですが、
コピペを行われると制限を無視されてしまいます。
どうにかしてコピペすらも入力しないようにしたいく色々調べたのですが、
検討がつかなく質問しました。
ソース
<input type="file" name="file" value="" onkeydown="return false;" style="{ime-mode:disabled}{width:600px}">

だれか教えてください。

910 :Name_Not_Found:2007/01/17(水) 13:13:42 ID:???
>>909
なぜそうする必要があるのかわからないけど、
タイマー走らせて、定期的にクリアしたらダメ?
参照のみ受け付けるようにしたいっていうことなのかな。

911 :Name_Not_Found:2007/01/17(水) 13:47:39 ID:???
>>909
そのテキストボックスの上に透明なレイヤーを配置して
触れないようにすれば。


912 :Name_Not_Found:2007/01/17(水) 14:05:47 ID:prxIBdx3
>>909
onblur()を使ってフォーカスが外れた際、入力値が無効になるような処理をするとか。

913 :Name_Not_Found:2007/01/17(水) 14:09:08 ID:???
>>909 >>912
type=fileの値をJSから変更なんてできないじゃん。
どっちも却下。

914 :初心者:2007/01/17(水) 14:16:06 ID:???
教えてください。

http://soccer.phew.homeip.net/formation/

ここで作ったフォーメーションの表を、ホームページビルダー
に貼り付けて使いたいのですが、1つだとうまく表示されるのに
同じページに2つ以上表示させようとするとうまく表示できません。
2つめ以降はソースをそのまま貼り付けるだけではダメなのでしょうか?
どうすれば同じページで複数表示できますか?


915 :Name_Not_Found:2007/01/17(水) 14:26:38 ID:???
>>914
そもそも同じものを2つ貼ったら変数名とか全部衝突するでしょ。
系統的に名前を変更してから貼るとかすれば?

「初心者」という言葉はこのスレでは使わない方がいいよ。
初心者を言い訳に何も勉強しないで常連を怒らせる奴が過去に
続出したもんで。

916 :Name_Not_Found:2007/01/17(水) 15:47:45 ID:???
>>907
参考にするのはいいがその方法は
IEでしか動かないというのを肝に銘じとけよ。

>>908
必要ではない。

917 :Name_Not_Found:2007/01/17(水) 17:33:33 ID:UqoOIjow
document.write を利用して、SSIの<!--\include virtual=""-->を
利用したいのですがうまくいきません。
SSIを呼び出すことはできないんでしょうか・・?

サーバーが違うため直接SSIで呼び出すことができないので
JSで試してみたんですが・・・何かアドバイスいただけませんでしょうかorz

918 :Name_Not_Found:2007/01/17(水) 18:01:16 ID:???
>>917
まさかとは思うが、
document.write('<!--#include virtual="hoge.html"-->');
してもhoge.htmlを読み込んでくれないよーっていう話?

919 :Name_Not_Found:2007/01/17(水) 18:17:57 ID:???
>>918
まっさかーw

920 :Name_Not_Found:2007/01/17(水) 18:48:49 ID:???
>>917
SSIは「サーバ上でHTMLをブラウザに送出するときに」動作する。
JSは「サーバからブラウザにHTMLが到着した後で」動作する。
到着した後でdocument.write()しても既に終わってしまった
サーバからの送出動作は変更できないだろ。おわかりかな。
それともタイムマシンとか持ってるわけ?

921 :Name_Not_Found:2007/01/17(水) 19:49:56 ID:???
いや、それとも>>918をHTML中に書いたら置き換わるんじゃね

922 :Name_Not_Found:2007/01/17(水) 20:24:57 ID:???
>>921
>>917をもう一度読むんだ
>サーバーが違うため直接SSIで呼び出すことができないので

923 :Name_Not_Found:2007/01/17(水) 22:46:37 ID:IhNSRBP/
http://www.sumnet.ne.jp/domp/jsbs/kaisetsu/window4.htm

このJavaScriptで
一つのページに複数のボタンを設置したいときにどのように変数を書けばいいのでしょうか?


924 :Name_Not_Found:2007/01/17(水) 22:54:38 ID:???
>>923
こういうことかな

<HTML>
<HEAD>
<TITLE></TITLE>
<SCRIPT language="JavaScript">
<!--
function OpenWin(){
win=window.open("window.htm","new","width=100,height=100");
}
function OpenWin2(){
win=window.open("window2.htm","new","width=100,height=100");
}
// -->
</SCRIPT>
</HEAD>
<BODY>
<CENTER>
<FORM>
<INPUT type="button" value="ウィンドウを開く" onClick="OpenWin()">
<INPUT type="button" value="ウィンドウを開く" onClick="OpenWin2()">
</FORM>
</CENTER>
</BODY>
</HTML>

925 :Name_Not_Found:2007/01/17(水) 23:14:12 ID:IhNSRBP/
ありがとうございます。


926 :Name_Not_Found:2007/01/17(水) 23:49:25 ID:???
>>924
関数の引数は何のためにあるのかと小一時間(ry

927 :Name_Not_Found:2007/01/17(水) 23:56:22 ID:???
>>926
なんのため?

928 :Name_Not_Found:2007/01/18(木) 00:00:04 ID:???
>>927
>>924のような決めうちをしなくても引数を変えるだけで
動作を変えられるようにすることや、可読性をあげるため

929 :Name_Not_Found:2007/01/18(木) 00:12:25 ID:???
>>928
こうでしょうか

<script>
function OpenWin(url){
window.open(url || "window.htm","new","width=100,height=100");
}
</script>
<input type="button" value="window" onclick="OpenWin()">
<input type="button" value="window2" onclick="OpenWin('window2.htm')">

930 :Name_Not_Found:2007/01/18(木) 00:18:58 ID:???
>>929
横からだけど、これだと不味そう?

<script>
function OpenWin(url){
window.open(url,"new","width=100,height=100");
}
</script>
<input type="button" value="window" onclick="OpenWin('window.htm')">
<input type="button" value="window2" onclick="OpenWin('window2.htm')">


931 :Name_Not_Found:2007/01/18(木) 00:19:14 ID:???
>>929
こうかな
urlは「url || "window.htm」みたいにデフォルト用意しない方が分かりやすい
なお、widthとheightは統一するなら要らないが、そうでないなら引数にした方がいい

<script type="text/javascript">
<!--
function openWin(url,w,h){
window.open(url,"new","width="+w+",height="+h);
}
//-->
</script>
<input type="button" value="window" onclick="openWin('window.htm',100,100)">
<input type="button" value="window2" onclick="openWin('window2.htm',640,480)">

932 :Name_Not_Found:2007/01/18(木) 00:24:19 ID:???
なんかもう、こうでよくね?
<script type="text/javascript">
<!--
openWin = open;
//-->
</script>
<input type="button" value="window" onclick="openWin('window.htm','new','width=100,height=100')">
<input type="button" value="window2" onclick="openWin('window2.htm','new','width=640,height=480')">

933 :Name_Not_Found:2007/01/18(木) 00:26:25 ID:???
いや、もっと可搬性を持たせた方がいいな。

<script type="text/javascript">
<!--
function openWin(url, target, features){
window.open(url, target, features);
}
//-->
</script>
<input type="button" value="window" onclick='openWin("window.htm","new","width=100,height=100"'>
<input type="button" value="window2" onclick='openWin("window2.htm","new","width=100,height=100"'>

934 :Name_Not_Found:2007/01/18(木) 00:27:16 ID:???
>>932
そっか。関数そのまま引き受けられるのか。
何か見た目気持ち悪いけどそうやって書けるのだね。勉強になった。

935 :932:2007/01/18(木) 00:30:00 ID:???
いや、「openWinいらないじゃん」って言って欲しかったんだけど。

936 :Name_Not_Found:2007/01/18(木) 00:32:42 ID:???
>>932
分かるヤツには分かりやすいが、コピペな人には理解できないだろうね
まあ、これを使うような人は最初からopenで済ませてしまうだろう

>>933
同じだよ逆にそっちの方が無駄だな
openまでに処理しないなら直接openに代入したほうが早い

総じてここ2,3レスにいえるのは、ソースが見やすいことと簡易的に処理したいから関数化していることを忘れている気がする

937 :933:2007/01/18(木) 00:45:49 ID:???
いや、ネタがかぶっただけだ。

938 :924:2007/01/18(木) 01:01:05 ID:???
いまさらだけど
>>923がJavaScriptの文法分かってないような気がしたからあえて
>>924にしたまでで。

自分で作るとしたら、
onclick="window.open()"
ってするかな。
この程度なら。

939 :Name_Not_Found:2007/01/18(木) 01:13:03 ID:???
また window.open() についての質問をスルーできない馬鹿が大量発生か。

940 :917:2007/01/18(木) 01:26:48 ID:jvffLVPH
>>920
わかりやすい説明ありがとうございました!
他にもレスくださったかたありがとうございました。

941 :Name_Not_Found:2007/01/18(木) 04:37:08 ID:rBotG0ec
こんびんわ
ビシィっと質問します

HTMLでの同期通信時、フォーム内にサブミットボタンがあれば、
テキストフィールドにフォーカス置いて、エンターキー噛ますと、サブミットされますよね
(サブミットは多分そうかなぁと、サブミットをdisabledにしてみたらサブミットしんかった)

あれをjavascriptを使った非同期通信時に行うとすれば、どんなアイデアありますか?
ためしにonkeydownでやってみたけど、入力変換時のエンターも拾ってしまって…


942 :Name_Not_Found:2007/01/18(木) 05:08:16 ID:???
>>941
やったことはないけど、onsubmitは?

943 :Name_Not_Found:2007/01/18(木) 05:44:42 ID:rBotG0ec
>942
ajax requestにonsubmitかぁ〜
超盲点。検証してみます〜
ありがと〜

944 :Name_Not_Found:2007/01/18(木) 05:48:46 ID:rBotG0ec
>943
ふと思ったら… onsubmitのイベントを動かすというか、ajax requestを動かす、元イベントの起こし方を探しているので… 違ったかぁ〜
でも、やったことないから試してみます〜
ども〜

945 :Name_Not_Found:2007/01/18(木) 06:26:33 ID:rBotG0ec
単純な検証結果。

onsubmitを加えて、サブミットボタン無しで、テキストフィールドからエンターで確かに…
う〜ん…
画面遷移ありですかぁ。
ほ〜む…

でも、event.observeと相性わりいかも。
フィールドをクリックしただけで、非同期のファンクションがビビ〜ンと動いてしまう。
研究の余地がありそうな悪寒
>>942
ありがとね〜 これは楽しそうだ〜

946 :Name_Not_Found:2007/01/18(木) 07:05:20 ID:???
>>945
いま試してみたけど、遷移しないよ。
<html>
<head>
<title>test</title>
<script type="text/javascript">
window.onload=main;
function main()
{
document.getElementById("f_main").onsubmit=f_main_onsubmit;
}

function f_main_onsubmit()
{
window.alert("foo!bar!");
return false;
}
</script>
</head>

<body>
<form action="./" id="f_main">
<input type="text" />
<input type="submit" />
</form>
</body>
</html>

947 :Name_Not_Found:2007/01/18(木) 07:09:21 ID:???
false返せばおk

948 :908:2007/01/18(木) 07:16:41 ID:LPKiuw3v
>>916
http://www.yasue.us/wordpress/?p=10
をみると、return this; は必要と書いていたのですが、どうでしょうか?

ちょっと動作を試したところ、なくても動くようなのですが、
古いブラウザでは必要だったりはしないものでしょうか?

ずっと昔にも調べたことがあって、
ブラウザによっては必要だったような記憶もおぼろげにあるんです。


949 :Name_Not_Found:2007/01/18(木) 08:26:23 ID:???
>>948
コンストラクタにreturn this;が必要だったことは一度も
ないと思うな。その必要だったブラウザでそんなものが必要
だった理由は覚えてないのかね。調べたんだろ?

950 :Name_Not_Found:2007/01/18(木) 08:28:05 ID:???
新スレは975超えたら。テンプレの変更はなしで。

951 :908:2007/01/18(木) 08:49:57 ID:LPKiuw3v
>>949
数年前のことで、はっきりしたことは全然覚えてないんです。

他のサンプルでも、 return this; しているケースを
Web上でいくつか見かけているので気になっています。

952 :945:2007/01/18(木) 10:19:04 ID:???
>946
出社したのでsageるが許してや〜

書き方の違いかぁ…
その書き方は、完全にウェブデザイナーとプログラマーが別れてるところでよく見たなぁ
Smartyとかテンプレート使い始めたら、タグに直書きがうちの周りでは増えてきたんだが、どなんだろ。
↓一応こんなんで遷移するお〜

<html>
<head>
<title>test</title>
<script type="text/javascript">
function f_main_onsubmit()
{
alert("foo!bar!hoge!");
return false;
}
</script>
</head>
<body>
<form action="./" id="f_main" onsubmit="f_main_onsubmit()">
<input type="text" />
<input type="submit" />
<input type="button" />
</form>
</body>
</html>

953 :Name_Not_Found:2007/01/18(木) 11:11:41 ID:???
>>952
なにをグダグダ書いてるんだ。onsubmitの中からfalseを
returnしなければ遷移するに決まってるだろ。
... onsubmit="f_main_onsubmit(); return false"
または
... onsubmit="return f_main_onsubmit()"
どっちでも自分の好きな(理解できる)方を使えボケ!

954 :Name_Not_Found:2007/01/18(木) 13:10:27 ID:???
関数内じゃなくイベントハンドラ内でreturn false;が俺の好み

955 :Name_Not_Found:2007/01/18(木) 14:20:57 ID:???
今の若い者はそういう書き方をするのか、
わしの若い頃は・・・。

956 :Name_Not_Found:2007/01/18(木) 18:19:12 ID:???
リンクは
a=document.links
a[i].href
でhrefの値が順番に取得出来るじゃないですか
それと同じように
<embed src="〜" type="application/x-shockwave-flash" width="425" height="334" allowfullscreen="true">
のsrcを順番に取得する方法を教えて下さい

957 :Name_Not_Found:2007/01/18(木) 18:36:39 ID:???
>>956
a=document.getElementsByTagName("embed");
a[i].src;

958 :Name_Not_Found:2007/01/18(木) 18:46:06 ID:???
>>957
どもです

が、動かない…
ttp://jp.selfhtml.org/javascript/objekte/anzeige/embeds_src.htm

javascript:a=document.getElementsByTagName("embed");prompt("",a[0].src);
を実行したら「undefined」が返ってきたんですが、これって未対応ってやつですか?
ブラウザーはオペラ7.60携帯版です

959 :Name_Not_Found:2007/01/18(木) 19:21:12 ID:???
<html lang="ja">
<head>
<meta http-equiv="Content-Script-Type" content="text/javascript">
<meta http-equiv="Content-Style-Type" content="text/css">
<title>test</title>
<style type="text/css"><!--
div.ksk{ color: #ffffff; background-color: #0000ff; }
//--></style>
<script type="text/javascript"><!--
function test(){
var oDivDisp = document.getElementById( "disp" );
var oDivKsk = document.createElement( 'DIV' );
oDivKsk.setAttribute( 'CLASS', 'ksk' );
var oTxtKsk = document.createTextNode( 'あhoge' );
oDivKsk.appendChild( oTxtKsk );
oDivDisp.appendChild( oDivKsk );
}
//--></script>
</head><body onload="test()">
<div id="disp"></div>
</body></html>

こんな感じでDOMでclass属性つきのdivを書き出したのですが、
IEだとスタイルシートが適用されません。
これは仕様でしょうか。

960 :Name_Not_Found:2007/01/18(木) 20:14:28 ID:???
>>959
setAttribute()は使うなって。とくにIEで動かないものが沢山あるから。
oDivKsk.className = 'ksk';
全部こうやって直接プロパティに入れるようにすべし。わかった?
>>958
embedってそもそも標準外だしヘンなオブジェクトだったりするから
やってみて動かないなら駄目なんじゃない?と洩れは思っている。

961 :Name_Not_Found:2007/01/18(木) 20:17:16 ID:???
>>960
判りました。
classNameで指定したらちゃんと動きました。
どうもです。

962 :Name_Not_Found:2007/01/18(木) 20:25:48 ID:???
すいませんもう一つお願いします。
onclick属性はどうやって指定すればよいのでしょうか。

963 :Name_Not_Found:2007/01/18(木) 20:38:02 ID:???
ボンクラは隔離スレに行った方が良いでしょうね。

964 :Name_Not_Found:2007/01/18(木) 20:45:26 ID:???
>>962
さすがに怒るよ。過去スレ全集をonclickで検索すれば
嫌と言う程見つかるだろ。テンプレ読んでないな?

965 :Name_Not_Found:2007/01/18(木) 20:47:36 ID:???
いや、
oDivKsk.onclick = "javascript:window.close()";
とやって、このdivをクリックしてもopera以外では動かなかったんですよ。

966 :Name_Not_Found:2007/01/18(木) 20:47:57 ID:???
>>960
ブラウザーが外れだったみたいですねー
ありがとうごさいました

967 :Name_Not_Found:2007/01/18(木) 20:54:29 ID:???
<A HREF="〜"<B>あ</B>い</A>
を選択した状態で
javascript:void(prompt("",document.activeElement.firstChild.nodeValue))
を実行すると「い」が返ってきますが、「あい」と返すにはどうしたら良いのですか?javascript:void(prompt("アクティブなタグのHTML",document.activeElement.outerHTML))で正規表現使わないと無理ですかね?

968 :Name_Not_Found:2007/01/18(木) 21:04:28 ID:???
>>965
DOM-Events 歴史
 最初
   <input ... onclick="処理">
 NN3
   obj.onclick = myFunc
 NN4, IE4, Opera5-6
   obj.onclick = myAnonymousFunc
 IE5, Opera7
   obj.attachEvent('onclick', my(?:Anonymous)?Func)
 Opera7
   obj.addEventListener('click', my(?:Anonymous)?Func, useCapture)
 現在のEventTarget#addEventListener()
   obj.addEventListener('click', (?:my(?:Anonymous)?Func|myEventListener), useCapture)

DOM-(?:HTML|Core)
 IE
   obj.setAttribute('onclick', myFunc)
 標準
   obj.setAttribute('onclick', 'myFunc()')

969 :Name_Not_Found:2007/01/18(木) 21:21:46 ID:???
>>968
どうもです。この場合は関数として指定してやればうごくんですね。

970 :Name_Not_Found:2007/01/19(金) 00:11:03 ID:dCkTdJtE
DOM2,3 Eventsの
DOMFocusInとfocus、
DOMFocusOutとblur
DOMActivateとclickって何がどう違うんですか?
DOMActivateはマウスに限らず汎用的なもの?な気がしますが、
focusの方はさっぱりわかりません。

971 :Name_Not_Found:2007/01/19(金) 00:27:36 ID:???
The DOMFocusIn event occurs when an EventTarget receives focus, for instance via a pointing device being moved onto an element or by tabbing navigation to the element.
Unlike the HTML event focus, DOMFocusIn can be applied to any focusable EventTarget, not just FORM controls.

The DOMFocusOut event occurs when a EventTarget loses focus, for instance via a pointing device being moved out of an element or by tabbing navigation out of the element.
Unlike the HTML event blur, DOMFocusOut can be applied to any focusable EventTarget, not just FORM controls.

The activate event occurs when an element is activated, for instance, thru a mouse click or a keypress.
A numerical argument is provided to give an indication of the type of activation that occurs: 1 for a simple activation (e.g. a simple click or Enter), 2 for hyperactivation (for instance a double click or Shift Enter).

972 :Name_Not_Found:2007/01/19(金) 02:27:32 ID:yWkKYI6a
画像をsubmitボタンとして使っているのですが、二重送信防止のために1度クリックされたら再度クリックできないようにしたいと思っています。
buttonだったらonclickでdisableにすればよいと思いますが、画像リンクの場合はどのようにすればよいでしょうか?

973 :Name_Not_Found:2007/01/19(金) 02:54:18 ID:???
>>972
試したことはないけど
<input type="image" />
でdisable使える記憶があるお

974 :Name_Not_Found:2007/01/19(金) 02:56:52 ID:???
フラグ立てるなりなんなりすればいいじゃない

975 :Name_Not_Found:2007/01/19(金) 03:25:21 ID:???
>>967
なんか日本語おかしいな
書き直し

a=document.linksで
<A HREF="http://a">1<B>2</B>3<B>4</B>5</A>
から
1<B>2</B>3<B>4</B>5
又は
12345
を取得する方法を教えて下さい

a[i].firstChild.nodeValue
a[i].firstChild.innerHTML
a[i].firstChild.innerTEXT
a[i].firstChild.outerHTML
だと一部しか返ってこないんですよ

976 :Name_Not_Found:2007/01/19(金) 03:30:28 ID:???
>>975
上なら a[i].innerHTML
下はテキストノードをなめる必要があるな

977 :Name_Not_Found:2007/01/19(金) 03:38:58 ID:???
>>975
IEなら、a[i].innerText
W3Cなら、a[i].textContent

978 :Name_Not_Found:2007/01/19(金) 03:55:46 ID:???
>>976-977
a[i].innerTextで下の12345が返ってきました
ありがとう ありがとう
ありがとうごさいましたっ!

979 :Name_Not_Found:2007/01/19(金) 05:08:24 ID:RcD9bcpL
var x = {c:1, y:2, z:function(){alert('a')} };
s(x);
function s(c){
c.z();
setTimeout('s('+c+')', 100);
}

setTimeoutで引数にobjectを渡すとエラーコンソールに

missing ] after element list
s([object Object])

とでてエラーが出てしまうのですが何が悪いのでしょうか


980 :Name_Not_Found:2007/01/19(金) 05:12:50 ID:9l1/EnVu
htmlでjsの外部リンクを作りたいのですがオブジェクト指定をしてくださいとエラーが出てしまいます。
htmlで使っていた<!-- -->や<script></script>は削除してjsファイルに保存してあります。
htmlでは問題なく動作するのですがどうか原因を教えてください。

981 :Name_Not_Found:2007/01/19(金) 06:59:28 ID:???
>>979
よく考えてみろ。
's('+c+')'
の部分は文字列渡すところだろ。
cは文字列結合されて、
s([object Object])
になる。
つまり、
's(c)'
でおk

982 :Name_Not_Found:2007/01/19(金) 07:02:49 ID:???
>>979
>>981
おkじゃなかった。
cは無理ぽい。
なんでかはわからね

983 :Name_Not_Found:2007/01/19(金) 07:04:39 ID:???
>>979
グローバルな識別子はおkみたい。。

984 :Name_Not_Found:2007/01/19(金) 07:06:12 ID:???
var x = {c:1, y:2, z:function(){alert('a')} };
s(x);
function s(c){
d=c;
c.z();
setTimeout('s(d)', 100);
}

985 :Name_Not_Found:2007/01/19(金) 07:07:04 ID:???
>>979
JavaScriptなら、setTimeout(s, 100, c)
JScriptなら、setTimeout(function () {s(c);}, 100)

ただし、今回の変数(引数) c は大丈夫ということになっているが、
c の素性次第では、クロージャでメモリーリークするそうだ。

そもそも、var x とグローバルに宣言しているわけだから、
function s() {
  x.z();
  setTimeout(s, 100);
}
みたいに書く方が危険(と言うほどの物でもないが)がない。

986 :Name_Not_Found:2007/01/19(金) 07:10:17 ID:???
>>984
大局変数 x を参照する大局変数 d が増やされるだけ。

987 :Name_Not_Found:2007/01/19(金) 07:12:50 ID:???
なんで
var x = {c:1, y:2, z:function(){alert('a')} };
s(x);
function s(c){
c.z();
setTimeout('s(c)', 100);
}
これだと、cがないよーって言われるのか教えて。
仮引数だから?

988 :Name_Not_Found:2007/01/19(金) 07:25:53 ID:RcD9bcpL
>>985
参考になりましたありがとうございます

989 :Name_Not_Found:2007/01/19(金) 07:40:36 ID:???
>>987
setTimeout('s(c)', 100);
の's(c)'は、setTimeoutの指定された時間に実行される直前で翻訳されるから
翻訳される時点ではs関数は既に終了しており、文字列内で使用している変数のスコープは
s関数内から外れてしまいクロージャとしても解釈されない。
よって、文字列内のcはグローバル変数と解釈される。

990 :Name_Not_Found:2007/01/19(金) 08:00:47 ID:???
>>989
ありがとう

991 :Name_Not_Found:2007/01/19(金) 08:39:18 ID:???
次スレ
http://pc10.2ch.net/test/read.cgi/hp/1169163372/l50

992 :Name_Not_Found:2007/01/19(金) 09:36:10 ID:???
次スレもたったことだし、いまだにとほほが
参照され続けている理由を考えてみないか。
個人的には初心者がとりあえず知りたいと思うような
情報を(正確さはともかく)まとめてあるからだと思うんだが。

993 :Name_Not_Found:2007/01/19(金) 10:13:14 ID:???
javascript リファレンス
これでググると「とほほ」がトップで引っかかる
これが原因かと

994 :Name_Not_Found:2007/01/19(金) 10:13:29 ID:???
うん。だからとほほ見に行くのは自由でしょ。正確じゃないことが
あるという警告してるだけで。このスレのコンセプトは初心者に
優しいというものではないからそれでいいと思うのね。

995 :Name_Not_Found:2007/01/19(金) 10:21:11 ID:???
>>993
これだな。

996 :Name_Not_Found:2007/01/19(金) 10:37:01 ID:???
正確じゃないリファレンスというのがどうも訳わからんというか
有害だよな。チュートリアルならまだしも。

997 :Name_Not_Found:2007/01/19(金) 10:39:53 ID:???
次スレ
http://pc10.2ch.net/test/read.cgi/hp/1169163372/l50

998 :Name_Not_Found:2007/01/19(金) 11:26:19 ID:???
最も有害なのは関数型のサンプルに必ずある再帰で書かれたフィボナッチがそのままJSに移植されたコードだろう。ダサかろうが何だろうが、遊んでないで、ループでやれと言いたいし、有害コードを書き残すなと言いたい。

近年流行の有害は、XPathに "//" しか書いていない覚書だろう。頻繁に使うはずのfollowing軸の例示もしなきゃ。

この一連のスレで過去に俺が書いた有害の一つは、TreeWalker作成時の引数であるNodeFilterを匿名ローカル関数にして、Fxのメモリーリークに該当してしまったコードだ。

999 :Name_Not_Found:2007/01/19(金) 12:59:39 ID:???
次スレ
http://pc10.2ch.net/test/read.cgi/hp/1169163372/l50

1000 :Name_Not_Found:2007/01/19(金) 13:04:38 ID:???
「次スレ」って何て読む?

1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

305 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.02.02 2014/06/23 Mango Mangüé ★
FOX ★ DSO(Dynamic Shared Object)