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

1 名前:Name_Not_Found 投稿日:2005/04/29(金) 20:33:33 ID:???
━━━━━JavaScript質問スレ道場訓━━━━━
 一、礼節を重んじ常に努力精進すること
 一、ブラクラに打ち勝つ精神力を持つこと
 一、心身の優れたJavaScriptを学ぶこと
 一、雑草の如く生涯JavaScriptを貫くこと
 一、感謝と反省を忘れないこと
 以上
━━━━━━━━━━━━━━━━━━━━━━

このスレに書き込むことが許されるものは以下のとおり
・JavaScriptとJavaの違いを理解する者
・スクリプトを組むための最低限のHTML・CSSを理解する者
・ユーザーに迷惑となるスクリプトを書かない者
・FAQ・過去ログや関連資料を読むことができる者
・「初心者です」を振りかざさず、質問を分かる日本語で説明できる者
・対象環境や使用技術は質問者の裁量であることを理解する者
 (質問時、回答時にはなるべく対象環境を明記しよう)

前スレ http://pc8.2ch.net/test/read.cgi/hp/1110578338/l50
まとめサイト http://web2ch.s31.xrea.com:8080/?JS
FAQ・注意>>1-5、過去ログ・関連資料・関連スレ>>1-50またはまとめサイト

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

3 名前:Name_Not_Found 投稿日:2005/04/29(金) 20:34:37 ID:???
【FAQ】
Q1. 開いた別窓/フレームの内容にアクセスできないのですが…
A1. ページ内容が別サーバの場合セキュリティ制約により絶対無理です。
Q2. JavaScriptでローカルファイルを読み/書きたいのですが…
A2. Webではセキュリティ制約により絶対無理です。できたら恐ろしいことに…
Q3. document.write(...)でページ内容を追加したいのですが…
A3. 一度ページ表示完了後にwrite()すると内容はクリアされちゃいます。
 部分的に内容変更するには(1)他フレーム/iframe/別窓への表示、
 (2)textarea等への表示、(3)DOMでノード挿入、(4)innerHTMLのどれかで。
 innerHTMLは非標準ですがIE、Opera、Gecko(N6/N7/Moz等)で対応済。
Q4. table/tbody/tr要素のinnerHTMLを書き換えるのがうまく行かないのですが…
A4. IEはそれらの要素のinnerHTMLは変更不能。DOMを使って書き換えるしかない。
Q5. Aタグのonclickで動作指定してるのですが時々動きません…
A5. 「onclick="...;return false"」としないとページ移動しちゃうから。
Q6. 変数w1、w2…を順にループで(番号をiに入れて)設定/参照したいのですが…
A6. グローバル変数はwindowのプロパティだからwindow['w'+i]を読み書きすれ。
Q7. フォーム部品名を変数にした「...myform.変数名.value」が動きません…
A7. 「document.forms.myform.elements[変数名].value」でどぞ。
 JavaScriptでは一般に「obj.x」と「obj['x']」は同じ意味です。
 例:「obj.p0=obj.p1=...=obj.p8=0;」⇔「for(i=0;i<9;i++) obj['p'+i]=0;」。
Q8. CSSで設定した背景色がe.style.backgroundColorで取得できないのですが…
A8. IEではe.currentStyle、Geckoではwindow.getComputedStyle()を使います。
Q9. 100*1.15の結果が114.999…998となってしまうのですが…
A9. コンピュータの実数計算は全て近似値だと思え。誤差が嫌なら整数で計算。
Q10. 任意のデータをサーバ(別鯖ではない)から取り寄せたいのですが…
A10. Geckoのnew XMLHttpRequest()、IEのnew ActiveXObject("Microsoft.XMLHTTP")
 を使えばできる。古いブラウザだと隠しフレームに読むなどのワザが必要。

4 名前:Name_Not_Found 投稿日:2005/04/29(金) 23:07:08 ID:???
【過去ログ】vol.23までは全部読めます。マスターしたらあなたもJavaScriptのプロ。
vol. 1 (倉庫)ttp://mentai.2ch.net/hp/kako/972/972192155.html
vol. 2 (倉庫)ttp://natto.2ch.net/hp/kako/985/985424635.html
vol. 3 (倉庫)ttp://natto.2ch.net/hp/kako/994/994168119.html
vol. 4 (倉庫)ttp://natto.2ch.net/hp/kako/997/997445548.html
vol. 5 (倉庫)ttp://pc.2ch.net/hp/kako/1002/10025/1002539301.html
vol. 6 (倉庫)ttp://pc.2ch.net/hp/kako/1005/10059/1005979370.html
vol. 7 (倉庫)ttp://pc.2ch.net/hp/kako/1010/10108/1010823511.html
vol. 8 (倉庫)ttp://pc.2ch.net/hp/kako/1014/10142/1014289221.html
vol. 9 (倉庫)ttp://pc.2ch.net/hp/kako/1017/10176/1017668857.html
vol.10 (倉庫)ttp://pc.2ch.net/hp/kako/1022/10220/1022077876.html
vol.11 (倉庫)ttp://pc.2ch.net/hp/kako/1026/10266/1026611260.html
vol.12 (倉庫)ttp://pc3.2ch.net/hp/kako/1030/10301/1030162756.html
vol.13 (倉庫)ttp://pc3.2ch.net/hp/kako/1033/10333/1033385900.html
vol.14 (倉庫)http://pc3.2ch.net/hp/kako/1036/10369/1036934434.html
vol.15 (倉庫)http://pc5.2ch.net/hp/kako/1041/10417/1041701828.html
vol.16 (倉庫)http://pc5.2ch.net/hp/kako/1045/10452/1045265973.html
vol.17 (倉庫)http://pc5.2ch.net/hp/kako/1047/10478/1047807902.html
vol.18 (倉庫)http://pc5.2ch.net/hp/kako/1051/10510/1051020507.html
vol.19 (倉庫)http://pc5.2ch.net/hp/kako/1054/10540/1054043048.html
vol.20 (倉庫)http://pc5.2ch.net/hp/kako/1056/10568/1056808693.html
vol.21 (倉庫)http://pc5.2ch.net/hp/kako/1059/10595/1059553020.html
vol.22 (倉庫)http://pc5.2ch.net/hp/kako/1062/10629/1062943541.html
vol.23 (倉庫)http://pc5.2ch.net/hp/kako/1067/10670/1067085950.html

5 名前:Name_Not_Found 投稿日:2005/04/29(金) 23:08:08 ID:???
【過去ログつづき】
vol.24 http://pc5.2ch.net/test/read.cgi/hp/1070943773/l50 (行方不明)
vol.25 http://pc5.2ch.net/test/read.cgi/hp/1075096787/l50 (行方不明)
vol.26 http://pc5.2ch.net/test/read.cgi/hp/1077362343/l50
vol.27 http://pc5.2ch.net/test/read.cgi/hp/1080743738/l50
vol.28 http://pc5.2ch.net/test/read.cgi/hp/1084943518/l50
vol.29 http://pc5.2ch.net/test/read.cgi/hp/1087889503/l50
vol.30 http://pc5.2ch.net/test/read.cgi/hp/1091236825/l50
vol.31 http://pc5.2ch.net/test/read.cgi/hp/1095310099/l50
vol.32 http://pc5.2ch.net/test/read.cgi/hp/1099662733/l50
vol.33 http://pc5.2ch.net/test/read.cgi/hp/1103844975/l50
vol.34 http://pc5.2ch.net/test/read.cgi/hp/1107580877/l50
vol.35 http://pc8.2ch.net/test/read.cgi/hp/1114774413/l50

6 名前:Name_Not_Found 投稿日:2005/04/29(金) 23:08:31 ID:???
【標準規格・リファレンス】
規格を読まずにどうなってるか分からんとか質問しないこと!

ECMA-262
http://www.ecma-international.org/publications/standards/ECMA-262.HTM

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

MSDN Library JScript ドキュメント
http://www.microsoft.com/japan/msdn/library/ja/script56/html/js56jsoriJScript.asp

Microsoft MSDN online Library DynamicHTML (現在日本語版は古杉)
http://msdn.microsoft.com/workshop/author/dhtml/reference/dhtml_reference_entry.asp

N6 Core JavaScript1.5
http://developer.netscape.com/docs/manuals/js/core/jsref15/contents.html

Gecko DOM
http://www.mozilla.org/docs/dom/domref/

NN4.x Client-side JavaScript1.3
http://developer.netscape.com/docs/manuals/js/client/jsref/index.htm

Netscape 一般
http://developer.netscape.com/

7 名前:Name_Not_Found 投稿日:2005/04/29(金) 23:08:58 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

JavaScript basic samples (ショボイとの説あり)
http://www.sumnet.ne.jp/domp/jsbs/

初めてのホームページ講座 JavaScript Dynamic HTML SAMPLES (同上)
http://www.hajimeteno.ne.jp/dhtml/

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

JavaScript深層
http://www.hawk.34sp.com/

(とほほのJavaScriptリファレンスは誤り多数という意見もあり議論中)

8 名前:Name_Not_Found 投稿日:2005/04/29(金) 23:10:00 ID:???
【検索】
「キーワード『…』で検索しろ」「ぐぐれ」と言われた場合はこちらへ
http://www.google.co.jp/

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

Webサイト制作初心者用質問スレ Part 126
http://pc5.2ch.net/test/read.cgi/hp/1111159738/l50

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

CSS/DHTMLバグ辞典スレッド 第4版
http://pc5.2ch.net/test/read.cgi/hp/1078463560/l50

役に立つ書籍は? 2冊目
http://pc5.2ch.net/test/read.cgi/hp/1099736818/l50

9 名前:Name_Not_Found 投稿日:2005/04/29(金) 23:13:55 ID:???
以上?本来は>>1>>4>>5>>6>>7>>8>>2>>3の順番

10 名前:Name_Not_Found 投稿日:2005/04/29(金) 23:16:12 ID:???
うは…貼り終って>>1が変わってることに気づいた…  ○| ̄|_スマソ

11 名前:Name_Not_Found 投稿日:2005/04/30(土) 00:35:30 ID:???
スレ立て人です。まあ、よろしいんじゃないですか。乙。
リファレンスだけは用意しといたの貼りますね。
【標準規格・リファレンス】
規格を読まずにどうなってるか分からんとか質問しないこと!

まとめサイト
http://web2ch.s31.xrea.com:8080/?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

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://devedge-temp.mozilla.org/index_en.html

12 名前:Name_Not_Found 投稿日:2005/04/30(土) 06:52:25 ID:???
この script を Safari 対応にしたいです。
ttp://www.twinhelix.com/dhtml/tipster/
"online demonstration" のリンクをたどるとデモが見られますけど、
Safari だと、ページをスクロールさせると、ポップアップの位置がおかしくなります。
あれこれポップアップ のソースと見比べながらやってるんですけど、
いまいちよくわかりません。誰かわかる人いますか?
よろしくお願いします。

13 名前:Name_Not_Found 投稿日:2005/04/30(土) 08:38:03 ID:???
ひ(ryからの質問を丸投げ

>420 名前: ひろゆき 投稿日: 2005/04/30(土) 08:14:18 ID:MwpM7v990 BE:?###

>前にアクセスするだけで2chに書き込めるjavascriptの罠があったかと思うのですが、
>javascriptで環境変数を設定する方法ってどうやるんでしたっけ?

http://qb5.2ch.net/test/read.cgi/operate/1114770057/420

もし分かる人が居るならよろしくお願いしますー

14 名前:Name_Not_Found 投稿日:2005/04/30(土) 09:10:46 ID:???
>>12
そのぐっちゃぐちゃなソースを直す気にはならないので概要だけ。
縦スクロール位置を取得するメソッドscrollYの中でIE用とその他
用を枝分かれさせてるけど、Safariの場合枝分かれの行く方向が
違うんじゃないかな。しかしこのスクリプトのブラウザ判別が
どういう分類でフラグ立てているのかまで読んでないのでどう
直せばいいかまでは助言できません。


15 名前:Name_Not_Found 投稿日:2005/04/30(土) 12:58:53 ID:Ox/LXVTy
現在、プルダウンメニュー2個を使って、
2都市間の距離を表示する仕組みを考え中です。
作りたい動作としては(東京と名古屋の場合)…
プルダウンメニュー(その1)で「出発地(東京)」を選択、
プルダウンメニュー(その2)で「目的地(名古屋)」を選択して、
「計算」ボタンを押すと、テキストエリアに「2都市間距離(例えば100km)」と表示されて、
「クリア」ボタンを押すと、テキストエリアが空っぽに戻る…といった感じです。

解説本を買ってきたり、過去スレ見て作っているけど
ピクリとも動かない…し、何が悪いかわからない。
現段階のものを誰かに見てもらって、
何か教えてもらえたらと思いまして…。
いったい、何がいけないんでしょうか…?全部?……涙

長いので貼ります。
http://www.uploda.org/file/uporg85814.txt


16 名前:Name_Not_Found 投稿日:2005/04/30(土) 13:13:52 ID:???
>>15
この「Var」ってのは何さ。JavaScriptなどのプログラミング言語
では勝手に大文字小文字を変えてはいけない。だいたいがこういう
のだと構文エラー出てるはずだけどエラー見てないのかよ。

17 名前:Name_Not_Found 投稿日:2005/04/30(土) 13:25:21 ID:???
>>15
>>16が言うようにVarではなくvar

それと } の後ろにセミコロンはいらない

18 名前:15 投稿日:2005/04/30(土) 13:26:16 ID:Ox/LXVTy
>>16
!!!!!
小文字にしたら動いた!!!!!
ありがとう!!!
すごい嬉しい!!!
生まれて初めて作ったjavascriptが動いた!!!!
本当にありがとう!!!!

こんなところに問題があったなんて…。
でも、嬉しい!!!こんなミスだけで、他がなんとか組めていたことが嬉しい!!!

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

19 名前:15 投稿日:2005/04/30(土) 13:27:58 ID:Ox/LXVTy
>>17
ありがとう。

そのセミコロンの付け位置すらもわかっていなかったので…。
これからさらに勉強しますわ!!!

20 名前:Name_Not_Found 投稿日:2005/04/30(土) 13:45:35 ID:???
ともかくエラーは見るように。>>2の(4)ね。

21 名前:15 投稿日:2005/04/30(土) 13:49:59 ID:Ox/LXVTy
>>16
>>17
>>20
お恥ずかしながら、
エラーがブラウザの設定で出せることすら知らず…
いま、「構文エラー」の出し方を調べてきました。
また、かしこくなれました。
ありがとうございます。ほんとに。

22 名前:Name_Not_Found 投稿日:2005/04/30(土) 14:11:51 ID:KMU0ShKx
フレームを使用したサイトで、
メニュー(A)とコンテンツ(B)の2つのフレームに分割してあります。

Aのアンカータグの記述を <a taget="B" href="***.html"> としてありますが
このリンクをクリックしてBに新たなページが表示された際に、フレームBを
アクティブにする方法はあるでしょうか?

これはBのページが縦に長い場合に、キーボード操作でのスクロールが
しやすいようにするためです。

BのページのbodyタグにonLoadを使用すればできそうだ、というところまでは調べましたが、その先がわかりません。

23 名前:Name_Not_Found 投稿日:2005/04/30(土) 14:14:30 ID:???
別窓関連の質問で恐縮ですが…
ttp://forum.nifty.com/fhpg/utility/script/s0044.htm
↑こちらの 『画像ぴったりに小窓を開く』 というJavaScriptを弄っているのですが
後になって画像ぴったりではなく右辺が少しと下辺がかなりはみ出ている事に気付きました
※onClickで現れる新規小窓がリサイズ可能なのでウィンドウサイズを広げて確認できます

どうやら 画像サイズ=タイトルバーとウィンドウのフチ幅を含んだサイズ になっている?
marginの類を入れても反映されないのですが、そもそもそれでIEのバーの幅に合わせても
他のブラウザでは幅が違うのでうまくいきません(FireFoxだとスクロールバーまで出ました)

画像サイズ=ウィンドウ全体サイズ ではなく =ドキュメント内サイズ にする方法、
若しくはhtmlを個別に作成せずに画像ファイルへのリンクで同様の動作をする記述法
お尋ねしたいのです よろしくお願い致します

24 名前:Name_Not_Found 投稿日:2005/04/30(土) 15:03:54 ID:???
>>22
「<body onload="window.focus()">」で駄目なの?前スレにあったよな…

25 名前: ◆q7u/null4U 投稿日:2005/04/30(土) 15:38:07 ID:???
>>23
・ Popup Window (別窓) は嫌われる.
鬱陶しいからフィルタリングしている人が多い.
そうなると見てもらうことすらおぼつかなくなる.

・ "〜にぴったり" 何てことを考えても意味はない.
なぜなら, web-browser ごとにレンダリングのクセがあるから.
"あちら立てばこちら立たず" になるのが関の山.

このような ことに こだわっている ひまがあれば,
心配りすることが別にあるはずだ.

解決策としては
1. 画像そのものを見えなくしておく.
(style="display:none")
2. どこかをクリックした時に表示されるようにする.
(style.display='inline')
3. 用済みの画像は再び隠せるようにする.
(style.display='none')

26 名前:Name_Not_Found 投稿日:2005/04/30(土) 16:03:13 ID:???
>>23 ホレ。スクロールバーのせいか小さい側からだと計算が合わない。
ちょっと広くしてから合わせる必要があるようだ… (最終サイズも少し
余裕を見ないとスクロールバーが出てしまう…)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function chg(gw, gh) {
var w = document.documentElement.clientWidth;
var h = document.documentElement.clientHeight;
window.resizeBy(gw-w, gh-h);
}
</script>
</head><body style="margin:0px;padding:0px"
onload="chg(628,428);setTimeout(function(){chg(604,404);},500)">
<div><img src="t.gif" alt="test"></div></body></html>

27 名前:23 投稿日:2005/04/30(土) 16:31:30 ID:???
>25
嫌われると言われてしまうと言葉を返せないのですが…管理側の我侭というか
この時代に珍しい細い回線環境なので別窓で開いておく〜という動作も嫌悪抱かなくて;
これまでの更新作業効率も考えてこのような仕様を考えました 他に拘っている理由は
著作表示をタイトルバーに出せる(TITLEを任意の文字に可変できる)という部分です
自作画像のサイトの為htmlを用いない場合この方法で著作表示できれば助かるのです
一般論は理解しているのですが変に拘る癖が…とにかくアドバイスどうも有難うございます!

>26
これはお手数お掛けしました…!
でも申し訳無い事に こちらの言葉が足りずに意図の食い違いが起こってしまったようです
リストを置くhtmlから画像ファイルにリンクしてJavaScriptでドキュメントを書き出し新規窓表示、
画像を読み込んで自動リサイズ〜その他諸々の条件〜という動作にしたくて…スイマセン

>23に追記すると
画像ぴったりの小窓を開く(document.で書き出す)JavaScriptは見つかるんですが
・他のリンクを開いても同ウィンドウで開いたりフォーカスを失ったりしない というのと
・タイトル部に任意の文字列を指定できる という部分を重視しています
・外部CSSも組み込めれば理想なのですが…(>23のサンプルではこれらができていました)
ttp://mugi.cc/js/000307.htm こちらのJavaScriptを改変してできないかと奮闘中です

28 名前:23 投稿日:2005/04/30(土) 16:54:34 ID:???
更に追記です 分かり難くてすいません
要は画像ごとのhtmlを個別に作らずに 更にいちいちユーザー側が窓サイズを指定せずに
リンク先の画像ぴったりのウィンドウにリサイズしてくれるhtmlを自動書き出ししてくれるスクリプト
です、>23のスクリプトで殆ど条件は満たされているのですが ウィンドウサイズが合わなくて…

>27 の・タイトル部〜 とか ・外部CSS〜 というのは
JavaScriptで新規表示したウィンドウに適用したい統一条件です
(全てのページがJavaScript部で指定した同一タイトルになる)

29 名前:Name_Not_Found 投稿日:2005/04/30(土) 17:12:40 ID:???
>>27-28
だから >>23 のスクリプトと >>26 を組み合わせるんでしょ。
そもそも当初の質問は「枠の幅を勘案してぴったりにするには」
だったんだからね。組み合わせるくらい自分でやらなくちゃ。
洩れはやらないからね。

30 名前:Name_Not_Found 投稿日:2005/04/30(土) 17:55:00 ID:VSmMI0UG
すみません、数値を2進数で書くにはどうしたらいいのでしょうか
いまのところ、文字列として2進数を書いて、それを parseInt(文字列, 2)で数値化しているのですが
8進数で先頭に 0 、 16進数で先頭に 0x をつけるのと同様にして表せないのでしょうか?

31 名前:Name_Not_Found 投稿日:2005/04/30(土) 17:57:45 ID:???
表せない。

32 名前:Name_Not_Found 投稿日:2005/04/30(土) 17:58:50 ID:???
>>30
できない。そもそも2進数でリテラル(定数)の書ける言語って
PL/Iしか知らん。parseInt()で十分じゃん。

33 名前:30 投稿日:2005/04/30(土) 18:12:51 ID:VSmMI0UG
ありがとうございました
脳内変換かparseInt()でがんばります

34 名前: ◆q7u/null4U 投稿日:2005/04/30(土) 19:00:08 ID:???
>>27
う〜ん, 今時 dial-up (or ISDIN)の人が居るとは...
しかし, そういう環境の人に気配りするのなら,
クリック回数を少なくする配慮が必要だろう.
いっそのこと画像を使うのをやめたほうが良いかもしれない.

>著作表示をタイトルバーに出せる
titel は bookmark にも使われる.
bookmark の title に著作表示が長々と入るなんて, 邪道.
JavaScript でソースを書き出すにしても許せん !

どうしてもやりたいのなら, ご自分で苦労して書き上げるべし.

35 名前:Name_Not_Found 投稿日:2005/04/30(土) 19:25:17 ID:???
>29
はい、すいません 助言どうも有難うございます
document.writeln()内に更にスクリプトを入れる形になるんですね?
組み合わせてみたんですが新規画面に画像が表示されなくなったり奮闘中です

>34
またまた意見感謝です 画像使うなと言われても 画像メインなもので…
しかし膨大な量の画像を置いたりする訳では無く リストにはサムネイルを置くので
不要なクリックは避けられると思います bookmarkは…別窓画像にブックマーク!?浅はかでした…
著作表示はサイト名くらいでとても短いのですが 邪道ですか; Altで入れた方が良ですかね
素人の妙な拘りですいません、為になる意見本当にどうも有難うございました!

36 名前:Name_Not_Found 投稿日:2005/04/30(土) 20:08:28 ID:???
いちいちnullに応答しないでホスイ。このスレの「無視すべき人物」という
ことになっている。半可通な(そしてピント外れな)回答で有名。

37 名前:Name_Not_Found 投稿日:2005/04/30(土) 20:18:32 ID:???
>>36
レスアンカーを書かないのは連鎖あぼーんされたくないからでしょうか。
くだらないことをレスしないで欲しい。ウザイです。

38 名前: ◆q7u/null4U 投稿日:2005/04/30(土) 20:18:35 ID:???
>>35
<head>
<style type="text/css"><!--
.thumb{width:87px;height:63px;};
#tgt0{width:290px;height:210px;display:none;};
--></style>

<script type="text/javascript"><!--
cpy='copyright string';
function init(){
tgt=document.getElementById('tgt0');
}
function show(x){
tgt.src=x.src;
tgt.title=cpy;
tgt.style.display='inline';
}
function hide(x){
x.style.display='none';
}
//--></script>
</head>

<bodyonload="init()">
<img alt="img 1" onclick="show(this)" src="../***/***1.png" class="thumb">
<img alt="img 2" onclick="show(this)" src="../***/***2.png" class="thumb">
<img alt="img 3" onclick="show(this)" src="../***/***3.png" class="thumb">
<p>
<img alt="target" onclick="hide(this)" src="dmm.png" id="tgt0">
</p>
</body>

39 名前: ◆q7u/null4U 投稿日:2005/04/30(土) 20:32:49 ID:???
>>35
これは以前あった質問のために書いた擬似 thumb-nail script.
thumb-nail の部分は単に縮小表示しているに過ぎない.
そのため, 画像の数が多くなるとレスポンスの低下が心配になる.

その代わり, 表示画像を増やす時に script に変更の必要がなく,
単に themb-nail の記述を繰り返すだけで良いのが特徴.
なお, copyright は title attribute に表示させるようにしている.
この部分を変更すれば画像の alt を補足的に表示させることも可能.

40 名前:35 投稿日:2005/04/30(土) 20:53:02 ID:???
>36
nullとは◆q7u/null4Uさんの事ですか?(普段からの住人ではないので…
意見を頂いている身としてはそんな訳にはいかないし 別の切り口からの意見は参考になりますよ

>38
わあ…態々どうもです 動作結果を拝見させて頂きました
ただ実はデザインにも考えがあって 既にフォーマットも完成しているので
このスクリプトはまたの機会に使わせて頂こうと思います…色々有難うございました!

あと一息の所は自力で これから集中してやってみようと思います!

41 名前:Name_Not_Found 投稿日:2005/04/30(土) 21:09:49 ID:???
>>37
自演乙

42 名前:Name_Not_Found 投稿日:2005/04/30(土) 21:10:09 ID:VSmMI0UG
申し訳ないんですがまた質問させてください
ある id のエレメントのテキストの色を、そのエレメントの背景色を反転させた色にしようとして

document.getElementById( id ).style.color = 0xFFFFFF ^ document.getElementById( id ).style.backgroundColor;

このように書いたのですが、実行してみると背景色が何色かに関わらず、常にテキストの色が白になってしまいます
どのようにすれば、背景色に応じて、それを反転させた色をテキストの色にすることができるのでしょうか?

43 名前:Name_Not_Found 投稿日:2005/04/30(土) 21:18:52 ID:???
>>42
backgroundColorは"#HHHHHH"の形式の文字列でしょうが

44 名前:Name_Not_Found 投稿日:2005/04/30(土) 21:22:10 ID:???
0.3 + 0.6 の結果が 0.9 にならず 0.8999999999999999 になるんですが
これは何か原因があるんでしょうか?
参考までにalert(0.3 + 0.6)とやってみると確認ができると思います

45 名前:Name_Not_Found 投稿日:2005/04/30(土) 21:23:28 ID:???
>>42
backgroundColorは"#FF0000"と返すブラウザもあるし。
"rgb(255,0,0)"を返すブラウザもある。色名で指定されてればそのまま色名を返すブラウザもあった希ガス。

あと、styleはDOM2仕様によればインラインで明示的に指定してないと使えないぞ。
IEならcurrentStyleとか、DOM2ならgetComputedStyleとかが確実。

46 名前:Name_Not_Found 投稿日:2005/04/30(土) 21:34:48 ID:VSmMI0UG
>>43
>>45
ありがとうございます
確認してみたらIE6は"#HHHHHH"の形式で値を返してきました
なので、

document.getElementById( id ).style.color = parseInt(0xFFFFFF ^ document.getElementById( id ).style.backgroundColor.substring(1,6), 16);

これで解決しました
rgb()で返すブラウザにも対応できるようにがんばってみます

47 名前:22 投稿日:2005/04/30(土) 21:38:45 ID:KMU0ShKx
>>24
ありがとうございます。できました。
でもコンテンツブロックの警告が出てしまいますが・・・・・。

48 名前:Name_Not_Found 投稿日:2005/04/30(土) 21:43:07 ID:???
>>44
>>3を嫁

49 名前:Name_Not_Found 投稿日:2005/04/30(土) 21:45:56 ID:???
>>48
指摘ども。やっぱ仕様の問題でしたか・・・

50 名前:Name_Not_Found 投稿日:2005/04/30(土) 22:07:00 ID:???
>>47
window.focus()がブロックされるんだとあんまりしょうもないような…
Aのリンクタグ側に「onclick="parent.frames.B.focus()"」ではどう?
それもだめなら「onclick="window.blur()"」では?

51 名前:Name_Not_Found 投稿日:2005/04/30(土) 22:11:24 ID:???
>>12
ttp://www.quirksmode.org/dom/w3c_events.html#mousepos
提示されたコードはあえて読みにくくしている節があるから
(無改行である意外にも)詳しく解析する気にはならないけど
SafariのEvent.clientX/Yにはこういうバグがあるから
それ考慮して書き直せばいいんじゃないかな。

52 名前:22 投稿日:2005/04/30(土) 23:25:35 ID:KMU0ShKx
>>50
どちらも、フレームAを読み込んだ時点で警告が出てしまいました。

53 名前:Name_Not_Found 投稿日:2005/05/01(日) 00:42:37 ID:???
>>52
本当に読み込んだ時点?クリックした時点じゃなくて?
読み込んだ時点でチェックするとはあまり思えないが…

54 名前:Name_Not_Found 投稿日:2005/05/01(日) 01:07:05 ID:???
>>50
window.top.フレーム名.focus() じゃないか?

55 名前:Name_Not_Found 投稿日:2005/05/01(日) 02:05:10 ID:???
単にリンク先が別サーバなんじゃねーの?

56 名前:22 投稿日:2005/05/01(日) 02:58:17 ID:J18VyGkH
>>53
onClick で記述していますが、クリック時ではなく
読み込んだ時点でセキュリティ警告が出てしまいます。

>>55
リンク先はリンク元と同じサーバです。
相対アドレスで記述し、ローカルで試しています。

57 名前:Name_Not_Found 投稿日:2005/05/01(日) 09:23:20 ID:???
>>54
トップにある兄弟フレーム(と読んだけど)ならどっちでも同じだよね。
>>56
うーん、それは不思議だけど、じゃあ
「onclick="eval('parent.frames.B.for' + 'cus()')"」
とか分けたら回避できたりしないかな?

58 名前:Name_Not_Found 投稿日:2005/05/01(日) 12:21:25 ID:???
ローカルなら、IEで常時セキュリティ警告でるのは当たり前。気にスンナ。

59 名前:Name_Not_Found 投稿日:2005/05/01(日) 12:23:19 ID:???
>>56
なんだローカルかよ。アップロードして試せ。

60 名前:22 投稿日:2005/05/01(日) 14:41:59 ID:J18VyGkH
すんません、ローカルだと警告が出るって知りませんでした。お騒がせいたしました。
色々と方法を教えて下さってありがとうございます。

61 名前:Name_Not_Found 投稿日:2005/05/01(日) 16:19:59 ID:???
質問はageてよいがあとはsage進行でね。

62 名前:Name_Not_Found 投稿日:2005/05/01(日) 16:21:05 ID:QqwFqYn7
jsファイルを単体実行すると指定したウェブページのソースをファイル出力する方法を教えてください

63 名前:Name_Not_Found 投稿日:2005/05/01(日) 16:23:26 ID:k85IL/gu
教えてください。

<html><body>
<iframe src="bbb.htm" width=80 height=80></iframe>
</body><html>
で、bbb.htmが160x160程度の大きさだったら、iframeにはスクロールバーが表示されて、表示位置をjavaScriptのscrollTo()で制御できるのですが、この方法だとファイルが余計に増えてしまいます。
そこで、ファイル数を増やさないように

<html><body>
<div style="overflow:scroll;width:80px;height:80px;">(bbb.htmの内容)</div>
</body></html>

を考えてみたのですが、これだとスクロールバーが出るところまでは同じですが、どうもscrollToで制御できないようです。
うまいことdiv内部のスクロールバーを制御できないでしょうか。

64 名前:Name_Not_Found 投稿日:2005/05/01(日) 16:26:44 ID:???
>>62
不可能

>>63
スレ違い

65 名前:Name_Not_Found 投稿日:2005/05/01(日) 20:04:34 ID:???
>>62
WindowsならWindows Scripting Host (WSH)を使うことで可能。
ただし当然自分のマシン(ローカル)でしか動かない。

>>63
div.scrollLeft = x;
div.scrollTop = y;

ttp://msdn.microsoft.com/workshop/author/dhtml/reference/properties/scrolltop.asp
ttp://www.mozilla.org/docs/dom/domref/scrollTop.html

66 名前:Name_Not_Found 投稿日:2005/05/01(日) 20:08:57 ID:???
(・∀・)

67 名前:Name_Not_Found 投稿日:2005/05/01(日) 20:24:51 ID:QqwFqYn7
そうです、WSHを使うんです。
samurize用のスクリプトを作ってるんです。

68 名前:Name_Not_Found 投稿日:2005/05/01(日) 20:58:17 ID:???
XMLHttpRequestとFileSystemObjectを組み合わせるとか。

69 名前:Name_Not_Found 投稿日:2005/05/01(日) 21:19:32 ID:???
>>62
えーと、これじゃ駄目? js単体ではないけど。
今試したら出来た訳だが。

<input type=button onClick="location.href='view-source:http://hogehoge.com/'" value="ソース表示">




70 名前:Name_Not_Found 投稿日:2005/05/01(日) 23:45:59 ID:???
JavaScript:document.body.innerHTML=document.body.innerHTML.replace(/ほげ子/g,'ほげ美');focus();
を外部jsファイルで実行可能にできないでしょうか?
html本体を編集せずに文中の「ほげ子」を「ほげ美」等に変えたいのですが。

71 名前:Name_Not_Found 投稿日:2005/05/02(月) 00:18:30 ID:???
>>70
Opera8 ならできるよ

72 名前:Name_Not_Found 投稿日:2005/05/02(月) 04:12:56 ID:eOLmD/PK
JSは基本EUC-JPで書くと思いますが
ページ自体のコードがS-JISの時はどうしてますか?

73 名前:Name_Not_Found 投稿日:2005/05/02(月) 06:28:48 ID:???
基本...か?

<script charset="...

AddType "...

74 名前:Name_Not_Found 投稿日:2005/05/02(月) 08:30:09 ID:???
>>70
外部JSであっても<script></script>の箇所で実行されてしまう
のでまだbodyが完成していない。それを避けるには
「document.body.onload = function() { document.body.innerHTML = ...; };」
とする。HTML側でbodyのonloadを使っている場合はもうちょっと
手当てが必要。

75 名前:Name_Not_Found 投稿日:2005/05/02(月) 15:29:36 ID:???
ブラウザのステータスバーにリンク先のアドレスが出ないようにしたいんですが、

・スクロールは使わない
・onMouseOverやonMouseOutは使わないで、統一して設定したい

な方法はありますか?あったら教えてください

IE6,xpSP2です

76 名前:75 投稿日:2005/05/02(月) 15:31:09 ID:T8u4RwrD
age忘れ

77 名前:Name_Not_Found 投稿日:2005/05/02(月) 15:36:01 ID:???
>>75
>>1
何のためにそんなことしたいんだ?

78 名前:75 投稿日:2005/05/02(月) 15:39:20 ID:???
>>77
.cgiの場所を隠したいからです。
onMouseで1つ1つやろうにも、数が多すぎで、面倒なんで、
まとめてやる方法はないかなあと。

79 名前:Name_Not_Found 投稿日:2005/05/02(月) 16:38:00 ID:???
>>78
CSS

80 名前:Name_Not_Found 投稿日:2005/05/02(月) 16:40:27 ID:???
>>75
やめとけ。ユーザの邪魔をするサイト作ったってウザがられるだけ。

81 名前:Name_Not_Found 投稿日:2005/05/02(月) 17:03:19 ID:???
姑息な手段で情報を隠蔽しようとする人がいるね。

82 名前:Name_Not_Found 投稿日:2005/05/02(月) 17:03:39 ID:???
ユーザーなんて邪魔なんだよ

83 名前:75 投稿日:2005/05/02(月) 17:13:58 ID:???
リンク先をすべて隠そうとしているわけではありません。
ただ、cgiの場所が分かってしまうと、管理画面用のパスワードが
ばれちゃって荒らしの原因になってしまうからです
というかばれて今cgiはすべて休止してるんで。

>>79アリ、cssで調べてみます

84 名前:Name_Not_Found 投稿日:2005/05/02(月) 17:18:48 ID:???
>>83
だからさあ、そんな隠し方、ソース見られたら一発でばれるってば。
その程度で荒らしが防げると思うなら大甘すぎだろ。そうじゃなくて
「管理画面用のパスワード」を「CGIの場所+名前(の一部)」にすれ。
そうすればソース見られようが何だろうがばれないから。そうする
場合のJavaScriptの質問ならすぐ答えてもらえると思うがね。

85 名前:Name_Not_Found 投稿日:2005/05/02(月) 17:20:53 ID:???
> ただ、cgiの場所が分かってしまうと、管理画面用のパスワードが
> ばれちゃって荒らしの原因になってしまうからです

理解できん。バレないようにパスワードファイルを置けば済むだろ。
おまけにソース見られたらcgiの在処はわかる。

86 名前:Name_Not_Found 投稿日:2005/05/02(月) 17:25:49 ID:???
>ステータスバーにリンク先のアドレスが出ない

アダルトサイトみたいだなw

87 名前:75 投稿日:2005/05/02(月) 17:38:38 ID:???
厨の質問にいろいろ答えてくださりアリです

いろいろ勉強しなおしてきます

88 名前:Name_Not_Found 投稿日:2005/05/02(月) 19:11:08 ID:???
>>75
がんばれ。良いサイト作れよ。

89 名前:Name_Not_Found 投稿日:2005/05/02(月) 20:25:11 ID:v+NPZSTR
javascriptでドキュメントの文字コードを取得したいんですが
document.charset では取得できないみたいなんです。
どなたかおたすけを〜

90 名前:Name_Not_Found 投稿日:2005/05/02(月) 20:30:15 ID:???
よしきた!

91 名前:Name_Not_Found 投稿日:2005/05/02(月) 20:38:23 ID:???
ちゃちゃっと答えちゃうよ

92 名前:Name_Not_Found 投稿日:2005/05/02(月) 20:58:00 ID:???
↓答え

93 名前:Name_Not_Found 投稿日:2005/05/02(月) 21:06:44 ID:???
│ 
└─────────────────┐
おらっしゃあぁぁ!!!   ∧_∧       |
 ∩∧ ∧          ( ・∀・)     ..|
 ヽ( ゚Д゚)        (( ( ヽ ノ )      .|
   \⊂\         ノ\(○     ゴッ |
    O-、 )〜         (_ノ(_\   ∧.|
      ∪           .= ()二) <  >────────────────────────────→アク禁

94 名前:Name_Not_Found 投稿日:2005/05/02(月) 21:08:55 ID:???
(冫、)プスプスプス

95 名前:Name_Not_Found 投稿日:2005/05/02(月) 21:13:47 ID:7/VuR2Ti
Webサイト制作初心者用質問スレから来た者です。

Select要素で、「その他」みたいな項目を選ぶと、
近くの1行テキストボックスが入力可能になる、
みたいなフォームを作りたいのですが、
そういうソースがあるサイトとか知りませんか?

96 名前:Name_Not_Found 投稿日:2005/05/02(月) 21:43:44 ID:???
>>95
試してないけど、こんな感じでいけるんじゃない?

<form action="">
<select name=xxx onchange="this.form.elements['yyy'].disabled = this.selectedIndex != 2;">
<option>0</option>
<option>1</option>
<option>その他</option>
</select>
<input type=text name=yyy disabled>
</form>

97 名前:Name_Not_Found 投稿日:2005/05/02(月) 22:01:16 ID:???
くだらない質問なんだけど、onClickとonclickどっちが好ましいの?

98 名前:95 投稿日:2005/05/02(月) 22:04:02 ID:7/VuR2Ti
>>96
上手く動いています。ありがとうございます!

99 名前: ◆q7u/null4U 投稿日:2005/05/02(月) 22:10:42 ID:???
>>97
doctype による.
(XHTML で onClick と書くと HTML-lint で警告される )

100 名前:Name_Not_Found 投稿日:2005/05/02(月) 22:18:38 ID:???
HTML-lintを論拠にするのはどうかと。

101 名前: ◆q7u/null4U 投稿日:2005/05/02(月) 22:29:27 ID:???
>>100
んじゃ,
'onClick' は attribute として扱われる.
XHTML では, それらを小文字で書く決まりになっている.
しかし, HTML4.01 では, 大文字小文字の区別は一応, ない事になっている.
ってことじゃだめ ?

102 名前:Name_Not_Found 投稿日:2005/05/02(月) 22:34:30 ID:???
- 普通は DTD を論拠にする。
- Another HTML Lint は DTD に忠実であるよう努力されていて、
 自称マークアップ上級者ていどでは、バグ報告すらままならないほど、出来が良い。

→ 大文字小文字程度の問題なら、Another HTML Lint を論拠にしても、何の弊害も無い。

103 名前:Name_Not_Found 投稿日:2005/05/02(月) 22:55:54 ID:???
>>89 [Firefox] document.actualEncoding

104 名前:97 投稿日:2005/05/02(月) 23:00:08 ID:???
色々レスありがとうございます。
大体分かったんで、あとは自分で判断します。失礼しますた。

105 名前:89 投稿日:2005/05/02(月) 23:31:54 ID:???
>>103
ありがとうございます。
FirefoxやMozillaではその方法で取得できるみたいですね。
document.charsetはIEのみのようです。

Operaでは無理なのかな・・
最初に環境書くの忘れてごめんなさい。

106 名前:Name_Not_Found 投稿日:2005/05/02(月) 23:49:39 ID:???
javascを別ファイルにしたいのですが、拡張子js の作り方がわかりません。
どのようにすればよいのでしょうか?

107 名前: ◆q7u/null4U 投稿日:2005/05/02(月) 23:56:09 ID:???
>>106
基本的に .css と似たようなもの.
(<script>〜</script> 以外を普通に書くだけ)
特に難しいことはないから, 試して納得するのが一番.

108 名前:Name_Not_Found 投稿日:2005/05/03(火) 00:01:57 ID:???
function otona() {
// ここに書き込む
}

こんなんで良かと

109 名前:Name_Not_Found 投稿日:2005/05/03(火) 00:03:35 ID:???
>>>107 有り難うございます。
しかし、その.CSSの作り方もわかりません。
お教えください。
お願いします。

110 名前:Name_Not_Found 投稿日:2005/05/03(火) 00:19:29 ID:???
>>109
ハァ? 氏ねよ、ヴォケ!

111 名前:Name_Not_Found 投稿日:2005/05/03(火) 00:22:13 ID:???
>>107
おまえ、そのトリップに何の意味があるんだ?目障りなやつだな。

112 名前:Name_Not_Found 投稿日:2005/05/03(火) 00:24:36 ID:???
>>102
HTML Lintは単なるツールであって
「DTD に忠実であるよう努力されて」いたとしても
論拠にすべきものではないよ。

論拠として引用するなら仕様書(に含まれるDTD)か、UIの実装仕様でしょ。

113 名前: ◆q7u/null4U 投稿日:2005/05/03(火) 00:29:29 ID:???
>>109
<head>
<style><!--
body{
background-color:#******;
color:#******;
}
--></style>
<script><!--
function f(){
alert('success!');
}
//--></script>
</head>
上記の記述を外部ファイル化すると...

<!--外部 CSS ファイル-->
body{
background-color:#******;
color:#******;
}
<!--外部 CSS ファイル-->

<!--外部 jsファイル-->
function f(){
alert('success!');
}
<!--外部 jsファイル-->
・ それぞれ, file-name を ***.css, ***.js とするのが注意点.

114 名前: ◆q7u/null4U 投稿日:2005/05/03(火) 00:39:31 ID:???
念のため...
<!--外部 CSS ファイル-->
とかを書き込む必要はない.

・ C を少しでもかじったことがあると, どちらも理解しやすい.

115 名前:Name_Not_Found 投稿日:2005/05/03(火) 01:06:12 ID:???
>>113 できました!
有り難うございます。

116 名前:Name_Not_Found 投稿日:2005/05/03(火) 01:35:28 ID:???
これで君もモテモテだヨ

117 名前:Name_Not_Found 投稿日:2005/05/03(火) 08:15:16 ID:???
選択した選択肢によって項目の有効/無効を切り替えるフォームをつくっています。
Q.好きな色は? 
 ◯青系 ◯赤系 ◯緑系
  □水色 □空色 □紺色 □フレンチブルー
  □ピンク □イタリアンレッド
  □黄緑色 □緑色 □深緑色
選択した◯(radio)によって選択可能な□(checkbox)を切り替えたく
function ChangeColor(){
if(document.f.rdo[0].checked == true) {
document.f.chk[0].disabled = false; ・・・略
<form method="" action="*.php" name="f">
<input type="radio" name="rdo" value="1" onClick="ChangeColor()">青系 ・・・略
<input type="checkbox" name="chk" value="1" disabled>水色 ・・・略
とすると、意図する動作ができそうなのはわかりました。
しかしcheckboxの複数選択項目を送信先PHPで配列として取得する都合上(name属性を)
<input type="checkbox" name="chk[]" value="1" disabled>水色 ・・・
と『[]』を付加して全て統一する必要があります。するとJavaScriptは
document.f.chk[][0].disabled = false;
のような事になると思うのですが、案の定エラーで『[]』をURLエンコードしても
バックスラッシュでエスケープしてもダメで、さらにname属性では各項目を区別できません。
nameではなくid属性値や他の要素等で特定できないでしょうか?

118 名前:Name_Not_Found 投稿日:2005/05/03(火) 08:34:00 ID:???
>>117
FAQにヒントが載ってるよ>>3

119 名前:Name_Not_Found 投稿日:2005/05/03(火) 08:59:28 ID:???
>>117
基本的に書き方が間違ってる。
document.forms["f"].elements["chk[]"] と書くべき。

ループを回して value や id を見てもいいけど class 属性で分類した方が
簡単にできると思う。
サンプルは完全一致にしてるけど、正規表現を使えば応用可能。

function ChangeColor(s) {
var x, i;
x = document.forms["f"].elements;
for (i = 0; i < x.length; i++)
if (x[i].type == "checkbox" && x[i].name == "chk[]")
x[i].disabled = x[i].className != s;
}

<input type=radio name=rdo value=1 onclick="ChangeColor('blue');">青系
<input type=checkbox name="chk[]" value=1 class=blue>水色

120 名前:Name_Not_Found 投稿日:2005/05/03(火) 15:12:08 ID:???
>>118,119
117です。レスありがとうございます。
書く前にFAQを見て、elements[変数名]は試していたのですが
うまくできなかったのでこのままやってました。
もう一度やりなおしてみます。
className!こういうのがあったのですね。
ありがとうございました。

121 名前:Name_Not_Found 投稿日:2005/05/03(火) 16:17:01 ID:???
117です。elements[変数名]がうまくできなかったのは
elements["chk[]"][0]と書くべきところをelements["chk[]"]とかelements["chk[][0]"]としていたためでした。orz
119さんが書いてくれた関数をちょっと改造し
function ChangeColor(s){
var x,i;
x = document.forms["f"].elements["chk[]"];
for (i=0; i<x.length; i++) {
x[i].disabled = x[i].className != s;
}
}
で動作確認できました。
これでPHPでの処理を保ちながらやりたい事が実現できます。
(やっと先に進めます。。。)本当にありがとうございました。

122 名前:Name_Not_Found 投稿日:2005/05/04(水) 00:48:03 ID:???
>>112
AHLにXHTMLの属性値の大文字小文字を区別しなかった時期などない。
論拠にすべきではなくても、この問題に関しては、論拠に出来てしまう。
DTDを読み書きできない者にとって便利なものであるのは間違い無い。

しかし、うぇぶ板にはどうしてこんなに文盲が多いのでしょうかねえ。
同じ内容を言い換えて何度も書かなきゃ通じない。
たぶん、これでも通じないでしょうねえ。

123 名前:122 投稿日:2005/05/04(水) 00:49:08 ID:???
× 属性値
○ 属性名

124 名前:Name_Not_Found 投稿日:2005/05/04(水) 03:11:20 ID:WEGAIV2Z
質問です。
それまで動いていたjavascriptが.swfファイルを配置した途端動かなくなりました。
これは避けられないのでしょうか?
普通に配置しているのはすなのですが。
ちなみにスクリプトはリンク部分にマウスオーバーさせると小さい小窓がでて
説明文みたいな形が出るものです。
onMouseOver="chgTxt(0)" onMouseOut="hideHelp()" こんな感じなのですが・・・。


125 名前:Name_Not_Found 投稿日:2005/05/04(水) 08:52:29 ID:???
>>124
単にfocusがswfに言っているからでは?
ページの適当な場所でクリックするなりしてから
そのonmouseoverのイベントをチェックしてみては?

126 名前:Name_Not_Found 投稿日:2005/05/04(水) 14:01:57 ID:???
質問させてください。
ファイル名Arrayの繰り返し処理で、fnameにピリオドが含まれないときはnextで処理を飛ばしたいです。
下のように書きましたがエラーになります。間違っている箇所を教えてください。

for(i=0;i<fname.length;i++){
next if(fname[i] !~ m/\./);
処理;
}

127 名前:Name_Not_Found 投稿日:2005/05/04(水) 14:55:30 ID:???
>>126
for (i = 0; i < fname.length; i++) {
  if (! /\./.test(fname[i])) // もしくは if (fname[i].search(/\./) < 0)
    continue;
  処理;
}

128 名前:Name_Not_Found 投稿日:2005/05/04(水) 14:55:41 ID:???
>>126
:::::::::::/           ヽ::::::::::::
:::::::::::|  ば  じ  き  i::::::::::::
:::::::::::.ゝ か   つ   み  ノ:::::::::::
:::::::::::/  だ  に  は イ:::::::::::::
:::::  |  な。       ゙i  ::::::
   \_         ,,-'
――--、..,ヽ__  _,,-''
:::::::,-‐、,‐、ヽ. )ノ      _,,...-
:::::_|/ 。|。ヽ|-i、      ∠_:::::::::
/. ` ' ● ' ニ 、     ,-、ヽ|:::::::::
ニ __l___ノ     |・ | |, -、::
/ ̄ _  | i     ゚r ー'  6 |::
|( ̄`'  )/ / ,..    i     '-
`ー---―' / '(__ )   ヽ 、
====( i)==::::/      ,/ニニニ
:/     ヽ:::i       /;;;;;;;;;;;;;;;;

129 名前:Name_Not_Found 投稿日:2005/05/04(水) 16:36:48 ID:???
>>127
なるほど、そうやるのですね。ありがとうございました!

>>128
Javascriptのnextでぐぐっても見つからないと思ったら、nextは無いんですね・・・ばかでしたorz


130 名前:Name_Not_Found 投稿日:2005/05/04(水) 16:48:32 ID:???
>>129
最初に予約語くらいは覚えようや。

131 名前:Name_Not_Found 投稿日:2005/05/05(木) 21:06:40 ID:???
あげ

132 名前:Name_Not_Found 投稿日:2005/05/06(金) 01:18:55 ID:???
>>126 はPerlそのままじゃん。PerlとJSはまったく別の言語なんで、
基本から勉強してくらはい。ちなみにPerlでいうnextはJSではcontinue
だが、CでもC++でもJavaでもcontinue。Perlは少数派。

133 名前:Name_Not_Found 投稿日:2005/05/06(金) 01:51:11 ID:???
next; last;
漏れもついつい打ってたりするな、elsif とかも。

134 名前:Name_Not_Found 投稿日:2005/05/06(金) 02:39:23 ID:M+JXIih0
ジャバスクリプトでスタイルシート的なのを作った方が、レイアウト崩れませんね
ホムペ制作開始してから1ヵ月も経って、ようやく気付いたよ・・・orz

135 名前:Name_Not_Found 投稿日:2005/05/06(金) 02:44:45 ID:???
釣り? JSSS?

136 名前:Name_Not_Found 投稿日:2005/05/06(金) 02:45:09 ID:???
それがアゲてまで言いたいことなのかと小一時間(ry

137 名前:Name_Not_Found 投稿日:2005/05/06(金) 03:15:01 ID:CtoHl5R7
http://ntfksm039250.fksm.nt.ftth.ppp.infoweb.ne.jp/
っうはっwwwwwwwwwうぇwwwうぇwwwおkwww
っうぇwwwwwwwwwwwwwwwwwwwwwwwwwwww
うはっwwwwwwwwwうはっwww

138 名前:Name_Not_Found 投稿日:2005/05/06(金) 03:30:39 ID:ZuP2elDF
http://Y043084.ppp.dion.ne.jp/
wwwwwwうぇwwwwwwwwwwwwうぇwww
うはっwwwwwwwっwwwwwwっうぇwwwwww
うぇwwwwwwwwwwwwwwwwっうぇおkwww

139 名前:Name_Not_Found 投稿日:2005/05/06(金) 09:09:56 ID:???
http://pc8.2ch.net/test/read.cgi/php/1065151808/402 です。
http://pc8.2ch.net/test/read.cgi/php/1065151808/403 の誘導ありがとうございます。
FAQを見てみましたが、どれが該当するのか今ひとつわかりません。
アドバイスを元に、このように変えてみましたが まだエラーになります。
何故でしょうか?

<script type=text/javascript>
function Change(picname){
var pic=picname;
document.pic.src = "lighton.jpg";
}
</script>

<img src="light.jpg" name=light onMouseOver="Change('light')">

140 名前:Name_Not_Found 投稿日:2005/05/06(金) 09:24:19 ID:???
ほんとにFAQ>>3の中でどれが該当するかわからない?
どれだと思う? 1/10の確立で当たるから適当に言ってみたら?

っていうかそれだと<img name="pic" ...>があったときにどうなると思う?

ごめん、眠いから文章が変だ。

141 名前:Name_Not_Found 投稿日:2005/05/06(金) 10:07:20 ID:???
>>140
Q5かQ6あたりでしょうか・・・

name="pic"があれば、"pic"が変数のpicに代入されて、問題ないように思いますが・・

142 名前:Name_Not_Found 投稿日:2005/05/06(金) 10:35:07 ID:???
>>139
document に pic というプロパティはない。
何で images とか forms とか省略したがるんだろうか?

<img name="light"> は images コレクションのアイテムの一つに
なるので、document.images["light"] と選択しなければならない。

[ ] の中は変数でもいいから、
document.images[picname].src = "...";
とすればいい。

今回の件とは関係ないけど text/javascript は引用符で囲む
必要がある。仕様上は / でタグが閉じられてしまう。

143 名前:Name_Not_Found 投稿日:2005/05/06(金) 10:40:39 ID:???
Netscapeとそれ以外のブラウザによって
違うスタイルシートが振り分けられるというJavaScriptを組んだのですが
windowsだとIE,NS共に正常に動作しますが
macのsafari,IEからの閲覧だと不具合が起こります。(NSだと正常に動作)
原因はどこにあるのでしょう。よろしくお願い致します。
【※dの数値はページごとに異なる数値が設定されています
他にif(d==2)という同内容の表記もあり。】

aName=navigator.appName.toUpperCase();

if(d==1){
if(aName.indexOf("NETSCAPE") >=0){
    document.write('<LINK rel=stylesheet type="text/css" href="../font_n.css">');
}else{
document.write('<LINK rel=stylesheet type="text/css" href="../font_a.css">');
}
}

144 名前:Name_Not_Found 投稿日:2005/05/06(金) 10:41:26 ID:???
>>142
ご丁寧なレスありがとうございます。理解&動作成功しました。

ただ、これでも動作してしまうのですが それが何故かわかりません。

<script type="text/javascript">
function Change(){
document.light.src = "lighton.jpg";
}
</script>

<img src="light.jpg" name=light onMouseOver="Change()">

"text/jagascript" ですね、以後気をつけます。ご指摘ありがとうございました。

145 名前:Name_Not_Found 投稿日:2005/05/06(金) 10:43:56 ID:???
"text/jagascript" ですね



146 名前:Name_Not_Found 投稿日:2005/05/06(金) 10:58:21 ID:???
肉じゃが好きなんで・・・

147 名前:Name_Not_Found 投稿日:2005/05/06(金) 11:02:49 ID:???
>>143
不具合って何さ

148 名前:Name_Not_Found 投稿日:2005/05/06(金) 11:20:39 ID:???
>>144
まだ分かってないのね。まず前置きとして。
document.images.light.src と document.light.src は多くのブラウザ
では同じだが、前者の方が安全(documentの重要なプロパティ名とかぶる
と困るでしょ、しかも多くの人は何と何が重要なプロパティか知らない)。

次に、FAQ>>3にあるように、
document.images.light.src と document.images['light'].src は同等。
今やりたいことは変数picnameに入っている文字列で画像を指定すること。
document.images.picname.src では document.images['picname'].src と
同等になってしまう。つまり'picname'という名前決め打ちになる。
それじゃまずいでしょ? だから document.images[picname].src なのさ。
>>143
まずMacのIEとSafariでfont_n.cssとfont_a.cssを決め打ちで適用してみて
どちらが正しいか確認すること。どっちも駄目ならどうやったって駄目だろ。
次に alert(aName) を挿入して判別文字列がどうなっているかを確認する。
そして最後にif文を正しいCSSが選べるように手直しする。そうやって理詰めで
やらないとプログラム作りなんて無理ぽ。おわかりかな。

149 名前:Name_Not_Found 投稿日:2005/05/06(金) 11:25:35 ID:???
>>143
何行目でどういうエラーが発生するのかわかりませんか?
スクリプトを使わずにスタイルシートをリンクさせた場合は正常に
動作しますか?

>>144
古い Netscape では name 属性のついた要素を document の
プロパティとしてアクセスできる仕様だったため、互換性のために
残っていますが、使用すべきではありません。

. 演算子は左辺にあるオブジェクトのメンバー (プロパティや
メソッド) にアクセスするものなので、右辺は変数展開されません。

その状態では document に light というプロパティは存在することに
なりますが、pic というプロパティは存在しないのでエラーになります。

150 名前:144 投稿日:2005/05/06(金) 11:30:42 ID:???
>>148-149
詳しいご説明ありがとうございます。
勉強になります。大分わかってきました。
これからも精進します!

151 名前:Name_Not_Found 投稿日:2005/05/06(金) 11:34:34 ID:???
某ECMAScriptスレでの質問とその回答。
> IE上で、任意の文字列のHTMLを表示させたいんだけど、それって可能?
> BODYだけではなくて、HTML、HEAD、SCRIPTも書き換えたい。
> (BODYだけならINNERHTMLの上書きで可能なのはわかってる。)
こうすればできる。(つまり一気に書いてcloseする。IEとMozで確認。)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function test() {
var s = '<html><head><title>xyz<\/title><\/head><body><p>XYZ<\/p><\/hmtml>';
document.write(s); document.close();
}
</script>
</head><body>
<p><a href="javascript:test()">test</a></p>
</body></html>

152 名前:143です 投稿日:2005/05/06(金) 11:35:43 ID:???
早速アドバイスありがとうございます。
>>147
具体的症状としてはスタイルシートが読み込まれないという症状です。
>>148-149
スクリプトを使わずに標記した場合は
macでも正常にスタイルシートが適用されました。

次にmacを触る機会が回ってきたときに
何行目でどういうエラーが発生するのかを確認すると共に
>>148-149さんの方法を試してみようと思います。

153 名前:Name_Not_Found 投稿日:2005/05/06(金) 12:20:52 ID:???
>>152
ではmacでdocument.write()で決め打ちのlink要素を出力した
場合はどうかを次にチェックするべきですね。

154 名前:Name_Not_Found 投稿日:2005/05/06(金) 12:51:10 ID:???
質問です。
ファイルが存在するか否かを判断する関数がありましたら教えてください。

155 名前:Name_Not_Found 投稿日:2005/05/06(金) 13:13:51 ID:???
>>154
「ブラウザの動いているマシン上」の場合、ブラウザ上のJavaScriptでは
不可能。特定ファイルの有無がJavaScript上から分かってしまうとそれを
もとに悪さをすることができてしまう可能性があるため、セキュリティ制約
により禁止されている。

「サーバマシン上」となると、ブラウザ上で(クライアント側で)動くJavaScript
には原理的に不可能。CGIなどでやるしかない。

156 名前:Name_Not_Found 投稿日:2005/05/06(金) 13:56:27 ID:???
>>155
わかりました、ありがとうございました。

157 名前:Name_Not_Found 投稿日:2005/05/06(金) 23:00:24 ID:Z/ZgFdcN
Tabular Data Control (TDC)のFilter条件をを、URL(window.location.search)から取得したいのですが、
うまく行きません。(フィルター無しの状態で、全てのレコードが表示されます。)

test.html の一部
--------
<OBJECT ID="TestData" CLASSID="clsid:333C7BC4-460F-11D0-BC04-0080C7055A83">
<PARAM NAME="DataURL" VALUE="./test.csv">
<PARAM NAME="UseHeader" VALUE="true">
<SCRIPT LANGUAGE="javascript"><!--
document.write('<PARAM NAME="Filter" VALUE="' + window.location.search.slice(1) + '">');
//-->
</SCRIPT>
</OBJECT>
--------

呼び出しURL: 〜/test.html?num<10 など。

どうすれば上手くいきますか?

158 名前:Name_Not_Found 投稿日:2005/05/06(金) 23:12:39 ID:???
>>157
PARAMの1行だけでなく、<OBJECT>...</OBJECT>全部をdocument.write()で書く
ようにするべきなんじゃないかな。そのとき、まず書き出す「<」を全部削って
画面にそのまま表示させて全体として正しいことをチェックするべき。
もしかすると「num<10」の「<」がエンコードされてるかも知れない。

159 名前:Name_Not_Found 投稿日:2005/05/06(金) 23:32:54 ID:???
やったーーー。
<OBJECT>〜</OBJECT>を全てjavascriptで書く事により解決いたしました。
ご丁寧にありがとうございました。

160 名前:Name_Not_Found 投稿日:2005/05/07(土) 01:02:08 ID:???
良スレ

161 名前:Name_Not_Found 投稿日:2005/05/07(土) 01:12:52 ID:???
別窓の内容を親ウィンドウでdocument.write()で
作成して表示しているのですが、
サブウィンドウのフォントが変なんです。
日本語はいいのですが、英数字が欧文(クーリエ?)っぽく
なってしまい、等幅フォントを使いたいときに不便です。
フォントファミリーまで指定してあげないと
ダメなんでしょうか。


162 名前:Name_Not_Found 投稿日:2005/05/07(土) 05:08:21 ID:???
>>161
フォントの指定を適当にすべし

163 名前:Name_Not_Found 投稿日:2005/05/07(土) 08:21:43 ID:???
カウントダウンを行うスクリプトを入れてもらったのですが
そのJavaScriptを組み込むと変な画像が表示されるという症状が起きます。
何かのウイルスかもしれないのですが
もし解決策、対応策がありましたらよろしくお願いします。

<scriptlanguage ="JavaScript" src="data.js"></script>
がまずメインのページにあります。

today = new Date();
xDay = new Date(2005,7,7);
NC = (xDay.getTime()-today.getTime())/(24*60*60*1000);
document.write(Math.ceil(NC));
document.write('<img src="file:///Users/okazaki/Desktop/sigoto/himitu/otanosimi/img007.jpg">');
このスクリプトがメインのページに読み込まれる仕組みらしいのですが・・・
やはりウイルスなのでしょうか?


164 名前:Name_Not_Found 投稿日:2005/05/07(土) 08:31:46 ID:???
おまいの頭がウイルスにやられてるのかも。

165 名前:Name_Not_Found 投稿日:2005/05/07(土) 08:48:18 ID:???
>>163
そのスクリプト自体を読んで理解する気がないのなら帰れ。
理解する気があるのならまず自分でJavaScriptの勉強をして
検討してから、分からない箇所について個別に質問しろ。
ところでアンタHTMLは読めるんだろうね…

166 名前:Name_Not_Found 投稿日:2005/05/07(土) 09:49:16 ID:???
>>163
>document.write('<img src="file:///Users/okazaki/Desktop/sigoto/himitu/otanosimi/img007.jpg">');
カウントダウンに関係ないし、これが画像を表示する原因だろう
そもそもそのパス名「file:///Users/okazaki/Desktop/sigoto/himitu/otanosimi/img007.jpg」にある
画像を調べてみろw

167 名前:Name_Not_Found 投稿日:2005/05/07(土) 10:39:21 ID:???
質問です。
window.open で開いたウィンドウの中身も、元のスクリプト内に書いてしまうことはできますか?

168 名前:Name_Not_Found 投稿日:2005/05/07(土) 10:48:10 ID:???
>>167 写真集で有名な典明の苗字です

169 名前:Name_Not_Found 投稿日:2005/05/07(土) 10:51:21 ID:???
加納ですか。方法教えてください。

170 名前:Name_Not_Found 投稿日:2005/05/07(土) 11:04:33 ID:???
msgWindow = window.open("");
msgWindow.document.write("message");
で加納になりました。

もう一つ問題発生です。そのウィンドウを元のウィンドウと同じウィンドウで開きたいのですが、
msgWindow = window.open("","_self");
msgWindow = self.window.open("");

でもだめでした。

元のウィンドウと同じところに新しいページを開いて、その内容も一緒に書いてしまうことはできますか?


171 名前:Name_Not_Found 投稿日:2005/05/07(土) 11:10:01 ID:???
>>168

172 名前:Name_Not_Found 投稿日:2005/05/07(土) 11:14:45 ID:???
>>170
そりゃ無理でしょ。元のウィンドウにデータを書き出せば、今開いてる
ドキュメントはアンロードされてしまう。
それに window.open() はポップアップブロックの設定によっては失敗する
可能性が高いので、できるだけ使わない方がいい。
DOM を使って今開いてるドキュメントの一部を書き換える方がスマートでは?

173 名前:Name_Not_Found 投稿日:2005/05/07(土) 11:40:54 ID:???
>>172
無理ですか・・・。
やろうとしていたことは、元のドキュメントの画像を、オープンしたドキュメントでロードして
完了したらonLoadで元のドキュメントに再度飛ばそうと思いました。
画像を完全に読み込んでから元のページを表示したいのです。
他に良い方法はありますか?

174 名前:Name_Not_Found 投稿日:2005/05/07(土) 12:31:01 ID:???
>>173
画像が徐々に表示されては都合が悪い理由がよくわからないんですが、
あらかじめ画像のスタイルを visibility: hidden; にしておいて、
必要になったときにスクリプトから "visible" に変えればいいだけだと
思いますが。

175 名前:Name_Not_Found 投稿日:2005/05/07(土) 13:26:47 ID:???
>>174
各商品リンクにonMouseOverすると画像が表示されるようにしていますが、
画像ロードが終わる前にonMouseOverすると、画像が見えないので、画像ロード完了してからページを表示したいのです。

ロードページでロードしてからメインページに飛ぶと、画像Arrayを2回書かないといけないので、メインから飛ばせる方法がないか考えていました。

visiblityはこれには使えませんが、使い方によっては面白そうですね。

176 名前:Name_Not_Found 投稿日:2005/05/07(土) 14:07:50 ID:???
>>173-175
質問のようなことだったら、ページ本体の上に「Loading...」とか書いた
レイヤを重ねて出しておいて、bodyのonloadの中でこのレイヤを消すとかで
いいんじゃないの。


177 名前:Name_Not_Found 投稿日:2005/05/07(土) 14:10:50 ID:???
>>175
画像はどういう風に生成してるの?

img 要素の onload イベントの中で関連づけるリンクの onmouseover
イベントを動的にセットすれば、画像がロードされるまではリンクに
マウスオーバーしてもイベントが発動しないようにすることができる。

動的なイベントの設定は addEventListener と attachEvent を使う。
前者は NN 用 (W3C DOM 準拠)、後者は IE と Opera 用。

className と id をうまく使えば、そんなに長いコードを書かなくても
複数のオブジェクトでコードを共用できる。

178 名前:Name_Not_Found 投稿日:2005/05/07(土) 15:34:38 ID:???
>>168のウィットでウェットなおまんこに吸い付きたい

179 名前:Name_Not_Found 投稿日:2005/05/07(土) 16:09:42 ID:???
>>176-177
ナイスなアイディアをありがとうございます。

>>176 の方法で簡単にできました。


180 名前:Name_Not_Found 投稿日:2005/05/07(土) 16:24:36 ID:???
>>179
忘れていたけど、JavaScript OFFだとそのレイヤが消えないから
そういう注意書きを書いておくの忘れないようにね。または
そのレイヤにスクリプトなし用の内容を入れておくとかさ。

181 名前:Name_Not_Found 投稿日:2005/05/07(土) 16:39:48 ID:???
id="foo"
としてある段落(P)の高さを取得するにはなんて書けばよかですか。
document.p.foo.heightとかですか。

182 名前:Name_Not_Found 投稿日:2005/05/07(土) 17:06:40 ID:???
>>181
何そのヤマカン満載は。まずDOMのチュートリアルでも読んで来い
といいたいとこだけどまあ簡単だから。

document.getElementById('foo').offsetHeight

全然違うだろ?こういうマニュアル見れば分かることをいちいち
2ちゃんに聞くんじゃやってらんないだろ?やっぱり勉強すれ。

183 名前:Name_Not_Found 投稿日:2005/05/07(土) 17:11:24 ID:???
>>162
ありがとうございました
外部CSSでフォント指定したら
ダメだったので、結局document.writeで
書いてやったらできました。
ありがとうございました

184 名前:181 投稿日:2005/05/07(土) 17:15:30 ID:???
>>182
すまん。
でも助かった。あんがと。

185 名前:Name_Not_Found 投稿日:2005/05/07(土) 19:15:23 ID:???
<div id="hoge">&nbsp;</div>
<script type="text/javascript">
if(document.all.hoge.innerHTML=="&nbsp;") alert("true");
//&→&
</script>

IE6ならalertが表示されるが、Opera8だと何故か表示されない。
&nbps;を他の文字列(&amp;など)に変更すればOperaでも問題なくalertが表示される。
そこで、ためしにalert("["+document.all.hoge.innerHTML+"]");としてOperaで実行してみると [ ] と表示される。
//しかし、if(…==" ")としてみてもalertは表示されない。
そもそも、&amp;の場合は&amp;とそのまま表示されるから、&nbsp;も同じようにそのまま&nbsp;と表示されるべきだと思う。
これがバグか仕様かはともかく、Operaで上記のスクリプトを実行した場合、document.all.hoge.innerHTMLには何が入っているのでしょうか?

186 名前:Name_Not_Found 投稿日:2005/05/07(土) 19:16:04 ID:rg+V9MQg
age忘れ

187 名前:Name_Not_Found 投稿日:2005/05/07(土) 19:56:29 ID:???
>>185
何でわざわざdocument.allを使うかな、っていうのはともかく、
 はスペース(\x20)じゃなくて非改行空白
(No-Break SPace、\xA0)だよ。
見た目は似てるけどスペースとは別の文字ね。

188 名前:Name_Not_Found 投稿日:2005/05/07(土) 19:59:35 ID:???
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/364.txt
これを実行したとき、f1 のエディットボックスには、フレーム数が2つだから、2と表示されると
思っていたのですが、undefined と表示されてしまいます。どうしてですか?

189 名前:Name_Not_Found 投稿日:2005/05/07(土) 20:03:25 ID:???
>>188
そりゃlenghtというプロパティが存在しないからだろ。

190 名前:Name_Not_Found 投稿日:2005/05/07(土) 20:05:24 ID:???
>>185
何やろうとしてるのかは知らないけど、文字列sの16進ダンプを
取りたければ次のようにする。ただし文字コードはUnicodeね。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function test() {
var t = '', s = document.getElementById('d0').innerHTML;
for(var i = 0; i < s.length; ++i)
t += s.charCodeAt(i).toString(16) + ' ';
alert(t);
}
</script>
</head><body>
<div id="d0">&nbsp;</div>
<p><a href="javascript:test()">test</a></p>
</body></html>

191 名前:188 投稿日:2005/05/07(土) 20:07:18 ID:???
>>189
うわぁ、ほんとだ。エラーにならないんっすね。
あんなに悩んだのに、一瞬で解決しちゃってちょっと感動しました。
ありがとうございました。

192 名前:185 投稿日:2005/05/07(土) 21:03:50 ID:rg+V9MQg
>>187>>189
言われたことを参考にして解決することができました。ありがとうございます。
document.all.〜については、getElementById('〜')を使ったほうがいいということでしょうか。

193 名前:Name_Not_Found 投稿日:2005/05/07(土) 21:33:19 ID:???
>>192
innerHTML の読み出しは、子ノードを列挙してそれを HTML に
書き戻すので、書き込んだソースの内容と一致するわけじゃない。
どんな風に書き戻すかはブラウザ依存。

"A" と書き込んだら、取り出すときは "A" になるし、
"&" だけなら "&" になるかもしれない。

194 名前:Name_Not_Found 投稿日:2005/05/07(土) 21:33:45 ID:???
document.all って Firefox1.0 でも Opera8.0 でも有効なんだね
IE 恐るべし

195 名前:Name_Not_Found 投稿日:2005/05/07(土) 21:44:26 ID:???
<html>
<head>
<script type="text/javascript">
function bchange() {
document.form1.test.value = "aaa" ;
}
</script>
</head>
<body>
<form name="form1">
<input type="button" name="test" onClick="bchange()" value="hoge">
</form>
</body>
</html>

で、form 部分をなくしたところ、
『document.test は Null またはオブジェクトではありません。』
とエラーが出ます。これが理解できません。
なぜ、document.test.value = "aaa" ; じゃいけないのでしょうか?
これは、もう、JavaScript がこういう作りだから、と理解するしかないんですかね?

196 名前:Name_Not_Found 投稿日:2005/05/07(土) 21:59:41 ID:???
あなたがオブジェクトモデルをわかってないだけ。
(正確にはJavaScriptとは関係ない。)
FAQに挙げられたサイトで(DOMをキーワードに)勉強しよう。

197 名前:Name_Not_Found 投稿日:2005/05/07(土) 22:00:21 ID:???
>>192
document.allは基本的にはIE専。クロスブラウザなのは標準規格にある
document.getElementById。洩れはIE専な質問の相手はしないことにしてる。
>>195
そうじゃなくてあんたが手抜き野郎だから。標準では
「document.forms.フォーム名.elements.部品名.value」
となる。これをどこまで省略しまくっても動くだろうかどうかなんて
洩れはいちいち考えたくもないね。だいたいあるブラウザで動いても
別のでは動かないかも知れないわけだし。

198 名前:Name_Not_Found 投稿日:2005/05/07(土) 22:03:34 ID:???
>>195 >>139-150
何で document.form1 って書くんでしょうね?
本当に不思議としか言いようがないですね。

フォームの中にない入力フィールドに name 属性を指定する
意味はありません。(サーバーに送信するわけじゃないから)

列挙して調べることもできますが、同じ name を持つ要素が
複数あった場合のことを考えると id を使って
getElementById で取得した方が簡単です。

当たり前のことですが id は name と違って同一文書内で
重複して指定することはできません。

199 名前:Name_Not_Found 投稿日:2005/05/07(土) 22:06:05 ID:???
>>192-193
とくにタグや属性が含まれた範囲のinnerHTMLは大文字小文字とか
引用符のつき方とかブラウザごとにバラバラだよね。だから
innerHTMLを参照してそれが何かと等しいなんていう判定は非常に
ブラウザ依存で、同じブラウザでもバージョン変わったら駄目に
なる可能性があるくらい不安定なものだと思うべきだろうね。

200 名前:Name_Not_Found 投稿日:2005/05/07(土) 22:08:30 ID:???
スマソ >>197 ですが後半のは質問をよく読んでなかった。
取り消させてくらはい。

201 名前:Name_Not_Found 投稿日:2005/05/07(土) 22:13:09 ID:???
おまえら、eval(alert("アラート"))ってやってみ
ちなみに、eval(1+2+3)って使い方は見かけるんだが

202 名前:Name_Not_Found 投稿日:2005/05/07(土) 22:16:56 ID:???
やってみたが別に鳩が飛び出すわけでも富士山が噴火するわけでもない。
いったい何が言いたいんだ?

203 名前:Name_Not_Found 投稿日:2005/05/07(土) 22:17:42 ID:???
でっていう

204 名前:Name_Not_Found 投稿日:2005/05/08(日) 00:20:21 ID:???
JavaScriptでevalが必要な場面はほとんどない。
よく知らないままeval使う奴はダサイと思うね。

205 名前:Name_Not_Found 投稿日:2005/05/08(日) 00:27:39 ID:???
JSON のパースとか

206 名前:Name_Not_Found 投稿日:2005/05/08(日) 00:49:16 ID:???
いやまあ、それはね…evalでできるようにわざわざ作られてる
ものだからというか。よく知らないままというのとは違うかと。

207 名前:Name_Not_Found 投稿日:2005/05/08(日) 03:49:13 ID:???
evalを良く知っているからって威張る(イーヴァル)なよぉ〜
計算機を作ったり、文字列として扱われている数字に演算をするときは使うぞ
分からんやつは使い道を知らんかそういう場面に出くわさないものしか作らないやつだろ

208 名前:Name_Not_Found 投稿日:2005/05/08(日) 04:10:53 ID:???
parseIntやparseFloatやNumberが関数として使えることを知らないからって威張るなよぉ〜

209 名前:Name_Not_Found 投稿日:2005/05/08(日) 06:16:57 ID:???
175です。

176の方法で、ページ本体の上にレイヤを重ねて、body onloadでレイヤを消すようにしました。
ページ内にある<img src=...>は読み込みを待ってからonloadするようですが、Javascriptでimg=new Image(); img.src="...jpg";の部分はどうでしょうか? 
読み込みを待たずに表示されてしまうことがあるようです。onloadまで待たせたい画像は全てページ内に<img src=...>で記述しておくべきですか?

>>180
ありがとうございます。レイヤ部分はjavascriptで記述しました。

210 名前:Name_Not_Found 投稿日:2005/05/08(日) 06:46:17 ID:???
>>209
window.onload が画像の読み込みを待つかどうかはブラウザ依存です。
基本的にイメージの読み込みはスクリプトの実行とは非同期です。

img 要素にも onload イベントがあります。
このイベントは画像の読み込みが完了した時点で発生しますので、
あらかじめセットしておけばそれを通知させることができます。

ユーザーの設定によっては自動的に画像を読み込むことすらしないので、
読み込まれていれば動作を実行し、読み込まれてなければ実行しないと
するほかありません。

画像が読み終わってるかどうかは img 要素の complete プロパティを
調べればわかります。

211 名前:Name_Not_Found 投稿日:2005/05/08(日) 06:59:10 ID:???
>>210
なるほど、わかりました。
onMouseoverで現れる画像も、img=new Image(); img.src=""; では無くて、
隠して<img>で記述することにします。

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

212 名前:Name_Not_Found 投稿日:2005/05/08(日) 10:12:38 ID:???
>>207-208
ほら >>207 nullだろ。 >>208 がまさに普通やるべきこと。
電卓?そんなもん実用にするか?
>>211
どのみち全部待つのならそれが一番簡単だと思うよ。

213 名前:Name_Not_Found 投稿日:2005/05/08(日) 15:52:57 ID:h7kKsFQG
<a href="javascript:window.open('./sample.html','','width=680,height=480')">sample</a>
って書いてリンク先に行くとリンク元のページが変わり
[object]って表示されてしまいます
普通に表示させるにはどうしたらよいですか?

214 名前:Name_Not_Found 投稿日:2005/05/08(日) 15:59:31 ID:???
ジャンプ先に飛んでくれません。どこが間違ってるのでしょうか?

<HTML><HEAD>
<script language="JavaScript">
<!--
var add;
function jmpset(menu){
add=menu.options[menu.selectedlndex].value;
}
//-->
</script></HEAD>
<BODY>
<form>
<select name="menu" size="1" onChange="jmpset(this)">
<option value="#">ジャンプ先を選んでください
<option value="http://www.yahoo.co.jp/">Yahoo! Japan
</select>
<input type="button" value="GO!" onClick="location.href=add">
</form>
</BODY></HTML>

215 名前:Name_Not_Found 投稿日:2005/05/08(日) 16:06:01 ID:SVfC/n9g
http://YahooBB219202220179.bbtec.net/
っうぇっうぇwwwwwwwwwwwwおkwwwwwwwww
wwwwwwwwwwwwwwwwwwうぇwww
っうぇっおkwwwwwwっwwwwwwwwwwww

216 名前:ぼるじょあ ◆yBEncckFOU 投稿日:2005/05/08(日) 16:09:58 ID:???
>>214
(・3・) アルェー 「l」じゃなくて「I」だYO

>menu.selectedlndex
menu.selectedIndex

217 名前:Name_Not_Found 投稿日:2005/05/08(日) 16:53:45 ID:???
>>208
関数だろ(w)


218 名前:Name_Not_Found 投稿日:2005/05/08(日) 18:05:48 ID:???
>>214
それ絶対にエラー出てるはず。質問時にエラー内容の報告
できない奴は来るな! >>2 をよめ!!

219 名前:Name_Not_Found 投稿日:2005/05/08(日) 19:24:59 ID:???
>>212
何ネタにマジになっているか知らんが、>>208の言っている内容の方がおかしい
>parseIntやparseFloatやNumberが関数として使えることを知らない
誰もeval以外にparseIntなどを使わないとは言っていないし
厳密に言えば、int float は目的に応じて使い分ける必要があるだろ
JavaやC言語などでint、double、char、Stringなど変数の型を宣言する
プログラム言語を知っていて扱ったことがあるやつなら知っているだろ

220 名前:Name_Not_Found 投稿日:2005/05/08(日) 20:14:12 ID:???
evalを使うのがダサいというのは変わらんと思うけどね。

221 名前:Name_Not_Found 投稿日:2005/05/08(日) 20:40:54 ID:W4xMwIyB
top と parent の違いがわかりません!

222 名前:Name_Not_Found 投稿日:2005/05/08(日) 20:46:15 ID:???
>>221
それはさ、framesetの中にさらにframesetが入れられるという
ことが分かってないからじゃないの。topは「一番外側」、
parentは「1つ上」を意味する。1段しかないとどっちでも同じ
だが2段目(framesetの中のframeset)より深くなると違う。

223 名前:Name_Not_Found 投稿日:2005/05/08(日) 21:24:12 ID:W4xMwIyB
なるほど! 勉強不足だったみたいです。
レスありがとうございました!

224 名前:Name_Not_Found 投稿日:2005/05/08(日) 21:52:12 ID:???
質問はageていいけどその後のはsageてくれ。ageとsageを知らない
わけじゃなかろう?

225 名前:Name_Not_Found 投稿日:2005/05/08(日) 21:57:32 ID:NkxfiqJl
同時に複数のサーバに対してpingを実行するスクリプトを作成したいのですが、
起動する複数のコマンドプロンプトの画面サイズ全て一律に設定して、綺麗に
デスクトップ上での配置をさせたいと考えています。そこで、以下のスクリプトを
作成しましたが、

var WShShell = WScript.CreateObject("WScript.Shell");
for(i = 1; i <= 5; i++)
WShShell.Run("ping xxx.xxx.xxx." + i);

上記の場合では、コマンドプロンプトの画面サイズの設定とデスクトップ上の
配置が指定出来ません。
どなたか、別の方法でお分かりになる方がいらっしゃいましたら、教えて頂けますか?


226 名前:Name_Not_Found 投稿日:2005/05/08(日) 22:02:04 ID:???
target=""の中に _top _self _parent _blank その他ターゲットにするフレーム名の指定が可能だが
フレームで分割しているときに、上記の4つの指定をすると違いが分かりやすいかと

227 名前:Name_Not_Found 投稿日:2005/05/08(日) 22:37:31 ID:???
>>220
それじゃあんたは 2.55 という文字列があったら paserInt と parseFloat をわざわざ使い分けて
数値として扱うんだ?面倒くせぇ〜〜
上にも出ているが、使う場面に出くわさない人間の勝手な意見に過ぎないんだよ
evalでevalを使うのも一つの手段、int floatまで否定していない意見に食いついて墓穴掘るなよ

228 名前:Name_Not_Found 投稿日:2005/05/08(日) 22:46:38 ID:???
Number()使えよ・・

229 名前:Name_Not_Found 投稿日:2005/05/08(日) 22:46:44 ID:???
>>227
馬鹿じゃないの。最終的に文字列の先頭部分から整数値を取得したい
ときはparseInt()、実数値(たまたま小数点以下が0でもいい)を取得
したいときはparseFloat()、文字列全体として余計なものがあったら
NaNとしたいときはNumber()を使うんだろ。

eval()を使うと「何をやっているのか」という意図が読めないから
分かりづらいコードになる。だからダサい。その感覚が分からないなら
プログラミングはあきらめれ。いやまあ自分だけで何やってようと
それは勝手だが他人に講釈たれようとするのは迷惑杉。

230 名前:Name_Not_Found 投稿日:2005/05/08(日) 22:49:56 ID:???
もしかして >>227 は parseFloat('2.55') が「0.55」になると
思っているんじゃないだろうか… 信じがたい阿呆な話だが。

231 名前:Name_Not_Found 投稿日:2005/05/08(日) 23:18:04 ID:???
>>228-230
>evalを使うのも一つの手段、int floatまで否定していない意見に食いついて墓穴掘るなよ
も読めない文盲ですか?おめーらほんっと否定しようとして墓穴掘ってるからアホだよ・・・
特に>>230
>parseFloat('2.55') が「0.55」になると
バカじゃねーの?そんなこと書かれてねーよ?

232 名前:Name_Not_Found 投稿日:2005/05/08(日) 23:25:52 ID:???
ダブルクォートとシングルクォートの違いって何ですか?
" + "a" + " という具合に、ダブルクォートの中に
ダブルクォートを書くとエラーになるので、" + 'a' + " こうしなきゃ
いけないんだろうなぁ、って思ってますが、何か他にも意味がある気がするのですが
実際どうなんでしょうか?

233 名前:Name_Not_Found 投稿日:2005/05/08(日) 23:26:19 ID:???
>>229
>馬鹿じゃないの。最終的に文字列の先頭部分から整数値を取得したい
>ときはparseInt()、実数値(たまたま小数点以下が0でもいい)を取得
>したいときはparseFloat()、文字列全体として余計なものがあったら
>NaNとしたいときはNumber()を使うんだろ。
使い分けをする必要があるときはするだろ、単なる文字列の数字を、例えば
2.55が文字として扱われている場合、数値として扱うならと書いてあるが?
2.55をさらに整数部分だけをとるとか、使い分けする必要がない場合 eval で済ますだろ
そもそもあんたの言い分だとまさに>>230が勘違いをしたことそのままの考えだな
要するに paserInt("2.55") から返された2と parseFloatがなぜか0.55しか返さないという勘違いで
2つの値を足すのか?バカバカしいよw

234 名前:Name_Not_Found 投稿日:2005/05/08(日) 23:35:47 ID:???
evalで済ませられることがあっても、わざわざ自分はparseInt、parseFloatを知ってますよ〜って
ことを言いたいだけで、筋の通らない屁理屈で否定しようとしなくて良いよ
どんなオブジェクト、メソッドにしろ自分が処理したい目的に応じたものを使えば良いじゃん


235 名前:Name_Not_Found 投稿日:2005/05/09(月) 00:02:35 ID:???
" + 'a' + " と ' + "a" + ' 二つに違いはあるんですか?
この二つを混合するサンプルがいくつもあって、違いに戸惑ってます。

236 名前:Name_Not_Found 投稿日:2005/05/09(月) 00:04:11 ID:???
>>225
(・3・) エェー 穴が空くほどスレタイを読んでみるといいYO

237 名前:Name_Not_Found 投稿日:2005/05/09(月) 00:05:53 ID:???
>>232
(・3・) エェー JS だと " と ' は等価だYO
          でも別の言語だと微妙に意味が違ったりするから気をつけてNE

238 名前:Name_Not_Found 投稿日:2005/05/09(月) 00:08:13 ID:???
だからさ、コードはできるだけ意図が明確になるように書くべきで
何もかもevalにつっこむのはそれの正反対だっていうことさ。
そんな基本的なことが理解できない奴が現にいるということは
よく分かったよ、しょうもない。

239 名前:Name_Not_Found 投稿日:2005/05/09(月) 00:13:36 ID:???
>>237
レスどうもです。なんというか、安心しました。m(_ _)m

240 名前:Name_Not_Found 投稿日:2005/05/09(月) 00:19:36 ID:???
藻前ら宗教戦争やめれ、ちっともいいことない。過去ログ
見てeval()なコードとparseInt()/parseFloat()/Number()
なコードとどっちがまともなのが多いか見てみるとかどう?
まあ今から両陣営で頑張ってくれてもよいよ。

241 名前:214 投稿日:2005/05/09(月) 00:41:57 ID:???
>>216
ありがとうございました。
>>218
失礼しました。以後気をつけます。

242 名前:Name_Not_Found 投稿日:2005/05/09(月) 04:41:45 ID:???
parse*は文字列の中から探して取り出す。
evalは文字列をJavaScriptコードとして解析する。
オーバーヘッドが全然違うと思うけど、どっちでも動くからどっちでもいいやw

243 名前:Name_Not_Found 投稿日:2005/05/09(月) 05:52:03 ID:???
>>240
>やめれ
は同意。
でも >まとも ってのはチトあれだな。

こういうのって臨機応変。
こういうことだろ?
ある一定の効果(目的)を得るのに最も効率的な、(または適した)手段は?
ということ。
こういうやり方もあると手段の多様性を示すことも学習者には大事。
何がベストかは、決局、目的に寄るんだよなぁ。
アルゴリズムもあるねぇ。好き嫌いもあるねぇ(w)
でも食わず嫌いは伸びないぞぉ(w)
頭からこんなのは使えない、と断定仕切る向きも、アレだな。宗教だな。
脳内のテンプレが更新できないと時代に置いて行かれるぞぉ(w)

ん?一般論だから。実例示せって言われても、すぐ浮かばないわ(w)


244 名前:Name_Not_Found 投稿日:2005/05/09(月) 09:16:42 ID:???
その最後に一言言わないと気が済まないというのがアレなんだが。

245 名前:Name_Not_Found 投稿日:2005/05/09(月) 09:33:11 ID:2Tc8BSkG
質問です
解説書を読んでランダム画像を張ることが出来るようになりました
この画像が1枚1枚サイズが違うのでサイズを固定したいのですが
どうすれば固定できるのでしょうか?

246 名前:Name_Not_Found 投稿日:2005/05/09(月) 09:52:38 ID:???
>>245
imgにid属性つけて
document.getElementByIdでオブジェクトとして取得。
んで、オブジェクト.width、オブジェクト.height で幅・高さを指定

247 名前:Name_Not_Found 投稿日:2005/05/09(月) 09:59:55 ID:???
すみません、全く理解できませんでした・・・
出直してきます。

248 名前:Name_Not_Found 投稿日:2005/05/09(月) 10:42:32 ID:???
よく読んでやってみると出来ました
本当にありがとうございます

249 名前:Name_Not_Found 投稿日:2005/05/09(月) 12:59:11 ID:???
<html>
<head>
<script type="text/javascript">
<!--
data = 5 ;//@ここがグローバルになるのはわかるけど…

function hoge() {
time_b = new Date() ;
year = time_b.getYear() ;
}

function foo() {
document.open() ;
document.write( "年は" ,year, "です。\n" ) ;//Aなぜに year が?
document.write( "データは", data, "です。\n" ) ;
document.close() ;
}

//-->
</script>
</head>
<body onLoad="hoge()">
<form name="form1">
<input type=text name="timer">
<input type=button name="tests" onClick="foo()" value="write">
<form>
</body>
</html>


250 名前:Name_Not_Found 投稿日:2005/05/09(月) 13:01:10 ID:???
この中にC言語なり、ほかの言語をかじったことのある方はいらっしゃる
でしょうか? 上のプログラムで、Aがグローバル変数のような扱いにな
っている理由がいまいち理解できません。
Javascrptで扱う変数は、ブロック内であっても、すべてグローバルなもの
と解釈してよいのでしょうか?

251 名前:Name_Not_Found 投稿日:2005/05/09(月) 13:32:27 ID:???
>>250
そんな疑問に対しては絶対にJavaScriptのチュートリアルを
読むべきだぞ。関数内の変数は「var x;」のように宣言すれば
ローカル、宣言しないものはグローバルというのがJSの言語仕様。
そんなもの全部言語ごとに違うんでCがどうとか言っても無意味。

252 名前:Name_Not_Found 投稿日:2005/05/09(月) 13:45:37 ID:???
>>250
:::::::::::/           ヽ::::::::::::
:::::::::::|  ば  じ  き  i::::::::::::
:::::::::::.ゝ か   つ   み  ノ:::::::::::
:::::::::::/  だ  に  は イ:::::::::::::
:::::  |  な。       ゙i  ::::::
   \_         ,,-'
――--、..,ヽ__  _,,-''
:::::::,-‐、,‐、ヽ. )ノ      _,,...-
:::::_|/ 。|。ヽ|-i、      ∠_:::::::::
/. ` ' ● ' ニ 、     ,-、ヽ|:::::::::
ニ __l___ノ     |・ | |, -、::
/ ̄ _  | i     ゚r ー'  6 |::
|( ̄`'  )/ / ,..    i     '-
`ー---―' / '(__ )   ヽ 、
====( i)==::::/      ,/ニニニ
:/     ヽ:::i       /;;;;;;;;;;;;;;;;

253 名前:Name_Not_Found 投稿日:2005/05/09(月) 15:28:30 ID:UzWvBGhH
同じForm内で
<input type="submit" name="submit" value="あ">
<input type="submit" name="submit" value="い">
とした場合にどちらのsubmitが押されたかを
判断するにはどうやったらいいんでしょうか?

254 名前:Name_Not_Found 投稿日:2005/05/09(月) 15:48:34 ID:pEyX4Yf3
http://JJ079055.ppp.dion.ne.jp/
うはっwwwうはっwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwww
おkwwwwうぇwwwうぇwwwおkwww


255 名前:Name_Not_Found 投稿日:2005/05/09(月) 16:01:06 ID:???
>>253
受け取ったCGI側で判断するということ?それはnameで指定した
CGI変数(この場合はsubmitか)に値("あ"とか"い"とか)が入って
いるから分かるんじゃないの。しかしJavaScriptと関係ないなあ。

もしonsubmitの中で判断する話だとしたら、それはできないから、
onsubmitの代わりに各ボタン側にonclickを指定してやる。
それならそれぞれのonclickに別の動作が指定できるからね。

256 名前:Name_Not_Found 投稿日:2005/05/09(月) 16:03:38 ID:???
>>255
レスありがd。

そうですか、onsubmitじゃできないんですか・・・ Σ(゚д゚lll)ガーン
onclickしか方法がないんですね。仕方ないな。そちらでやります。

257 名前:Name_Not_Found 投稿日:2005/05/09(月) 16:28:19 ID:???
>>256
なるべく変えたくないということなら、ボタン側には
onclick="window.flag='あ'" onclick="window.flag='い'"
などだけ設定し、onsubmitの動作の中でwindow.flagを
参照するなんていうのもいいのでは。

258 名前:Name_Not_Found 投稿日:2005/05/09(月) 17:13:29 ID:???
http://zittai.client.jp/
↑このサイト利用規約違反してます

259 名前:Name_Not_Found 投稿日:2005/05/09(月) 17:46:04 ID:???
スレ違いすっこめ! JavaScriptの質問を書け!

260 名前:Name_Not_Found 投稿日:2005/05/09(月) 17:46:50 ID:???
それがどうした?

261 名前:Name_Not_Found 投稿日:2005/05/09(月) 18:05:41 ID:???
スルーするべきだった

262 名前:Name_Not_Found 投稿日:2005/05/09(月) 18:31:57 ID:Q7UVJP9q
JavaScriptでinnerHTMLをつかった場合の質問です。

divの中にinnerHTMLで画像をたくさん貼り付けているのですが、
画像の読み込みが完全に終わらないまま止まってしまう事がIE6で稀にあります。
本来100*100のサイズの画像が100*78くらいで止まり、下に空白が残ります。

これを防ぎたいのですが、どのような対処法があるのでしょうか?
とりあえずDOMを利用して書いてみることを検討しつつ、
ほかにも何か方法があれば是非教えてください。よろしくお願いします。

263 名前:Name_Not_Found 投稿日:2005/05/09(月) 18:39:56 ID:???
>>262
山のように画像を入れると読み込みエラーする可能性あるよね。
画像を1つ読み終わったら次を読むというふうに1個ずつやったら
確実だと思うがどうよ。divの中のinnerHTMLの文字列の形を教えれ。

264 名前:Name_Not_Found 投稿日:2005/05/09(月) 18:44:28 ID:???
>>263
onload/onerrorをハンドルする必要があるとすると、なかなかに面倒ですね。
しかし、DOMでうまくいかなかったらそれでやってみるしかないですね。
IEが読み込みをとめてしまうきっかけさえわかれば対処できそうなのですが…

読み込む形は次のようなものです。

<div style='float:left;position:relative;width:128px;border:0px solid red;' align='center'>
<div name='item' style='position:relative;top:14px;width:100px;'>
<div style='position:relative;width:100px;height:100px;border:1px solid black;'><a name='subject-text' href='javascript:void(0)'><img border='0' width='100' height='100' src='imgs/img3.jpg'></a></div>
<a name='subject-text' href='javascript:void(0)' style='position:relative;top:10px;width:100px;color:black;text-decoration:none;'>
<center>The subject of the image is here</center>
</a><div style='position:relative;height:10px;width:0px;'></div>
</div>
<div style='position:relative;height:24px;width:0px;'></div>
</div>

上のをテンプレートとして、
一つのdivの中に上記のdivが10〜20個くらい入ります。

265 名前:Name_Not_Found 投稿日:2005/05/09(月) 18:45:37 ID:???
あ、<center>タグはデバッグのために入れているだけです。

266 名前:Name_Not_Found 投稿日:2005/05/09(月) 19:25:23 ID:???
>>264
結構面倒だね。むしろ逆に、全部の画像を先読みしてしまい、完了した時点
でinnerHTMLを書くっていうのはどうかな。そうすれば読み込み完了してる
のだからエラーにならないというか。

var imgs = new Array(20);
for(var i = 0; i < imgs.length; ++i) imgs[i] = prepare(i);

function prepare(k) {
var i = new Image(); i.src = 'imgs/img' + k + '.jpg';
i.onload = function() { if(++count == 20) /* innerHTML セット */ };
i.onerror = function() { imgs[k] = prepare(k); }; // 再度チャレンジ
}

267 名前:262 投稿日:2005/05/09(月) 19:26:02 ID:???
自己解決しました。
なんと悪さをしていたのは href='javascript:void(0)' でした

void関数は仕様では何もしない関数のはずですが、
IEではどうやら現在読み込み中の画像の読み込みを止めてしまう副作用があるようです。

解決策として
<a href='#' onclick='return false'>
という方式を取りましたが、これだとアドレスバーの右端に#がついて汚いんですよね
もうちょっと模索してみますが、とりあえず件の問題については解決したので報告しました

268 名前:Name_Not_Found 投稿日:2005/05/09(月) 19:26:48 ID:???
すまそ、prepare の本体最後に「return i;」これがないと無意味。

269 名前:262 投稿日:2005/05/09(月) 19:27:58 ID:???
>>266
をを、ありがとう。
先読みのコードは知らなかったので役に立ちます。
これを境に先読みにしてみようかな…。

270 名前:250 投稿日:2005/05/09(月) 19:48:37 ID:???
ここを見て、
ttp://www5a.biglobe.ne.jp/~n_rieko/javascript/8.htm
また、手持ちの本にも書いてあったことですが、


@NetscapeNavigatorではvarを使い宣言した場合その変数は宣言された場所に
 限らず全てグローバル変数になります。

AInternetExploreでは関数の中で宣言した変数は全てその関数のみのローカル
 変数となります。

これはまったく逆のことを言っていますよね?
おかしいと思い、Netscape をダウンロードして確認してみたのですが、
@は嘘のようでした。var a = "1" とかを関数の内で宣言してもグローバルには
なりませんでした。これはどういうことでしょうか? なぜ、@のような
勘違い(?)が発生したのでしょうか?

一応、>>6 にある変数の宣言の項目の部分は目を通してみましたが、@のような
ことが書かれてはいませんでした。

271 名前:Name_Not_Found 投稿日:2005/05/09(月) 20:15:06 ID:???
>>270
丸数字やめてね。その解説ってすごく古くない?Netscape Navigator 2.0
とかじゃないの? すくなくともNavigatorとかいう名前をつけてるのはN4
までだから。現在の言語仕様だったら ECMA-262 ed.3 を参照すれ。

272 名前:Name_Not_Found 投稿日:2005/05/09(月) 20:15:55 ID:K/slflcb
document.myForm.mySelect.options[i] = new Option(theMenu[i]);
で新しく作った option を消す場合は、どのようにしたらいいのでしょうか?
delete だと上手くいきません。

273 名前:Name_Not_Found 投稿日:2005/05/09(月) 20:32:52 ID:???
確かoption専用のメソッドがあったような。removeなんちゃらっていう。

というかこれくらいの情報は自分で調べてもらいたいところだから、調べ方を教えよう。
1: googleで "dhtml reference"で検索
2: トップに出てくるMSのページをクリック
3: 左のメニューからObjects->optionをクリック、右のページでMethodをクリック
4: それっぽいのを探す

274 名前:Name_Not_Found 投稿日:2005/05/09(月) 21:13:15 ID:???
>>251,>>271
私のような、実にくだらないかもしれない疑問に答えて下さり、
ありがとうございました。
おっしゃる通り、古い本であります。
疑問が晴れて、多少すっきり致しました。

275 名前:Name_Not_Found 投稿日:2005/05/09(月) 21:32:15 ID:???
>>272
ttp://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-94282980
できればIE専のものが含まれたMSよりW3Cのを参照して欲しいところ。

276 名前:Name_Not_Found 投稿日:2005/05/09(月) 22:21:01 ID:???
IE専で何が不都合なのか理解できない

277 名前:Name_Not_Found 投稿日:2005/05/09(月) 22:22:57 ID:???
理解できない奴はずっとIE専してろ。
クロスブラウザが必要な奴がいないと勝手に思ってれば。別に止めない。

278 名前:Name_Not_Found 投稿日:2005/05/09(月) 22:35:23 ID:???
皆のことを考える人は違いますね

279 名前:Name_Not_Found 投稿日:2005/05/09(月) 22:35:52 ID:???
>>275
それはIDLで書かれているから
ここで質問するようなやつにとってわかりやすいかというと……

ECMAScript Language Bindingのほうはといえば
型情報だけで意味の解説がないからこれはこれでわかりにくいし……
ttp://www.w3.org/TR/DOM-Level-2-HTML/ecma-script-binding.html

280 名前:Name_Not_Found 投稿日:2005/05/09(月) 23:06:44 ID:???
XMLHttpRequestで取得した画像(JPG)を画面に表示する方法がわかりません。

1. サーバーが画像をそのまま送信し、ブラウザがresponseStream
  またはresponseBodyをimageオブジェクトに結びつけて表示。
2. サーバーが画像をテキストにエンコードしてから送信し、ブラウザが
  responseTextを画像にデコードした後imageオブジェクトに結びつける。

のようなことを考えているのですが、どちらもうまくいきません。
どなたかご存知の方がいればご教授願います。s

281 名前:280 投稿日:2005/05/09(月) 23:07:40 ID:???
すみません。上の書き込みの最後のsはタイプミスです‥‥

282 名前:Name_Not_Found 投稿日:2005/05/09(月) 23:23:30 ID:???
普通にnew Image()してからsrcプロパティをセットするのじゃいけない理由でもあるの?

283 名前:280 投稿日:2005/05/09(月) 23:30:03 ID:???
>>282
それだとsrcのイメージファイルがロードされるまでブラウザが
固まってしまうんですよ。

284 名前:Name_Not_Found 投稿日:2005/05/09(月) 23:55:02 ID:???
>>283
画像の動的な読み込みを非同期で行いたいということかな?
Imageオブジェクトのsrcプロパティをセットする部分を
setTimeoutで分けてみるとどうなる?(試してないけど)

285 名前:Name_Not_Found 投稿日:2005/05/10(火) 01:26:17 ID:???
>>283
てかこちらで試してみたところImageオブジェクトのsrcプロパティを
セットしても画像がロードされる前に次のステートメントへ移動する
(画像は非同期に読み込まれる)ような気がするが、
ブラウザが固まるというのはどのようにやった場合かね?

286 名前:Name_Not_Found 投稿日:2005/05/10(火) 01:37:56 ID:???
>>278
ご心配なく。Web制作板的にはアンタのがずっと厨房だから。
>>283
漏れも>>285のが普通だと思う。固まるというのは勘違いでは?
単に読み込みが増えて遅くなるだけとか。

287 名前:280 投稿日:2005/05/10(火) 03:10:22 ID:???
>>284
はい。画像を非同期で読み込みたいのです。
テキストは非同期で取得できるのですが、画像の場合の方法が思いつきません。
ちなみに、setTimeoutを使っても、タイマーが実行されるときは同期
で画像を取得するので、画像をリクエストしてから受信するまでの時間、
固まってしまいました。

>>285
例えば、画像をドラッグできるようにするスクリプトに、
10ピクセル以上ドラッグすると画像を取得するようなコードを
付け足すと、一定時間(1秒くらい?)固まるのが実感できると思います。

>>286
遅くなるという感じではないんですよね。
画像の取得が完了するまでは完全に固まって、それが終わると急に動き出します。


288 名前:Name_Not_Found 投稿日:2005/05/10(火) 04:45:25 ID:???
>>287
それってただ単に処理がもたついて描画が間に合わないだけじゃない。
>287のいうスクリプトを作ってみたけど俺の環境ではそこまでもたつかなかったぞ。
それでも違うと言うのなら具体的にどんなスクリプトを書いたら固まったのかいってくれ。
できればお前さんのPCのスペックも。

289 名前:Name_Not_Found 投稿日:2005/05/10(火) 05:34:16 ID:???
XMLHttpRequestって標準なの?
発祥はIE専だと思ってたけどな。


290 名前:Name_Not_Found 投稿日:2005/05/10(火) 06:28:03 ID:lH2ePrlp
文字をドラッグ選択すると、選択された部分が反転しますが
それを無効(つまり選択されず反転されない状態)にする方法ってありますか?

291 名前:Name_Not_Found 投稿日:2005/05/10(火) 06:55:28 ID:???
>>289
Mozilla、Opera、Safariも対応した今では事実上の標準といった扱いじゃないか?
対応状況はそれぞれに異なるけどな。
responseStreamとかresponseBodyとかGeckoには存在しないよ

>>290
>>1
どういう風に使いたいのか知らないけど基本的にそれは迷惑行為だよ

292 名前:Name_Not_Found 投稿日:2005/05/10(火) 07:03:26 ID:lH2ePrlp
>>291
迷惑?なんで?ドラッグされると面倒な場面で対処したいんだけど・・・
勝手な言い掛かりはやめてもらえませんか?
かといって、使用目的を事細かに説明しろとでも?
あるゲームを作っているんだけど、どうしても左クリックによる
オブジェクトの反転を避けたい、ただそれだけなんだけど・・・

293 名前:Name_Not_Found 投稿日:2005/05/10(火) 07:06:09 ID:???
>>2 にあるような問題も無いし、何が迷惑なんだろう?
>>291にはその迷惑という理由の方を説明してみらいたいね
でなきゃレスする資格はないよ

294 名前:Name_Not_Found 投稿日:2005/05/10(火) 07:54:38 ID:4CtQEw/Y
http://ej168.ade2.point.ne.jp/
wwwwwwwwwwwwwwwwww
おkwwwうはっwww
っうぇっっうぇおkwwwwwwwwwwwwwww

っうぇ
wwwwwwwwwwww
wwwwww

295 名前:Name_Not_Found 投稿日:2005/05/10(火) 08:26:11 ID:OIVGUZ8w
下記のスクリプトを onclick="aaa();" href="#_top"とした場合、
ページのタイトルがこれをクリックするたびに
ページタイトル #_top#_topというふうに
#_topが増えていきます。
タイトルに#_topが付かないようにするにはどうすればよいでしょうか。
よろしくお願いします。

function aaa(){
<!--
document.getElementById("<aaa>");
//-->}

296 名前:Name_Not_Found 投稿日:2005/05/10(火) 08:30:58 ID:???
>>295
何がやりたいのかさっぱり分からない
> href="#_top"
<A> アンカータグにつけているの?それとも aaa() ファンクションの中に
ページを飛ばすスクリプトを入れたいの?
>document.getElementById("<aaa>");
この部分については id の付け方が不適切


297 名前:Name_Not_Found 投稿日:2005/05/10(火) 08:31:35 ID:???
>>295
そもそもその「aaa()」というのは何をするためのものなの?本当に
その4行だったらとても回答する気にならないぐっちゃぐっちゃな
コードだけど。

とりあえず「onclick="aaa();return false"」とすれば#_topは増え
なくなるが、これも FAQ>>3 を読んでればハマらないはずなんだが。

298 名前:Name_Not_Found 投稿日:2005/05/10(火) 08:55:12 ID:???
>>290-293
いわゆる「コピペ禁止」と思われたんじゃないの。ゲームということなら
ひとことそう書いてくれれば納得したと思うが…

で、方法だけどonselectイベントの度にセレクションをcollapseさせる
とかいう感じでやればできそうな気がする。試してないけど。

299 名前:295 投稿日:2005/05/10(火) 08:57:11 ID:OIVGUZ8w
>>296-297
早急なレスありがとうございます。
<a onclick="aaa();" href="#_top">aaa</a>というふうにしています。

>>297様に教えて頂きましたとおりに
<a onclick="aaa();return false" href="#_top">aaa</a>にしたら
問題が解決しました。
ありがとうございました。


300 名前:291 投稿日:2005/05/10(火) 08:58:45 ID:???
>>292
オレは文章を読むときに右クリックから
選択語句を検索とかよくやるから
「文章を」選択できないようにされると
はなはだ迷惑なんだよ。

まあ画像とかを選択不可にしたいのなら
そのオブジェクト上でマウスの
左ボタンによるmousedownイベントを殺したら。

301 名前:Name_Not_Found 投稿日:2005/05/10(火) 12:31:09 ID:???
<html>
<head>
<script type="text/javascript">
<!--
function hoge() {
document.form1.font1.color = "#ffddcc" ;
}
//-->
</script>
</head>
<body>
<form name="form1">
<font id="test" name="font1" color="#000000" size="4">a</font>
<input type="button" onClock="hoge()" value="FONT">
</form>
</body>
</html>

これで、hoge がクリックされたら、フォントの大きさが変わるように
したいんですけど、どのようにすれば良いのですか?
getElementById というのも使ってみたけど、駄目でした。

302 名前:Name_Not_Found 投稿日:2005/05/10(火) 12:36:53 ID:???
閲覧しながらその時々の指定の文字列を置き換えるbookmarkletを作りたいのですが、IE6窓でうまくいきません。
javascript:var x=prompt("置き換えたい文字列","");if(x!="")document.body.innerHTML=document.body.innerHTML.split(x).join("ワショーイ");eval();
エラーは起こりませんが文字列もそのままです。何がまずいのでしょうか。

303 名前:Name_Not_Found 投稿日:2005/05/10(火) 12:38:10 ID:???
>>301
getElementByIdをどう使ったのか書け。自分でやったことを示す
のがまず最初だ。

304 名前:301 投稿日:2005/05/10(火) 12:42:19 ID:???
すみません。上のfunction hoge をこんな感じにしてみたのです。
とにかく、うまく行きません。図々しいですが、お手本お願いできませんか?

function hoge() {
document.form1.getElementById('test').color = "#ffddcc" ;
}

305 名前:Name_Not_Found 投稿日:2005/05/10(火) 12:45:05 ID:2QjXj+f5
>>302
最後の「eval();」は何?ふつーbookmarkletは最後「void(0);」じゃないの。
そう直して動かしたらIE6でもMozでも動作したが。

306 名前:Name_Not_Found 投稿日:2005/05/10(火) 12:46:50 ID:???
>>304
それで色は変わるの変わらないのどっち。何が分からないわけ?
「.size = '7'」とかそういうのはやってみなかったの?

307 名前:301 投稿日:2005/05/10(火) 12:46:59 ID:???
onClock になってますが、onClick の間違えでした。
けれど、直しても結局エラーみたいです。

308 名前:Name_Not_Found 投稿日:2005/05/10(火) 12:49:02 ID:???
>>307
だったらエラーの位置と内容を書けってば。 >>2 を嫁。
ちょっとまてよ、document.form1.getElementById(...)じゃなくて
document.getElementById(...)だぞ。いったいどこからそんなヘン
なものを仕入れたんだ?

309 名前:301 投稿日:2005/05/10(火) 12:53:31 ID:???
>>308
おぉ…>>308様、ありがとうございます!
なんと、あっさりと直ってしまいました。form1 はいらなかったのですね。

310 名前:Name_Not_Found 投稿日:2005/05/10(火) 12:56:14 ID:???
別に document.form1.getElementById() でも構わんと思うが。
form1の子孫から探し始めるだけで。



311 名前:302 投稿日:2005/05/10(火) 13:00:27 ID:???
>305
ご指摘のところを直して動かしてみたところ、operaは動きましたが
IEはやはり変化無しでした。
何か設定が悪いのかもしれませんのでもう少し弄ってみます。

312 名前:Name_Not_Found 投稿日:2005/05/10(火) 13:02:13 ID:???
>>310
え、嘘でしょ? getElementById()はDocumentに対して定義されて
いるからフォームや一般のノードにはないと思うんだけど…

313 名前:301 投稿日:2005/05/10(火) 13:02:49 ID:???
>>310
そうなのですか、お勉強し直してきます。 orz

314 名前:Name_Not_Found 投稿日:2005/05/10(火) 13:03:33 ID:???
>>311
不思議だねえ、Win IE6で試したけど… エラー出てないんだよね?

315 名前:302 投稿日:2005/05/10(火) 13:07:25 ID:???
>314
健康そのものです。
ガ板にあるようなpromptを使わないキターなんかはきちんと動いてるんで
何かそのへんに問題があるんでしょうが

316 名前:Name_Not_Found 投稿日:2005/05/10(火) 13:10:29 ID:???
>>315
そうか、WinXP SP2のpopup blockとかじゃないの?

317 名前:302 投稿日:2005/05/10(火) 13:15:46 ID:???
>316
Meでgoogleツールバー使用なのですが、promptで文字入力までは行くんですよ。
で、画面が書き換えられた後も文字列は変化しないんです。
googleツールバーのポップアップ禁を解いてみたのですが、効果無しでした。
なんでだろう。

318 名前:Name_Not_Found 投稿日:2005/05/10(火) 13:17:55 ID:???
>>300
>「文章を」選択できないようにされると
>はなはだ迷惑なんだよ。
おめーの勝手な妄想とか意見の押し付けとか良いから
全然迷惑じゃないって
ソースだって表示されないようにする技術があるんだし
コピペできないようにする技術もあるし
自分勝手な押し付けがいかに無意味か、理解してからレスしろ
だいたいお前のレスは直接的な解決策じゃないだろ

319 名前:Name_Not_Found 投稿日:2005/05/10(火) 13:22:21 ID:???
>>318
宗教戦争は迷惑だからやめれって。やりたきゃどっかよそで頼むわ。
真面目に回答してくれてる奴だっているんだしさ。そもそもがあれっぽちで
ムカつく奴は2ちゃん向いてないだろ。厨はスルーが基本ね。

320 名前:302 投稿日:2005/05/10(火) 13:24:09 ID:???
promptで入力する文字が半角だとIEでもいけるようです。

321 名前:Name_Not_Found 投稿日:2005/05/10(火) 13:44:23 ID:???
>>320
うーぬぬぬ。そりゃバグのようなもんか?promptで入力したものを
直ちにalertで表示させたらちゃんと化けずに表示される?

322 名前:Name_Not_Found 投稿日:2005/05/10(火) 13:45:50 ID:???
うろ覚えだけど、
IE6以前 だと prompt で入力された文字列には、何故か最後にゴミがつくときがあったような気がする。
x = prompt(〜略〜); x = x.replace(/[\x00-\x07\x20]+$/, ''); 〜以下略
とか試してみたら?
試してない上、間違ってるかもだけど(´д`)

323 名前:Name_Not_Found 投稿日:2005/05/10(火) 16:40:06 ID:???
>>312 の言う通り。
>>310 は ×でしょ。

getElementsByTagName()と勘違いしてねーか?


324 名前:Name_Not_Found 投稿日:2005/05/10(火) 20:47:11 ID:8kxKbCxT
フォーカスを持たせたいがためだけにanchorタグを使って、

<a href="javscript:void(0)">〜</a>

というようなコードを書いていたのですが、これで大きな問題が発覚しました。
他の部分でJavaScriptを用いて動的にそこそこ大きい画像ファイルを読み込んでいるのですが、
IEの仕様で、hrefの部分でjavascript関数を実行すると画像の読み込みも途中で止まってしまう模様です。
(void関数の仕様ではなく、自分で何もしない関数を作成して確かめてみました)

仕方ないのでvoid関数などを使わずに書きたいのですが、

<a href="#">〜</a>だとクリックすると画面の上部まで飛んでしまう問題が解決できません。
<a href="#" onclick="return false">〜</a>も試してみましたが、ジャンプを防げませんでした。

何かいい方法はないでしょうか?

325 名前:Name_Not_Found 投稿日:2005/05/10(火) 21:35:18 ID:???
>>298
onselectstart="collapse;" または onselectstart="return false;" できました
ヒントを教えてくれてありがとうございました

326 名前:Name_Not_Found 投稿日:2005/05/10(火) 21:53:37 ID:???
現在onloadでinit関数を呼び寄せ書かれたタグの属性を換えて、
そこでlocation.reloadしているのですが、無限ループに陥ります。

フラグを立てても機能しません。立て方がおかしいのかもしれません。
グローバルで宣言・代入して、initの中でフラグを書き換えているのですが、
location.reloadしている所為かフラグが変わりません。

無限ループに陥らず、1回だけinitして内容が画面に反映されてる方法を
教えてください。
onloadより早いタイミングで、ページが読みこまれる前にinit出来ればいいのですが・・・

327 名前:Name_Not_Found 投稿日:2005/05/10(火) 22:08:26 ID:???
>>326
グローバル変数でもスコープはそのドキュメント内だけ。
reload したら当然初期化される。
別のページに飛んだのと同じこと。

クッキー使えばなんとかなるけど
クッキーを無効にしている人は結構多いので
それに頼りすぎるのはよくないかもしれない。

328 名前: ◆q7u/null4U 投稿日:2005/05/10(火) 22:11:08 ID:???
>>326
>location.reloadしている所為かフラグが変わりません
reload した時に flug も initialize されるはずだから当然.
問題は function init(){} の中身だと思う.
なぜ reload する必要があるの ?

329 名前:326 投稿日:2005/05/10(火) 22:51:03 ID:???
>328

早速のレスありがとう。

HTMLの内容は仮の値が入っています。
最初に関数を呼び出したときの処理値で正規の値の反映した
値を画面に反映させたいのです。
具体的に言えば、自分のテレビ番組表を作っていて、
HTMLには仮の日付が入っているので、initで今日の値を計算して
iframe等呼び直したいと言う事です。

昔作った時は、HTMLすべてを書き換えてdocument.write()してた気がしますが、
属性を換えるだけでスマートに出来ないかなと思考中です。
無理ですかね?HTML書き直すとJavascriptが汚くなるんで・・・

330 名前: ◆q7u/null4U 投稿日:2005/05/10(火) 23:11:59 ID:???
>>329
日付計算は onload 以前にやることができる.
たぶん, このケースでは reload は必要ないと思うな.
obj. innerHTML で書き換えてみては ?
(innerHTML は ほとんどの web-browser がサポートしている)

ところで属性って何 ?
(日本ではなんでもかんでも '属性' という言葉で片づけられる傾向がある)
attribute なら, たいてい書き換えが可能だけど.

331 名前:Name_Not_Found 投稿日:2005/05/10(火) 23:41:38 ID:???
? iframeだけリロードしたらいいじゃん。 src の中身かえるだけだろ?

332 名前:326 投稿日:2005/05/11(水) 00:06:35 ID:???
この場合、属性=attributeでお願いします。

>日付計算は onload 以前にやることができる。
これはどうやるのでしょうか?ホントはonload前にinitを呼び出したいのですが、
これは可能でしょうか?


attributeを換えても、例えばiframeのsrcを書き換えても、そのsrcのサイトは
まだ表示されませんよね。これを表示し直すには、innerHTMLなどの再表示機能
を生かせということですね。

やってみたら出来ました。

でも、きらいな「¥”」 と「”」の文字がウジャウジャ出来ました。

今回はトリッキーに
with(document.all["ifr"]){
   outerHTML = outerHTML;
}
なんかで、中のHTMLに触れずにやれましたので良かったですが、
もっとvalue,name等々のAttributeを書き換えて何かアクションを起こすことで
スマートに再表示したいのですが、出来ないですかね?
(reloadするとスタックの変数みんな飛んじゃうし・・・)

333 名前:326 投稿日:2005/05/11(水) 00:13:51 ID:???
>331
コードはどうなります?
srcの中身換えても自動的に内容はかわりませんよ。

自己レスですいませんが、
332のやり方だと再表示されてから下のバーの計算状況を表示してる
青バーが終わりません。
おかしなコードで機械がイカレタカナ?
しばし奮闘中。

334 名前:Name_Not_Found 投稿日:2005/05/11(水) 00:25:23 ID:???
>>326
URL の ? 以降で変数を与えることもできるけどね。

どのみち JS 必須なら
最悪 iframe 自体を document.write() してしまえばいいんだけど。

サーバサイドのスクリプトは使えないの?

335 名前:326 投稿日:2005/05/11(水) 00:35:52 ID:???
>334
いや〜、なるべくクライアントサイドで完結したいんだ。

document.close(),write()とouterHTML・innerHTMLの書き換えは
ニアリーイコールでしょ。
outerHTML・innerHTMLの書き換えは、自動的に再表示してくれるし。
でもどちらも「¥”」地獄が目に見えてる。メンテ大変そう。


336 名前:Name_Not_Found 投稿日:2005/05/11(水) 00:44:33 ID:???
> いや〜、なるべくクライアントサイドで完結したいんだ。

自分しか見ないんだったらいんじゃね

337 名前:302 投稿日:2005/05/11(水) 00:54:36 ID:???
>321
日本語を指定してもちゃんと表示されるようです。
>322
うまくいきました!
javascript:var x=prompt("置き換えたい文字列","");x=x.replace(/[\x00-\x07\x20]+$/, '');if(x!="")document.body.innerHTML=document.body.innerHTML.split(x).join("ワショーイ");void(0);
窓MeのIEでも置き換わってくれました。

321様も度々本当にどうもありがとうございました。

338 名前:Name_Not_Found 投稿日:2005/05/11(水) 01:19:31 ID:???
>>333
終わらないのはdocument.close()してないからでしょ。

339 名前:Name_Not_Found 投稿日:2005/05/11(水) 01:21:22 ID:???
>>337 おーよかったね。 if (x!="") は if (x) だけでもいいと思うよ。

>>333 > srcの中身換えても自動的に内容はかわりませんよ。
え、変わるよな?w おれだけ?w

<script type="text/javascript">
function jump (url) {
    document.getElementById('view').src = url;
}
</script>
<div id="url-select">
    <select onchange="jump(this.options[ this.selectedIndex ].value)">
        <option value="http://google.co.jp/" selected="selected">Google</option>
        <option value="http://yahoo.co.jp/">yahoo</option>
        <option value="http://goo.ne.jp/">goo</option>
    </select>
</div>
<iframe id="view" src="http://google.co.jp/" width="100%" height="300"></iframe>

まあ、できなかったら createElement すればいいんじゃ。

340 名前:Name_Not_Found 投稿日:2005/05/11(水) 01:27:42 ID:???
>>326
なんかいろいろやった後で悪いんだけど、それだったら
ソースのできるだけ上(<title>...</title>の直後くらい)に
<script type="text/javascript">
function init() { ... initの定義 ... }
init(); // ここですぐ呼ぶ
</script>
を入れておけばいいんじゃないの?で、onloadは不要と。

341 名前:Name_Not_Found 投稿日:2005/05/11(水) 01:31:09 ID:???
>>324
: <a href="#" onclick="return false">〜</a>も試してみましたが、
: ジャンプを防げませんでした。

絶対おかしい。それで普通はいいはず。どっかミスタイプない?生成
するとき「"return false"」の両側の「""」が落ちてしまってるとかさ。
うまく行かない最小限のソース作って貼ってみる?

342 名前:326 投稿日:2005/05/11(水) 01:50:26 ID:???
>339
> srcの中身換えても自動的に内容はかわりませんよ。
>え、変わるよな?w おれだけ?w
すいません。出来ました。 原因:頭尾の¥”付け忘れ。

でも、今度はsrc代入の時点で「ページを表示できません」ページが
出てきました。さっきのYahooの「サイトが見つかりません」ページすら
行きません。どうやらローカルのdnserror.htmを開いているみたい。

またしょぼい事でエラー出してるのでしょうか。

<script language="javascript">
<!--

var today;
var Now;
var month;
function init(){
manageDate();
var Tuki = month +1;
alert(Tuki + "/" + today);
if(document.forms(0).elements(0).options(0).value != Tuki + "/" + today){
setOptionData();
chngSRCinIframe();
}

}


343 名前:326 投稿日:2005/05/11(水) 01:52:19 ID:???
function chngSRCinIframe(){
var areaCode ="sizu";
var dayCode = Now.getDate();
if(dayCode < 10){
dayCode = "0" + dayCode;
}
var monthCode = month;
monthCode++;
if(monthCode < 10){
monthCode = "0" + monthCode;
}
var dateCode = Now.getFullYear() + monthCode + dayCode;
var targetSRC = "\"http://tv.yahoo.co.jp/vhf/" + areaCode + "/" + dateCode + "24.htm\"";
document.all["ifr"].src = targetSRC;
}



344 名前:326 投稿日:2005/05/11(水) 01:52:43 ID:???
function setOptionData(){

with(document.forms(0).elements(0)){
var endDateofMonth = getEndDateofMonth();
for(var i=0;i<8;i++){
var daDate = today + i;
if(daDate > endDateofMonth){
daDate = daDate - endDateofMonth;
}
var Tuki = month + 1;
options(i).value=Tuki + "/" + daDate;
options(i).text=Tuki + "/" + daDate;
}
alert(innerHTML);
}
}
function getEndDateofMonth(){
var endDates_inYear = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
return endDates_inYear[month];
}


345 名前:326 投稿日:2005/05/11(水) 01:53:10 ID:???
function manageDate(){
Now= new Date();
today = Now.getDate();
month = Now.getMonth();
}

-->
</script>
</head>
<body onload = "init()">
<form name="DATE">
<select name="date">
<option value="5/6">5/6
<option value="5/7">5/7
<option value="5/8">5/8
<option value="5/9">5/9
<option value="5/10">5/10
<option value="5/11">5/11
<option value="5/12">5/12
<option value="5/13">5/13
</select>
<input type="button" name="submit" value="ok" onClick="loadOtherDate(this.form.name)">
</form>


346 名前:326 投稿日:2005/05/11(水) 01:53:55 ID:???

<iframe src="http://tv.yahoo.co.jp/vhf/sizu/2005051524.html"
style="width:100%;
height:100%;
display:block"
scrolling="auto"
frameborder="0"
border="0"
marginwidth="0"
marginheight="0"
topmargin="0"
leftmargin="0"
name="ifr"
id="ifr">
</iframe>

</body>

347 名前:Name_Not_Found 投稿日:2005/05/11(水) 01:57:38 ID:???
>>2 の (2) 読めww

348 名前:Name_Not_Found 投稿日:2005/05/11(水) 01:58:22 ID:???
読む気しねええ

nullレベルだな

349 名前:Name_Not_Found 投稿日:2005/05/11(水) 02:01:03 ID:???
もっと簡潔に書けないものなのかww
動かないのもうなずける。

350 名前:Name_Not_Found 投稿日:2005/05/11(水) 02:14:12 ID:???
つーか
http://tv.yahoo.co.jp/vhf/sizu/realtime.html
で現在の時刻の番組表見られるんだけど?
[ 日付 ] のとこに [ 今日に戻る ] ってあるだろう?
他の日付でのリンクも普通にしてあるしさ。
君はそれ以上何がしたいのかね?

351 名前:326 投稿日:2005/05/11(水) 02:41:11 ID:???
>350
スレに関係ないけど、俺んち2県にまたがって放送見れるので、
出来れば2県分全部見れるような番組表に組みなおしたいわけ。
まずはその地ならしのつもりが・・・
>2の件はやっぱ言われましたか、スマソ。

結局頭尾の¥”は要らないみたいね。その方が一応は正規のアドレスらしいものを
呼び出してる。ただlengthで調べたら置き換え後の文字数が1つ少ないんだよね。
NULL文字でも入れるのかな?

352 名前:Name_Not_Found 投稿日:2005/05/11(水) 03:13:57 ID:???
>>341
ありがとう!断言してもらったおかげで原因がわかりました。

原因は、document.onclickがreturn true;を返していたことでした。
これのせいでanchorタグについているonclickのreturn falseが無効にされてしまった模様。
document.onclickで単純にreturn;とすれば思惑通りに動きました。

353 名前:Name_Not_Found 投稿日:2005/05/11(水) 03:34:05 ID:???

正規表現でつまずきました。orz

配列 
var hairetu = new Array( "[A]", "[B]", "[C]" ) ;
これを
[0] ⇒ [A]
[1] ⇒ [B]
[2] ⇒ [C]
こんな感じで文字列置き換えしたいんですけど、どーしても分からない(;´Д`)


↓ソースはこんな感じ
var loop = hairetu.length ;
var m = "" ;
for( i=0 ; i<loop ; i++ ) {
  m = "/\[" + i + "\]/g" ;     // これは出来るかな〜と思ってやって出来なかったorz
  str = str.replace( m, hairetu[i] ) ;
}

どなたか分かる方いらっしゃいますか?(;´Д`)



354 名前:Name_Not_Found 投稿日:2005/05/11(水) 04:46:47 ID:???
>>326
<script type="text/javascript">
<!--
var temp_date = new Date;

function pad_zero(num){
if(num < 10) num = "0" + num;
return num;
}

function add_option(){
var select_obj = document.getElementById("select_date");
var yy, mm, dd;
for(var i = 0; i < 7; i++){
yy = String(temp_date.getFullYear());
mm = String(pad_zero(temp_date.getMonth() + 1));
dd = String(pad_zero(temp_date.getDate()));
select_obj.options[select_obj.length] = new Option(yy + "/" + mm + "/" + dd, yy + mm + dd);
temp_date.setHours(temp_date.getHours() + 24);
}
}

function load_page(){
var select_obj = document.getElementById("select_date");
document.getElementById("iframe_1").src = "http://tv.yahoo.co.jp/vhf/sizu/" + select_obj[select_obj.selectedIndex].value + "24.html";
document.getElementById("iframe_2").src = "http://tv.yahoo.co.jp/vhf/aichi/" + select_obj[select_obj.selectedIndex].value + "24.html";
}
//-->
</script>

355 名前:Name_Not_Found 投稿日:2005/05/11(水) 04:47:27 ID:???
>>326
<body onload="add_option();">
<form id="form_date"><select id="select_date" onchange="load_page();"></select></form>
<div id="iframe_container"><iframe id="iframe_1" src="http://tv.yahoo.co.jp/vhf/sizu/realtime.html"></iframe><iframe id="iframe_2" src="http://tv.yahoo.co.jp/vhf/aichi/realtime.html"></iframe></div>
</body>

356 名前:Name_Not_Found 投稿日:2005/05/11(水) 05:47:38 ID:???
>>353
重要なのは new RegExpでreplaceで置き換えをする文字列を作るところかと
以下のソースでは省略しているけど、マッチ方法の指定で g(グローバルマッチ)必要なら
mystr = new RegExp(n , "g") という形で指定して
途中に入っているアラートは str の置き換えができたか確認するためだから、不要なら消しといて

var hairetu = new Array("A", "B", "C")
str = "0 1 2"
loop = hairetu.length

alert("置換前のstr:" + str)

for(n=0;n<loop;n++) {
mystr = new RegExp(n)
str = str.replace(mystr,hairetu[n])
}
alert("置換後のstr:" + str)


357 名前:356 投稿日:2005/05/11(水) 05:57:17 ID:???
すまん、ちょっと str = "0 1 2 0 0 1 1 2 2" にして>>356のソースを試したら
置換後は A B C 0 0 1 1 2 2 になってた
mystr = new RegExp(n , "g")
でグローバルマッチにしたら A B C A A B B C C となったんで
マッチ方法の指定は適当にしておくべし(^^;

358 名前:Name_Not_Found 投稿日:2005/05/11(水) 07:04:17 ID:???
>>353
一応forループを使わなくてもできる

var arr = ["[A]", "[B]", "[C]"];
var str = "[0] [3] [1] [0] [1] [2]";
str = str.replace(/\[(\d+)\]/g, function(matched, p1, offset, input) { var n = Number(p1); return arr[n] || ""; });

359 名前:Name_Not_Found 投稿日:2005/05/11(水) 07:29:57 ID:???
>>354
それ試してみたけど結果はこうなったよ
置換前のstr: [0] [3] [1] [0] [1] [2]
置換後のstr: [A] [B] [A] [B] [C]

360 名前:Name_Not_Found 投稿日:2005/05/11(水) 07:51:15 ID:???
って、[3]を置き換える文字が存在しないってことで良いのか、すんまそ

361 名前:Name_Not_Found 投稿日:2005/05/11(水) 07:53:24 ID:???
って、置き換える文字が存在しない場合は置き換えられずに残るってことならやっぱまずいよな

362 名前:Name_Not_Found 投稿日:2005/05/11(水) 08:23:11 ID:???
>>361
それだったら最後を「return arr[n] || matched;」にするだけだろ。


363 名前:Name_Not_Found 投稿日:2005/05/11(水) 09:00:18 ID:???
っつーか、[ ]がうざいな

364 名前:Name_Not_Found 投稿日:2005/05/11(水) 11:13:35 ID:???
質問です。
onMouseoverで、

document.getElementById('list').style.backgroundColor = "red";

としていますが、id=list がたくさんあるにもかかわらず、一番上のlistにしか適用されませんでした。
全てのlistに適用するためにはどうしたらいいですか?


365 名前:Name_Not_Found 投稿日:2005/05/11(水) 11:16:22 ID:???
id は一つだけしか使えないのが原則。name にしてみ

366 名前:Name_Not_Found 投稿日:2005/05/11(水) 11:28:24 ID:???
>>365
レスありがとうございます。

nameにした場合は、getElementByNameとするのでしょうか?
エラーが出てしまいました。


367 名前:Name_Not_Found 投稿日:2005/05/11(水) 11:34:53 ID:???
>>364
id は同一ドキュメント中では一回しか使えません。
複数の要素を対象とするためには getElementsByTagName で
列挙して反復処理してください。
要素を分類名を付けるには name ではなく class を使います。
(スクリプトから参照するときは className になります)

368 名前:Name_Not_Found 投稿日:2005/05/11(水) 11:36:03 ID:???
>>364
HTMLはどうなってる? それによって対策が変わると思うが。
name属性は限られた要素にしか存在しないぞ。

369 名前:Name_Not_Found 投稿日:2005/05/11(水) 11:40:30 ID:???
<style type="text/css">
div.list {
background-color:yellow;
margin: 1em;
}
</style>

<script type="text/javascript">
function onList (){
document.getElementByTagName('list').style.backgroundColor = "red";
}
</script>


<div class=list name=list id=list onMouseOver="onList()">List1</div>
<div class=list name=list id=list onMouseOver="onList()">List2</div>
<div class=list name=list id=list onMouseOver="onList()">List3</div>

HTMLはこんな感じです。これでもエラーでした。
反復処理をしないとだめでしょうか。

370 名前:Name_Not_Found 投稿日:2005/05/11(水) 11:42:01 ID:???
>>369
同じタグならgetElementsByTagName("DIV")ってのもあるみたいだが

371 名前:Name_Not_Found 投稿日:2005/05/11(水) 11:49:24 ID:???
>>369
div要素にname属性は存在しない。
ひとつのHTML文書中に同じ値のid属性が登場してはならない。
class=listってなぜそこでul要素を使わない。

まあHTMLは今のままで解決するなら>>370のいうとおり
getElementsByTagName("div")でclassNameプロパティの値が
listであるものだけ背景色を変えるとかかな。

372 名前:Name_Not_Found 投稿日:2005/05/11(水) 11:49:58 ID:???
すまん、今回ばかりはお手上げだ
document.getElementById(IdName).style.backgroundColorならうまくいったんだが
面倒だが id を別々に割り振って for文で対処できるようにするとか

373 名前:Name_Not_Found 投稿日:2005/05/11(水) 11:54:10 ID:???
<style type="text/css">
div.list {
background-color:yellow;
margin: 1em;
}
</style>

<script type="text/javascript">
function onList (){
document.getElementByTagName("DIV").style.backgroundColor = "red";
}
</script>


<div class=list name=list onMouseOver="onList()">List1</div>
<div class=list name=list onMouseOver="onList()">List2</div>
<div class=list name=list onMouseOver="onList()">List3</div>

こうしてみましたが、これでもエラーでした。

使い方としては、onMouseOverでそのリストに色をつけ、マウスを動かしても色はついたままにしておきたいので、
onMouseOutは使いません。
他のリストにonMouseOverしたときに、そちらのリストに色を移したいので、
onMouseOverしたとき、一旦全てのリストの色を戻してから、その固有のリストだけに色をつけたいです。
上のスクリプトよりもっと効率的な方法がありましたらご教授ください。

ul要素を使うとNameが使えるんですね、なるほど・・・。divのままでは無理でしょうか。


374 名前:Name_Not_Found 投稿日:2005/05/11(水) 11:55:03 ID:???
>>369
<script type="text/javascript">
function onList() {
var x, i;
x = document.getElementsByTagName("*");
for (i = 0; i < x.length; i++)
if (x[i].className == "list")
x[i].style.backgroundColor = "red";
}
</script>

375 名前:Name_Not_Found 投稿日:2005/05/11(水) 11:56:38 ID:???
>>369
どういうエラーが出てるかちゃんとチェックすれ。
>>2 は読んだのか? それぞれの関数が何をやるのかも
リファレンスで勉強すれ。全部おんぶにだっこのつもりなら
放置決定だぞ。

376 名前:Name_Not_Found 投稿日:2005/05/11(水) 12:00:41 ID:???
>>374でイケてるね、なんかすげー

377 名前:373 投稿日:2005/05/11(水) 12:03:02 ID:???
>>374でいけてます!すごいですね!
これで上手くいきそうです、ありがとうございました。

ところで、getElementでぐぐってみましたが、詳しくてわかりやすい説明ページが見つかりませんでした。
お薦めのサイトがありましたら教えてください。

378 名前:Name_Not_Found 投稿日:2005/05/11(水) 12:04:23 ID:???
>>374-376
全部DIVだったらgetElementsByTagName("DIV")でよい。
ともかく >>373 >>369 の関数名スペルミスの連打
(...Elements...の「s」が抜けてる)は自分で気付くべき。
エラー内容読んでない証拠だろ、2度と来ないで欲しい。

379 名前:Name_Not_Found 投稿日:2005/05/11(水) 12:06:09 ID:???
>>377
アホか。おすすめページのためにテンプレ >>1-10 があるんだろ。

380 名前:Name_Not_Found 投稿日:2005/05/11(水) 12:14:59 ID:???
リファレンス本を持っておくのが良いよ、やっぱあると便利

381 名前:Name_Not_Found 投稿日:2005/05/11(水) 12:21:11 ID:???
リファレンス本は2冊持っているんですけど、両方ともgetElementについて書いていないんです。
新しい関数なのでしょうか。サイトもあまり無いようで、まだ詳しいところが見つかりません。

382 名前:Name_Not_Found 投稿日:2005/05/11(水) 12:24:03 ID:???
ワロスw


383 名前:Name_Not_Found 投稿日:2005/05/11(水) 12:25:09 ID:???
>>381
発行日を見てみな。俺のは平成15年6月ので、getElementsByName ByTagName について
書いてある。古いのだとないかもな。こういうのって時が経つにつれて仕様が変わるものもあったり
追加されていくものもあるし、本屋で目を通すのも必要になるかもね

384 名前:Name_Not_Found 投稿日:2005/05/11(水) 12:37:26 ID:???
>>381
そんな役に立たないもの捨てろって。DOM2の載ってないものはゴミ。
新しいって…既に出てから5年くらいたってるだろ。

英語の名前の検索は部分文字列じゃだめだってば。「getElementsByName」
と「getElementsByTagName」で検索しろ。「Elements」の「s」が抜けたら
無意味だからな。あと最新情報はMS/Mozillaのリファレンスサイトで確認する。

385 名前:Name_Not_Found 投稿日:2005/05/11(水) 12:52:46 ID:???
>>383-384
わかりました。ありがとうございました。

386 名前:Name_Not_Found 投稿日:2005/05/11(水) 13:22:44 ID:???
↓次の質問どうぞ

387 名前:Name_Not_Found 投稿日:2005/05/11(水) 13:50:50 ID:???

IEの同ID属性の要素コレクション仕様はム的には非常に便利なんだけどなぁ。
便利なものは標準にして欲しいなぁw
ま、IEの場合はID属性は要素オブジェクト参照変数宣言仕様だからな。
IE専だとdocumement.getElementById()の存在の意味が薄いw

ところで
CSSの個々のエレメントのclass指定のグループ化とスクリプト上の操作グループが一致しない場合はどうする?
なんかめんどくせー


388 名前:Name_Not_Found 投稿日:2005/05/11(水) 14:00:07 ID:???
>>387
何のためにclassをつけてるわけ? DOMでスタイルシートをいじれば
ループなんか使わなくても同じclassのもののスタイルを一斉に変更
できるだろ?

389 名前:Name_Not_Found 投稿日:2005/05/11(水) 14:04:24 ID:???
>>388
過去ログvol.4 の255がまさにそれだな。
http://natto.2ch.net/hp/kako/997/997445548.html

390 名前:Name_Not_Found 投稿日:2005/05/11(水) 14:07:28 ID:???
IEが糞。
IDが複数だと逆に困るっつーの。
http://〜〜/〜.html#id とかが複数になるだろ。
だまって class にして、自分で getElementsByClass でもつくればいいじゃん。

> ところで〜
何言ってるかワカランww

JSでstyleを直接指定するよか、classを追加(あるいは変更)させて、
CSSにそのクラスのスタイルを指定するのがいいのではないかと。

391 名前:Name_Not_Found 投稿日:2005/05/11(水) 14:27:59 ID:???
そんなことでぐちぐち言うやつは、進学クラスには所属できん
普通科クラスで就職活動してろ

392 名前:Name_Not_Found 投稿日:2005/05/11(水) 14:56:07 ID:???
「そ、そんなぁ〜!」
やる気が下がった。
不眠症になった。
弱気になった。

393 名前:387 投稿日:2005/05/11(水) 15:08:29 ID:???
スマソ。documement(○)→document(×)
じゃ、お詫びにw複数の要素が共通の1つのイベントハンドラ関数で処理したい場合はこうかな?
<HEAD>
<SCRIPT type="text/javascript">
function ObjDIV_onclick(ObjElement){alert(ObjElement.innerHTML);}
function ObjP_onclick(){alert(this.innerHTML);}

window.onload=function(){
for (i=0;i<3;i++) {
var ObjElement=document.createElement("P")
ObjElement.onclick=ObjP_onclick;
ObjElement.innerHTML="押せ" + (i+1);
document.body.appendChild(ObjElement);
}
}
</SCRIPT>
</HEAD>
<BODY>
<DIV onclick="return ObjDIV_onclick(this);">DIV1</DIV>
<DIV onclick="return ObjDIV_onclick(this);">DIV2</DIV>
<DIV onclick="return ObjDIV_onclick(this);">DIV3</DIV>
</BODY>
IE専だと、window.event.srcElementが使えたり、要素名以外にも異要素でも同IDの要素コレクションを廻してイベントハンドラ振れるんだけどさ。

394 名前:Name_Not_Found 投稿日:2005/05/11(水) 15:20:37 ID:???
だからさあ、アクセスしたいものに「規則的な」IDを振っておけば
for(var i ...) document.getElementById('x' + i)...
とかで済むわけじゃん。何がなんでもIE専を宣伝したいのならご勝手に。

395 名前:Name_Not_Found 投稿日:2005/05/11(水) 15:26:03 ID:???
目的に応じて分かりやすいソースを書く、それで良いんじゃねーの?
効率の良いアルゴリズムも重要だけどさ
質問してきた人に教えるわけだから、そいつが理解できる形で答える
質問してきた人が適当に書き換えができるものを書く、それも重要になるんでは?
なんだかんだ言って、ブラウザの設定でJavaScriptをオフにしていたら
機能しませんから、残念!

396 名前:Name_Not_Found 投稿日:2005/05/11(水) 15:27:04 ID:???
ドキュメメッw
良い子のみんな、正しいスペルはdocumentです
>>388-392
りょーかい。ありがとでした。

397 名前:Name_Not_Found 投稿日:2005/05/11(水) 15:31:05 ID:???
>>395
それは同意するよ、でも今回の場合、ノード全部なめるって
いうのはどう考えても重たいんだよなあ。CSS側をいじるのが
一番効率良いとして、2番目は >>394 だと思うんだけどね。
さして説明が難しいわけでもないし。問題は質問者がIDも
NAMEもぐっちゃぐっちゃにしか理解していないってこと、それでも
質問者に合わせるっていうのはなかなか嫌なものがあるわけさ。

398 名前:387 投稿日:2005/05/11(水) 16:23:04 ID:???
387は単発ですw>>364とは別人ですからぁ。

ム的にはIE専のがスマートす。
また怒られるかな?w
JScript.NETをIEで使いたいと言うと怒られかなwいや笑いそうなwまたねー
セキュリティフリーにするとできるよんww
でも勉強になったよーアリガトでした。

399 名前:Name_Not_Found 投稿日:2005/05/11(水) 16:28:06 ID:???
質問です。
ある画像にonMouseoverする度に、画像2、画像3、画像4 と変わるようにするには、どのような仕組みが考えられますか?

400 名前:Name_Not_Found 投稿日:2005/05/11(水) 16:39:55 ID:???
別に怒ったりはしないよ。ただ初心者にIE専をそうと知らせずに
教え込むのは悪いだろ。IE専だとひとこと断ればいいんじゃない?
(もちろん同じことがクロスグブラウザでも同程度の簡単さで
書けるならわざわざIE専を選ぶ必然性はないと思うけど。)

IE専がスマート?それは場合によるし主観の相違もありそうだな。

401 名前:Name_Not_Found 投稿日:2005/05/11(水) 16:43:54 ID:???
>>399
<script type="text/javascript">
var count = 0, imgs = ['img1.png', 'img3.png', 'xxx.png'];
function chg() {
document.images.名前.src = imgs[count = (count+1) % imgs.length];
}
</script>
とかして
<img name="名前" src="最初の画像" alt="説明" onmouseover="chg()">
テストしてないけど。

402 名前:Name_Not_Found 投稿日:2005/05/11(水) 16:49:17 ID:???
IE専ってだいたいはWin IE専でMac IEも捨てられてたりするんだよね、
だって持ってなくてテストできないんだもの。Macで見れないページ
作って満足っていうのはイクナイと思うけどね。Win IE + Gecko (Moz
かFirefox)でテストしてればMacでもIE、SafariのどっちかではOKだろ。
もっとも洩れはMacでもMoz派だけどね。おお、Web製作板っぽい話だ。

403 名前:Name_Not_Found 投稿日:2005/05/11(水) 16:55:44 ID:???
>>401
すばらしい。できました。ありがとうございました。

404 名前:Name_Not_Found 投稿日:2005/05/11(水) 18:28:46 ID:76PPuseV
disabledな要素のフォントの色変えるのはどうすればいいのか
誰か知らん?
既出だったらスマソ

<div id="test1" disabled onclick="document.getElementById('test1').style.color = 'red';">test</div>

変化しねぃよ・・・orz

405 名前:404 投稿日:2005/05/11(水) 18:36:17 ID:???
ぅぉすまんageちまった
404て不吉だなぁ ぉぃ...

406 名前:GreatFixer ◆ASWqyCy.nQ 投稿日:2005/05/11(水) 18:49:54 ID:7SxwcSO/
JavaScriptで、
function f(i){}
などと書くとき、
var iをどこかに書いた方がいいのですか?
それともvar iはどこにも書かない方がいいのですか?

407 名前:Name_Not_Found 投稿日:2005/05/11(水) 19:32:30 ID:???
>>404
<div id="test1" disabled onclick="document.getElementById('test1').disabled=false;document.getElementById('test1').style.color = 'red';">test</div>

408 名前:Name_Not_Found 投稿日:2005/05/11(水) 19:37:45 ID:???
>>406
絶対に書くべきでない。「var i;」と書くことはそれがローカル
変数(関数の中の場合)かグローバル変数(関数の外の場合)である
と宣言すること。しかしiはパラメタなわけだからどちらも違う。
>>404
そもそもHTML的にはdivにはdisabledなんて属性ないよな…
ごそごそ…IE専だね、洩れ知らね。

409 名前:Name_Not_Found 投稿日:2005/05/11(水) 19:38:58 ID:???
>>406
用途によるので仕様を確認されよ
http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf
12.2に載っている。

410 名前:Name_Not_Found 投稿日:2005/05/11(水) 19:45:56 ID:???
ページを去る時に次にどのURLに行こうとしているのかを知りたいのですが、取得する方法はないでしょうか?
簡単なアクセス解析のためで、さすがにユーザが直接アドレスバーに入力するURLは取得できないと思うのですが
<A>リンクで飛んでいく場合のみでいいので取得したいと思っています。

411 名前:404 投稿日:2005/05/11(水) 19:53:23 ID:???
>>407
disabled解除したらそりゃ変わるだろうがよ。

>>408
んじゃtextareaならどうよ。
IE専認定できるほどの腕なら即答できるんだろうな?

divにしたのはtextarea打つのがダルかっただけだ
適時脳内補完しる

412 名前:404 投稿日:2005/05/11(水) 20:03:26 ID:???
orz 挑発的な文になってもうたスマソ
textareaってどうしてもtestareaになるんだよ。

それはともかく知ってる奴いないのか?

413 名前:Name_Not_Found 投稿日:2005/05/11(水) 20:05:54 ID:???
>>404
そもそもなんでdivにdisabled使うのかわからん。
contentEditableでも使ってるのか?

textareaの場合、ただ単に書き換えられたくないというだけなら
disabled使うまでもなくreadonlyで十分だと思うが。

414 名前:GreatFixer ◆ASWqyCy.nQ 投稿日:2005/05/11(水) 20:15:29 ID:7SxwcSO/
Re:>>408-409 どうもありがとうございました。

もう一つ質問です。JavaScriptにはVBSのOption Explicitのような、あるいはFORTRANのIMPLICIT NONEのような機能は無いのですか?

415 名前:Name_Not_Found 投稿日:2005/05/11(水) 20:17:07 ID:???
>>414
氏ね

416 名前:Name_Not_Found 投稿日:2005/05/11(水) 20:17:48 ID:???
>>404
W3でdisabledの仕様を読んで出直して来いや、このクズ

417 名前:416 投稿日:2005/05/11(水) 20:20:42 ID:???
orz 挑発的な文になってもうたスマソ

418 名前:GreatFixer ◆ASWqyCy.nQ 投稿日:2005/05/11(水) 20:20:52 ID:7SxwcSO/
Re:>>415 お前が先に氏ね。

419 名前:404 投稿日:2005/05/11(水) 20:38:11 ID:???
>>413
別に実用の為に聞いてるわけじゃないのさ。
片手間にやっててふと疑問になっただけだ。

>>416
ワロタw
漏れが悪かったお謝ればいいんだろ

仕様はこの前見たんだけどdisabedの色は実体が何処に有るか判らんかった
漏れに懇切丁寧に教えやがれ。

orz 挑発てk(ry

420 名前:416 投稿日:2005/05/11(水) 20:41:30 ID:???
>>419
すまん、適当に書いただけだ<w3。
実際disabledは、一般にstyleオブジェクトを無効にするために使われるので
多分styleをいじって色を変えることは出来ないと思われます

421 名前:Name_Not_Found 投稿日:2005/05/11(水) 20:41:38 ID:???
おい、お前ら!ケンカしないで、これでも見てマターリしてください。
ttp://207.44.181.103/contribute2/upfile/6.jpg

422 名前:404 投稿日:2005/05/11(水) 20:49:10 ID:???
>>420
>一般にstyleオブジェクトを無効にするために使われる
Σ(゜д゜) マジデ!?
んじゃ「無理」でfaじゃん?

423 名前:Name_Not_Found 投稿日:2005/05/11(水) 20:49:10 ID:???
あいにく惨事には興味が無いんでね

424 名前:Name_Not_Found 投稿日:2005/05/11(水) 21:16:23 ID:???
質問です。
このスクリプトでIEではOKなんですが、NN7でテストすると エラーにはなりませんがonMouseoutの挙動が不安定です。
書き方が悪いのでしょうか? 安定させる方法があれば教えてください。

<script type="text/javascript">
function showMenu(){
document.getElementById('pulldownMenu').style.display = "block";
}
function hideMenu(){
document.getElementById('pulldownMenu').style.display = "none";
}

function onList(obj){
obj.style.backgroundColor = "blue";
obj.style.color = "yellow";
}
function outList(obj){
obj.style.backgroundColor = "yellow";
obj.style.color = "blue";
}
</script>

<div onMouseover="showMenu()" onMouseout="hideMenu()">pulldownMenu</div>

<div id=pulldownMenu onMouseover="showMenu()" onMouseout="hideMenu()">
<div class=menulist onMouseover="onList(this)" onMouseout="outList(this)">メニュー1</div>
<div class=menulist onMouseover="onList(this)" onMouseout="outList(this)">メニュー2</div>
<div class=menulist onMouseover="onList(this)" onMouseout="outList(this)">メニュー3</div>
</div>

425 名前:Name_Not_Found 投稿日:2005/05/11(水) 21:18:06 ID:???
>>424の上に追加
<style type="text/css">
#pulldownMenu {
display: none;
}
div.menulist{
background-color:yellow;
color: blue;
width: 10em;
}
</style>


426 名前:404 投稿日:2005/05/11(水) 21:28:04 ID:???
むりぽ orz
識者が確実な情報を提示することを期待しよう
今日も無駄な一日を過ごした。。
そういやcontentEditableってmozには永年未実装なのな。
それなりに便利なのだが・・・

>>424
マシンを変えて検証しる。スペックの問題じゃないのか。
突っ込みどころは腐るほどあるが。

427 名前:Name_Not_Found 投稿日:2005/05/11(水) 21:36:55 ID:???
>>424 挙動が不安定って何?いきなりハードディスクがガリガリ音を立てるとか?

428 名前:Name_Not_Found 投稿日:2005/05/11(水) 21:39:39 ID:???
マシン変えて検証してみました。似たような不安定な挙動をしました。
メニュー1のonMouseoutだけ効かないで残ったり、
メニュー2だけ効いて、1と3だけ残ったりします。

とりあえず突っ込んじゃってください。

429 名前:Name_Not_Found 投稿日:2005/05/11(水) 21:51:50 ID:???
>>428
とりあえず、そういう不安定さを解消するには、各項目はonmouseover
だけを使用し、ある項目のonmouseoverでその項目をhighlightすると
同時に他の項目すべてをunhighlightする、とかどうかな。ちょっと
面倒になるけどさ。

430 名前:Name_Not_Found 投稿日:2005/05/11(水) 22:01:55 ID:???
>>429
それでNN7でもばっちり安定しました。ありがとうございました。

431 名前:Name_Not_Found 投稿日:2005/05/11(水) 22:47:39 ID:???
いっそイベントの発生する順番まで仕様で決めてくれたらねぇ

432 名前:Name_Not_Found 投稿日:2005/05/11(水) 23:12:25 ID:???
>>426
div要素のdisabled属性など本来のHTMLには存在しないIEの独自拡張だから
W3Cの仕様書いくら読んでも無駄だと気づかないのか?
Microsoftの文書も探したというのならただ単に
お前が探し方を知らなかったというだけのことだが。

ttp://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/properties/disabled_0.asp
> When an element is disabled, it appears dimmed and does not respond to user input.

433 名前:Name_Not_Found 投稿日:2005/05/11(水) 23:18:38 ID:???
関係ないけど、昨日あたりから2ちゃんねるでJavascriptエラーが出ているね(IE)。

434 名前:Name_Not_Found 投稿日:2005/05/11(水) 23:38:07 ID:???
>>432
お前が引用したその文章をどう読んでも、
「dimmedなelementのstyleを変えることが出来ない」
と書いてないのだが

偉そうに言うのはいいけど、自分こそ仕様の読み方を勉強しような。
というか、そのページにもっと他に効果的な引用文あるだろ、もう一度探してきな

435 名前:Name_Not_Found 投稿日:2005/05/12(木) 00:15:17 ID:???
>>410
スルーな話題だっけ?w 一応簡単に答えておくよ。

<script type="text/javascript">
function page_move_set () {
    var anch = document.getElementsByTagName('A');
    if (!anch) return;
    var anch_length = anch.length;
    for (var i = 0; i < anch_length; i++) {
        anch[i].onclick = page_move_get;
    }
}
function page_move_get () {
    alert(this.href)
}
window.onload = page_move_set;
</script>
<ul>
    <li><a href="http://google.com/">Google</a></li>
    <li><a href="http://yahoo.co.jp/">Yahoo</a></li>
    <li><a href="http://yagoohoogle.com/">YaGoohoo!gle</a></li>
</ul>


436 名前:432 投稿日:2005/05/12(木) 00:29:52 ID:???
>>434
ああ書いてないな。
というか実際変えることができるし
color以外は変えたらすぐ表示に反映されるからな。

俺が示したのがお前にとって
役に立たないものだというのはわかったから
後学のために「他に効果的な引用文」というのを教えてちょ
俺にはどうしてもわからんから。

437 名前:Name_Not_Found 投稿日:2005/05/12(木) 02:45:30 ID:SPwkdgjw
横レスだが
If an element's disabled property is set to false but it is contained within a disabled element,
it cannot override the disabled state of its container.
こっちのほうが適切じゃないのか。

438 名前:326 投稿日:2005/05/12(木) 03:51:39 ID:???
>>354
1日遅れだけどspecial thanx!!
書く人が書くとスッキリするね。センスないわオレ・・・

439 名前:354 投稿日:2005/05/12(木) 04:09:29 ID:???
354だけど自分もセンスないと思う。
自己分析では中級者くらい。
昔はもっとしょぼいコードしかかけなかった。

JavaScript はソースがどこにでも転がってるから
学ぼうと思えば簡単に学べる。
誰もが通る道。スキルが向上するかは自分次第。

ガンガレ>326

440 名前:Name_Not_Found 投稿日:2005/05/12(木) 04:17:50 ID:???
とりあえず、第三者が見てもわかるような、わかりやすいコードを心がければ、自然にスマートになっていくと思う。

441 名前:432 投稿日:2005/05/12(木) 04:48:39 ID:???
>>437
うーん、そもそも>>404が聞いてたのはdisabledな要素の色が変えれるかだから
disabledな要素の子要素に関しては関係ないと思ったんだけど……

「仮にdisabledな要素Aの子要素でdisabled = falseな要素Bがあれば、
要素Bの色を変更することで見かけ上Aの色を変更したように見せられる。」
     ↓
「実際はdisabled = trueな要素の子要素がdisabled = falseな状態になることは
ありえないからそういった方法でAの色を変更したように見せることはできない。」
     ↓
「Aの色を変更できないことを示すためには"... it cannot override the disabled state
of its container."の部分を引用すればいい。」

ということか?
まあ本人に聞かなきゃわからないか。

442 名前:Name_Not_Found 投稿日:2005/05/12(木) 10:03:52 ID:LC11Pfsk
JavaScriptで作った棒グラフ(gif画像の幅で表示)を数えて、
グラフは何本と表示させるコードを
作りたいのですが、どのように書けばいいでしょうか。
(countを使わない)

環境
Win2000
IE 6.0

443 名前:Name_Not_Found 投稿日:2005/05/12(木) 11:25:38 ID:???
>>442
その質問文で回答が得られると思う方がどうかしてる。
要点を抜き出したHTMLを貼らないと。(長ければどっかに
アップしてリンク。) countを使うって何???

444 名前:Name_Not_Found 投稿日:2005/05/12(木) 12:09:59 ID:???
よう分からんけどGif画像の幅で長さを決めているから
1つの棒に対してgif画像は1つなんでしょ?
だったら要素の数を取得できる形に持っていけば良い

445 名前:Name_Not_Found 投稿日:2005/05/12(木) 12:16:04 ID:???
>>442-444
なるほど、じゃ画像がそれだけしかないのなら「document.images.length」
でいいわけかな? それをどこに表示させたいって? なぜ(本来グラフの本数
を決めているはずの)変数countを使わないという制約があるわけ?回答者に
納得が行くだけの情報を出せって。

446 名前:Name_Not_Found 投稿日:2005/05/12(木) 13:49:36 ID:???
>>445
同じ日本語を使ってるのに、どうしてこうも意味が伝わらない文章を書けるんだろうか

447 名前:442 投稿日:2005/05/12(木) 20:30:36 ID:LC11Pfsk
このコードを元にグラフの本数を数えて表示できるようにしたいのですが
<SCRIPT LANGUAGE="JavaScript">
var R,S,T,n,w;
R=10;
for( n=10; n<=50; n=n+2 )
{
S=n/10;
T=Math.Pow((S-3),3)-(2*R+20)*(S-2)*(S-1)+400;
w=Math.Round( T )
if( T>=400 ) w=400;
if( T<=0 ) break;
if( 100<T && T<=400 ) document.write("<IMG src='bluebar.gif' height=16 width=",w,">")
else document.write("S=",S,"のとき",T,"<BR>");
}

</SCRIPT>

bluebar.gif→16×16,(0,0,255)
redbar.gif→16×16,(255,0,0)

448 名前:Name_Not_Found 投稿日:2005/05/12(木) 20:36:17 ID:???
>>447
1本だけ棒グラフを書く関数を作って、それを本数分コールすりゃいいんでねーの?

449 名前:442 投稿日:2005/05/12(木) 20:53:44 ID:???
>>448
このあとRの値を変えて動作させるので
それぞれ本数が分からないという前提でやるのですが

450 名前:Name_Not_Found 投稿日:2005/05/12(木) 21:07:11 ID:???
>>447-449
やっぱり分からん。カウンタを1つ用意して、IMGをwriteするときに
1ずつカウントを増やすとかじゃいけないの?

451 名前:Name_Not_Found 投稿日:2005/05/12(木) 21:25:50 ID:E3e6PPnk
ttp://116.139.148.210.dy.bbexcite.jp/
wwwwwwwwwwwwおkうぇっおkうはっwwwwwwwwwwww
wwwうはっっうはっwwwっおk
うはっwwwwwwwうぇうはっwwwwwwwwwwww
うぇうぇっwwwwwwおkwwwwwwwwwwww

452 名前:442 投稿日:2005/05/12(木) 21:26:24 ID:???
<SCRIPT LANGUAGE="JavaScript">
var R,S,T,n,w,c1,c2;
R=10;
c1=0;
c2=0;
for( n=10; n<=50; n=n+2 )
{
S=n/10;
T= Math.pow((S-3),3)-(2*R+20)*(S-2)*(S-1)+400;
w= Math.round(T)
if( T>=400 ) w=400;
if( T<=0 ) break;
if( 100<T && T<=400 ) document.write("<IMG src='bluebar.gif' height=16 width=",w,">");
c1++;
else document.write("<IMG src='redbar.gif' height=16 width=",w,">");
c2++;
document.write("S=",S,"のとき",T,"<BR>");
document.write("青,c1,"本<BR>");
document.write("赤,c2,"本<BR>");
document.write("合計,c1+c2,"本<BR>");
}
</SCRIPT>
こうしてみたのですが、エラーがでます
どこに構文エラーがあるのでしょう

453 名前:Name_Not_Found 投稿日:2005/05/12(木) 21:36:22 ID:???
> どこに構文エラーがあるのでしょう

はぁ? おまえ、デバッグの仕方すら知らないの?

454 名前:Name_Not_Found 投稿日:2005/05/12(木) 21:44:41 ID:???
>>453
エラーがある行と文字が表示されているから場所は分かるが
エラーがあるように見えない

455 名前:Name_Not_Found 投稿日:2005/05/12(木) 21:45:58 ID:???
>>452
まず >>2 を見れ。エラーがどの行で出ているかはアンタにしか
分からん(この上に何行HTMLがあるか分からないから)。それで
エラーの種別は構文エラーなのね?

456 名前:Name_Not_Found 投稿日:2005/05/12(木) 21:47:51 ID:LC11Pfsk
>>455
構文エラー
ライン:15
文字:7

457 名前:Name_Not_Found 投稿日:2005/05/12(木) 21:48:44 ID:???
いい忘れたけど
これで全部のコード

458 名前:Name_Not_Found 投稿日:2005/05/12(木) 21:53:13 ID:???
>>456-457
ああ。「if(...) 文; else 文;」はそれぞれの「文」が1つでないと
いけない。複数ある場合は「if(...) { 文; 文; … } else ...」
のように「{}」で囲んで1つにまとめないとね。


459 名前:Name_Not_Found 投稿日:2005/05/12(木) 21:58:05 ID:LC11Pfsk
>>458
dクス
15行17文字目は直ったが
24行29文字目に')'がありませんと表示される('A`)

460 名前:Name_Not_Found 投稿日:2005/05/12(木) 22:01:00 ID:???
>>459
もっかい全部貼るように。しかし「()」の対応なんだから自分で
マーカペンでチェックすりゃ済むような気もするがね。

461 名前:Name_Not_Found 投稿日:2005/05/12(木) 22:02:15 ID:LC11Pfsk
>>460
<SCRIPT LANGUAGE="JavaScript">
var R,S,T,n,w,c1,c2;
R=10;
c1=0;
c2=0;
for( n=10; n<=50; n=n+2 )
{
S=n/10;
T= Math.pow((S-3),3)-(2*R+20)*(S-2)*(S-1)+400;
w= Math.round(T)
if( T>=400 ) w=400;
if( T<=0 ) break;
if( 100<T && T<=400 )
{
document.write("<IMG src='bluebar.gif' height=16 width=",w,">");
c1++;
}
else
{
document.write("<IMG src='redbar.gif' height=16 width=",w,">");
c2++;
}
document.write("S=",S,"のとき",T,"<BR>");
document.write("青,c1,"本<BR>");
document.write("赤,c2,"本<BR>");
document.write("合計,c1+c2,"本<BR>");
}
</SCRIPT>

462 名前:Name_Not_Found 投稿日:2005/05/12(木) 22:08:50 ID:???
>>461
「document.write("青,c1,"本<BR>"); 」だけど、「"」が3個
しかないっていうのはおかしいと思わないか?

463 名前:Name_Not_Found 投稿日:2005/05/12(木) 22:19:17 ID:LC11Pfsk
>>462
忘れてたorz
そしてエラーが消えたけど
各グラフを表示するごとに数えた結果がでてしまった
ttp://sylphys.ddo.jp/upld2nd/pc/img-box/img20050512222059.png

464 名前:Name_Not_Found 投稿日:2005/05/12(木) 22:32:39 ID:???
>>463
だからー! それは合計とか出すdocument.writeがループの中に
あるからだろ。あんたものすげードシロートだったんだな…

465 名前:Name_Not_Found 投稿日:2005/05/12(木) 22:36:36 ID:???
>>463
Java始めてから2週間。
実質大学の講義が週1だからほとんどテキスト見ながらやってる

466 名前:Name_Not_Found 投稿日:2005/05/12(木) 22:37:39 ID:???
おいおい。アンタが書いてるのはJavaじゃないんだ。>>1
読んでないのかよ。

467 名前:Name_Not_Found 投稿日:2005/05/12(木) 22:40:30 ID:???
>>465
そろそろ消えろ。うざいわ、実際。

468 名前:Name_Not_Found 投稿日:2005/05/12(木) 22:47:58 ID:???
なんで?JavaScriptはJavaのサブセットだから略して間違いじゃないよ?
スーパーセットじゃないんだから。

469 名前:Name_Not_Found 投稿日:2005/05/12(木) 22:51:03 ID:???
>>468
ほー。JavaScriptがJavaのサブセットだって。
そんな大嘘、どこに書いてあったか教えてくれ。

470 名前:Name_Not_Found 投稿日:2005/05/12(木) 23:46:26 ID:???
以降ヨガスルーで。

471 名前:Name_Not_Found 投稿日:2005/05/12(木) 23:48:07 ID:???
ここでエラそうに回答している人がサブセットの意味も知らないとは、いやはやw
冗談ですよね?知らずに略すなとかいう地方ルールをこさえたんですか?
Javaに精通する前に、日本語のお勉強をしまちょうね〜ボクちゃんたちwwww

472 名前:Name_Not_Found 投稿日:2005/05/12(木) 23:52:44 ID:???
「int i = 0;」というコードは正しいJavaのコードだが
JavaScriptでは構文エラー。
「var i = 0;」というコードは正しいJavaScriptのコードだが
Javaでは構文エラー。
よってJavaとJavaScriptのどちらも他方のサブセットではない。
証明おわり。

473 名前:Name_Not_Found 投稿日:2005/05/12(木) 23:58:07 ID:???
釣りのつもりなんだろうが
質問スレで適当なことを言うのは
迷惑がかかるからやめるべき

474 名前:Name_Not_Found 投稿日:2005/05/13(金) 00:03:55 ID:???
>>1 に書かれてるんだから終了。もう何十スレも維持されてるんだしな。

475 名前:Name_Not_Found 投稿日:2005/05/13(金) 00:59:27 ID:???
> 実質大学の講義が週1だからほとんどテキスト見ながらやってる

(´-`).oO(偏差値のすごく低い大学なんだろうなぁ…)


476 名前:Name_Not_Found 投稿日:2005/05/13(金) 01:31:51 ID:???
だいたいどんな講義であれ週1だから言い訳にはならんなw
つーか大学の講義でプログラムとかの講義受けても、実になった覚えがねぇw
自分で勉強した方が早いよな。

477 名前:Name_Not_Found 投稿日:2005/05/13(金) 05:34:14 ID:???
確かに大学の講義だけじゃ大したものは身につかない
俺はif、for、do whileといったものから
配列、バブルソート、乱数発生、ポインタ、関数の定義は習ったが
必要に応じて自分で適当なアルゴリズムを調べないとな

478 名前:Name_Not_Found 投稿日:2005/05/13(金) 05:36:46 ID:???
って、質問してんのは>>442かいな?
妙だがエクセルで作業した方が良くないかとも思ったりするが

479 名前:Name_Not_Found 投稿日:2005/05/13(金) 08:03:26 ID:???
問題は偏差値云々よりも、自分の勘違いを絶対視して他人の指摘を
はなから考慮しないその姿勢だろ。自分は初心者で相手は
常連つまりJavaScript歴もはるかに長いと分かってるのにだよ…
どんな大学だってそんな奴がまともに学習ができるとは思わんね。

まあ恥ずかしくて2度と現れないだろうけどな。

480 名前:Name_Not_Found 投稿日:2005/05/13(金) 11:58:22 ID:???
>>479
ってかもともとコイツ釣りでそ?

481 名前:404 投稿日:2005/05/13(金) 12:01:43 ID:???
>>432
disabledはmsの方の資料見ねばならんかったのか。
必至こいてhtmlの資料探してたよ。

自分の無知を晒したところでName_Not_Foundに戻るぜ。

さんくす>>all

482 名前:Name_Not_Found 投稿日:2005/05/13(金) 12:03:44 ID:/qdyTB4/
今話題の
iframeによるアクセス空稼ぎですが、
iframe(あるいはフレーム)で呼び出されているか否かを
JSで判定するにはどうすればいいでしょうか?

483 名前:Name_Not_Found 投稿日:2005/05/13(金) 12:45:49 ID:???
>>482
そういうのは「フレーム脱出」の判定に使われるんで定石だよ。
「if(top != window) フレーム内にいる」

484 名前:Name_Not_Found 投稿日:2005/05/13(金) 12:55:58 ID:???
なるほど!topと比較すれば可能ですね
ありがとうございました

485 名前:Name_Not_Found 投稿日:2005/05/13(金) 17:13:53 ID:S4DH4zq1
質問です。
confirmメソッド使ってダイアログボックス開いた時に
フォーカスを「キャンセル」のほうにあてたいのですが、可能なんでしょうか?
また可能ならやり方を教えていただけませんでしょうか。

486 名前:Name_Not_Found 投稿日:2005/05/13(金) 17:46:49 ID:???
>>485
なんか既視感が…
JavaScriptじゃ無理。

487 名前:Name_Not_Found 投稿日:2005/05/13(金) 17:50:45 ID:???
>>485
無理っぽい。小窓を開いてそこにOKとキャンセルのボタンを表示させて対処するのはどうかと

488 名前:MIT-DMS 投稿日:2005/05/13(金) 18:43:56 ID:???
住人が驕り高ぶるスレ〜それがJavaScript質問スレクオリティ〜

489 名前:Name_Not_Found 投稿日:2005/05/13(金) 18:57:28 ID:???
低脳が煽りを入れるスレ〜それがJavaScript質問スレクオリティ〜

490 名前:Name_Not_Found 投稿日:2005/05/13(金) 19:34:06 ID:???
http://pc8.2ch.net/test/read.cgi/hp/1114774413/468
>468 :Name_Not_Found :2005/05/12(木) 22:47:58 ID:???
>なんで?JavaScriptはJavaのサブセットだから略して間違いじゃないよ?
>スーパーセットじゃないんだから。
                                  それがJavaScript質問スレクオリティ〜


491 名前:Name_Not_Found 投稿日:2005/05/13(金) 19:57:45 ID:???
         ホームページを、ちょっと良くしていく工夫。

ホームページの中にも、「こうすればもっと楽しくなるのに」とか、「こんなものがあれば便利なのに」
なんて思うことが、まだまだあるはず。JavaScript質問スレは、そんな発想を大切にしたいと考えています。
インターネットライフの中で生まれるちょっとしたアイデア、その一つひとつをカタチにして積み重ねていくことで、
ウェブのクオリティを高めていきたいと考えます。自由な視点でホームページを見つめ、さまざまなサービスを
生み出していきたい。ホームページを、ちょっと良くしていく工夫。JavaScript質問スレは、ホームページの
新しい価値を皆さまに提案しつづけます。


          それが、JavaScript質問スレクオリティ。


美しい時代へ──JavaScript質問スレ

492 名前:Name_Not_Found 投稿日:2005/05/13(金) 21:04:16 ID:???
パンにはやっぱりネオピュッピィルレ!!

493 名前:Name_Not_Found 投稿日:2005/05/13(金) 21:05:03 ID:???
なんでもいいから、まっとうな質問どぞ。
厨なのは煽りでもスルーでも好きなように。

494 名前:Name_Not_Found 投稿日:2005/05/13(金) 21:15:56 ID:???
改行を含むデータを変数にする方法はありますか?

495 名前:Name_Not_Found 投稿日:2005/05/13(金) 21:17:51 ID:???
>>494
そのデータは「どこに」あるの。

496 名前:Name_Not_Found 投稿日:2005/05/13(金) 21:21:37 ID:???
テキストエリアに入れるか DOM でテキストパートを取り出す

497 名前:Name_Not_Found 投稿日:2005/05/13(金) 21:25:23 ID:???
//WIndowsの場合 他はシラネw
var sCRLF="\r\n";
//innerText(IE専かw)などでは<BR>に自動変換されるハズw


498 名前:Name_Not_Found 投稿日:2005/05/13(金) 21:33:52 ID:???
>>495
できれば外部ファイルに置きたいんですが、JSで外部ファイルを読むのは無理らしいので
スクリプト内に変数として置くつもりです。
>>496
それ面白そうですね、ちょっとやってみます。
>>497
なるほど・・・

499 名前:Name_Not_Found 投稿日:2005/05/13(金) 21:42:23 ID:???
498が錯綜しているぞ誰か教えてやれ


500 名前:Name_Not_Found 投稿日:2005/05/14(土) 02:26:18 ID:???
>>499
佐々木君?

501 名前:Name_Not_Found 投稿日:2005/05/14(土) 12:35:11 ID:wOQyWvlm
送信側.html
<form action="./Receive.html">
<input type=text name=box>
<input type=submit value=" 送 信 ">
<input type=reset value="リセット">
</form>

受信側.html
<script>
val = document.location.search;
val = val.split("=");
val = unescape(unescape(val[1]));
if (val) val = "送信されたデータは<h1>" + val + "</h1>です。";
else val = "送信されたデータはなにもありません。";
document.write(val);
</script>

送信側の
<form action="./Receive.html">

<form action="./Receive.html" method="POST">
とした場合、受信側はどうやって送信データを取得すればよいのでしょうか?


502 名前:Name_Not_Found 投稿日:2005/05/14(土) 12:44:33 ID:???
>>501
method="POST"の場合、CGIを使わずにデータを受け取ることはできない。

503 名前:Name_Not_Found 投稿日:2005/05/14(土) 13:12:15 ID:wOQyWvlm
>>502
レスありがとうございます。

やっぱりダメですか・・・

504 名前:Name_Not_Found 投稿日:2005/05/14(土) 14:16:55 ID:???





          Gateway Timeout






505 名前:Name_Not_Found 投稿日:2005/05/14(土) 16:22:08 ID:???
>>501

Javascriptで、受信側のアンカーなり入力テキストなりを
書きかえるようにするのじゃダメなの?

<input type="buttun" value="送信" onClick="piyo(this.form.text)">

とかでもらって、

受信側HTMLのinnerHTMLなんかを換えればいいのでは?


受信側HTMLが、権限の無いところにあるなら知らない。
エロイ人どうぞ。

506 名前:Name_Not_Found 投稿日:2005/05/14(土) 16:33:32 ID:???
>>505
うーん… それをやるためには、送信側と受信側のページが同一鯖で、
なおかつ両方のページが同時に開いた時点がないと駄目だよね。
たとえば別窓に受信ページを開いて書き込む?そんなのが元質問者
的に許容できるかどうかはちょっと疑問な気がする。

ここはむしろ素直にクッキーでデータ渡すとかの方がはるかにマシ
ではないのかな。これも同一鯖という条件になるけどね。

507 名前:505 投稿日:2005/05/14(土) 16:37:19 ID:???
function piyo(dt){
window.open("receiver.html","受け手");
document.write(dt);
}

流れ的にこんな感じ。これじゃ動かないと思うんであしからず。

508 名前:Name_Not_Found 投稿日:2005/05/14(土) 16:40:04 ID:???
JavaScriptだとできないことが多いんで、近頃はPHPばかりになってしまった。

509 名前:Name_Not_Found 投稿日:2005/05/14(土) 16:47:35 ID:???
>>508
サーバ側とクライアント側はもともと役割が違うからね。
別にサーバ側の処理で足りてるんならいいんじゃないの。
さっとメニュー出すとか動かすとかローカルだけでチェック
とかそういうことに使うためのクライアント側スクリプトでしょ。
>>507
だから別窓開いて置いといていいのなら当然そうやればできるが
(document.writeするというのは冗談ポイだけどね。FAQ>>3参照)。
一般的に言えば別窓はうざいが、それは元質問者が決めることだな。

510 名前:Name_Not_Found 投稿日:2005/05/14(土) 16:57:30 ID:B5Z/ojdh
今開いているwindowから別のwindowを開くんだけど、
別のwindowが開いている間もとのwindowを触れないようにすることってできますか?
つまりモーダルウィンドウにしたいのですが。

511 名前:Name_Not_Found 投稿日:2005/05/14(土) 17:10:23 ID:???
>>510
うーん、あんまり使いやすくないだろうと思うんで勧めないけど、一応
window.onfocus = function() { window.blur(); };
なんていうのをやるとフォーカスが入らなくなるよね。どっちかというと
その別窓にフォーカスを当てるべきなんだろうから、
var w = window.open(...);
window.onfocus = function() { w.focus(); };
のがいいかも。で、その別窓が閉じるときには「window.onfocus = null;」
を実行してクリアしないと大迷惑なんで注意。

512 名前:501 投稿日:2005/05/14(土) 19:11:22 ID:wOQyWvlm
>>505,506
レスありがとうございます。

別窓はブロックされて開けないこともあるので・・・
とりあえずサーバー側(JSP)で対処することにしました。


513 名前:510 投稿日:2005/05/14(土) 19:49:32 ID:a8tLVpX1
>>511
ご回答ありがとうございます。

結構無理かな、と思っていたんですがその方法ならモーダルになりますね。
本当にありがとうございました。

514 名前:Name_Not_Found 投稿日:2005/05/14(土) 20:47:22 ID:???
質問される人、質問のときはageてくれていいんですが、
以後はsage進行でよろしく。ちゃねらーとしてはsage進行
くらい勉強してよね。

515 名前:Name_Not_Found 投稿日:2005/05/14(土) 21:16:48 ID:66P2ryrR
ラルクなどミュージシャンのサイトにあるような
アクセスすると強制的に縮小されたウインドのサイズが変わったり
ページに移動した直後少し画面が震えたりするのはスクリプトを使っているからですか?

516 名前:Name_Not_Found 投稿日:2005/05/14(土) 21:24:48 ID:???
> アクセスすると強制的に縮小されたウインドのサイズが変わったり

うざいスクリプトの代表だな。

517 名前:Name_Not_Found 投稿日:2005/05/15(日) 05:18:02 ID:eTrk2MV+
ageての質問ご容赦。

姉妹サイトの新着情報などを自サイト上で紹介したいのですが
できれば自動・半自動化できればと考えています。

たとえば姉妹サイトで hoge.com/2005/0514news.html のように日付が
つくページを
自サイトで 0514の部分だけjavascriptで自動的に変換するというのはできるんでしょうか?


518 名前:Name_Not_Found 投稿日:2005/05/15(日) 06:35:43 ID:???
何を何に変換するのかわからないんだが

519 名前:Name_Not_Found 投稿日:2005/05/15(日) 08:59:40 ID:???
>>517-518
確かに訳の分からん日本語だ。とりあえず2つ解釈を思いついた。
でも日本語の不自由な質問は煽られるだけでいいことないと思え。

(1) 姉妹サイトで時々日付のつくURLのページが追加されるので、
それに対応して自分のページにリンクが追加されるようにしたい。
→別鯖だろうからJavaScript側でページの存在をチェックするのは
無理。そういうのはサーバ側でやるしかない。

(2)姉妹サイトで毎日日付のつくURLのページが作られるので、
自分のページからのリンクを日付(と固定文字列)から自動生成
したい→日付等はDateオブジェクトで取れるからそれと文字列
を連結してURLを作ってリンクを挿入することで可能。

さあどっちかな。またはどっちでもないか?

520 名前:Name_Not_Found 投稿日:2005/05/15(日) 09:22:58 ID:???
>>517
iframe で日付の付いたページを読み込ませたいってことじゃないかな?
JavaScript でできるけどサーバサイドでやった方が無難。

521 名前:Name_Not_Found 投稿日:2005/05/15(日) 09:56:18 ID:???
さてさて、DHTML以前に
変数、文字列などのム上の基本から教えないとダメな気が。
ポンとコードソースを出しても分かるレベルとは思えない。
ましてやサーバーと連携するまで…(省略)
結局、そこができてなくてこうできませんか?っ感じ。
その次に他の言語は多少かじっていて、ムの基本はなんとなく分かるが
DHTMLリファレンスに目を通さない、リファレンスがどこにあるのかさえしらない、
英語だったらなおさら読みたくないで伸びないとか。
まったくのぷろぐらム初心者には2重の敷居があるのだね。
と便所でつぶやきw
スルーしてね☆

522 名前:Name_Not_Found 投稿日:2005/05/15(日) 09:58:47 ID:???
>>521
あんたのがよっぽどうるさいんだが。さほど難しくない
質問の可能性もあるんで、まあ質問者の再質問を待ちたいところ。

523 名前:Name_Not_Found 投稿日:2005/05/15(日) 10:29:48 ID:???
>>521
それはわかっておりますから。

524 名前:Name_Not_Found 投稿日:2005/05/15(日) 10:46:30 ID:???
>>521
長い糞だな。

525 名前:Name_Not_Found 投稿日:2005/05/15(日) 13:43:57 ID:???
>>521
頭悪いなら無理に回答しなくていいですから。

526 名前:521 投稿日:2005/05/15(日) 14:01:17 ID:???
おいおい、閑古鳥だとオレに矛先を向けるのかw
閑古鳥だと妙に優しくなる雰囲気はアレだからさw

527 名前:521 投稿日:2005/05/15(日) 14:10:47 ID:???
function CheckKeta(vtValue,nKeta){
var sZero="",sValue=String(vtValue);
var nZero=nKeta - sValue.length;
if (nZero > 0){
for (i=0;i<nZero;i++){sZero += "0"};
return (sZero + sValue);
}else{
return (sValue.slice(-nZero))
}
}

var ObjDate=new Date()
with (ObjDate) {
var sDate1=getFullYear() + "_" + (getMonth() + 1) + "_" + getDate();
var sDate2=CheckKeta(getFullYear(),2) + CheckKeta(getMonth()+1,2) + CheckKeta(getDate(),2);
alert(sDate1);alert(sDate2);}
//悪評つけられそうなんで、何もしないやつは黙ってろw
//日付文字列を作成するサンプルだけやってやるwJScriptじゃないと動かないかもなw
//CheckKeta関数は第1引数にチェックする値、第2引数が指定桁数で、指定桁に足りない場合は頭に0をつけ、変換した文字列を返す

528 名前:521 投稿日:2005/05/15(日) 14:13:37 ID:???
ちゃちゃっとやったので、
読めないとか、読む気しないとか、
動かないとかw
難癖つけるなよ?w

529 名前:Name_Not_Found 投稿日:2005/05/15(日) 16:26:02 ID:???
元質問者の意図が分からないうちから回答したくて
仕方無いみたいだねえ、うるさいから黙ってて欲しい。
まっとうな質問がなくて閑古鳥が鳴いてるのならそれは
そのままでいいから。無理にゴミで埋めないでくれ。

530 名前:Name_Not_Found 投稿日:2005/05/15(日) 16:51:54 ID:???
オレは言っただろう?放置な内容だと。
うるさいのはスルーできないおまえらだろが。

コード的にどうとか、そういうこのスレの本質をどうでなく
自分がスレの中心だとも言いたいのか?

回答はしていない。
誰がやろうと、同じ結果を出せるなら
知識は吸収できるなら構わないだろうが。

オレはもう知識あります。他人に教授してもらうことはありません的な
態度のやつはコードだけシコシコ書いてろ。


531 名前:Name_Not_Found 投稿日:2005/05/15(日) 16:55:25 ID:???
連投
本質を忘れ、排他的になってるぞ。
それが方針なら何も言わない。

532 名前:Name_Not_Found 投稿日:2005/05/15(日) 17:58:17 ID:???
あげ

533 名前:Name_Not_Found 投稿日:2005/05/15(日) 18:54:32 ID:???
はっきり言って、このスレは質問者と常連のレベル差はすごく
開いてしまっている。しかも常連どうしで勉強になるような高水準
の質問は非常にまれ。だから、質問者が来たときにその質問者の
学習を促すようなうまい教え方を競うスレになっていると思う。

その点で >>527 みたいに要求もされてないのに平凡未満のコード
を貼るというのは嫌われるわけさ。まあ質問が来たときにスマート
にやってくれ。それができないなら黙っていて欲しい。

534 名前:Name_Not_Found 投稿日:2005/05/15(日) 19:23:55 ID:???
さすが良スレ
濃いキャラクターが揃ってるなw

535 名前:Name_Not_Found 投稿日:2005/05/15(日) 19:52:17 ID:???
>>527
悪評?それどころか、あなたはかなり馬鹿な初心者ですね。
> for ( i = 0;
この i がスコープの外で定義される。
> with (ObjDate) {
with は使うな、とヴェンダ自身が言っている。
そして >>527 は、with 内で行ったり来たりを繰り返す典型的な悪例。

536 名前:Name_Not_Found 投稿日:2005/05/15(日) 20:56:05 ID:???
with使った書きかたってどう書いたらいいかわかんないよなあ。
var とか宣言したら、その with(obj) のオブジェクトにならないのか、とか、
なんでそのオブジェクト以外の変数とか関数とか普通に使えるのか、とか。
面倒くさくて使ったことなかったよ。

537 名前:Name_Not_Found 投稿日:2005/05/15(日) 21:11:56 ID:???
数十枚の画像をサムネールで表示しているページがあり、そのそれぞれの画像にフルサイズ画像へのリンクをはり、
別ウインドウで表示させたいと思っています.
これまでは、画像が数枚だったのでそれぞれに別なページを準備していましたが、数十枚となると、ちょっと...
JavaScript で解決しようと考えました. (ここがそもそも間違っているでしょうか?)

フルサイズ画像のパスと、開くウインドウのサイズを引数で渡す関数をつくってリンクから呼ぶことにし、関数は次のように
してみました.

var viewerW
function viewer(image_url,hsize,vsize)
{
viewerW=window.open("","new window","適当な属性");
viewerW.window.resizeTo(hsize,vsize);
setTimeout(function(){imageW.document.write("<p align='center'><img src=image_url></p>");},0);
}

リンク部分では、
<a href="javascript:viewer('image1full.jpg',600,400)"><img src="image1.jpg"></a>

のようにして呼んでいます.

これでいろいろ考えた結果ですが、画像が表示されません.
画像のパスが引数でうまく渡っていないと思っていますが、そういうことでしょうか?

手詰まりなので、解決策をお示しいただけませんでしょうか.



538 名前:Name_Not_Found 投稿日:2005/05/15(日) 22:08:58 ID:???
>>537
画像のパスが渡ってないかもと思うのなら、なんでその無名関数の中に
alert(image_url)を挿入して確認しないんだ?それはそうと気付いた問題:
(1)viewerWとimageWという変数名は実は同一でないといけないのでは。
(2)文字列リテラルの中にただimage_urlと書いてあったらそれは自動的に
変数に置き換えられるわけがなく、書き出された時もそのままになっちゃうだろ。
"<p align='center'><img=src='" + image_url + "'><\/p>"
とするべきでは。

539 名前:537 投稿日:2005/05/15(日) 23:06:25 ID:???
>>538
ありがとうございます.
変数名はスレに書き込む時にミスりました.

img src 〜の部分は、言われてみればそのとおりですね.
残念ながら、ここを直してみましたが、やはり表示されませんでした.

ご指摘の方法で確認してみますと、img_url 引数はちゃんと渡っていましたので、
表示のさせ方に問題があるということで、最初から考え直しました.

結局、表示するページを実体として用意し、これに
<img src="" name="image1"> と、サイズ指定なしの空イメージを作っておいて、
問題の関数から、
setTimeout(function(){viewerW.document.image1.src=image_url;},0);
とすると、うまくいきました.

JAVAScript でなにかしようとする度に、頓挫してます.
私にはまだまだ難しいですね.

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

540 名前:Name_Not_Found 投稿日:2005/05/15(日) 23:17:53 ID:???
>>537
JavaScriptだとメンテが面倒じゃない?
おれならPHP使うなぁ。

541 名前:Name_Not_Found 投稿日:2005/05/16(月) 00:38:24 ID:???
>>540
だから用途が違うんだってば。PHPで済むことはそれでいいんじゃ
ないの。

542 名前:Name_Not_Found 投稿日:2005/05/16(月) 05:07:14 ID:???
なんかたまにPHP厨が出没するよなw

543 名前:Name_Not_Found 投稿日:2005/05/16(月) 06:21:57 ID:???
ここで聞くべきか迷ったが…
JavaScriptによる、template engine とかご存知ないですか?

やりたい事は、サーバクライアント間でXMLでデータをやり取りして、
そのデータを元に、クライアント側で表示する際に、延々DOMで書く手間を省きたい。
ってな所なんですが。

544 名前:Name_Not_Found 投稿日:2005/05/16(月) 06:37:54 ID:???
>>542
それはわかっております。

545 名前:Name_Not_Found 投稿日:2005/05/16(月) 07:44:32 ID:???
>>543
受け取ったXML(データフォーマットとして使ってるんだよね?)をXSLTを用いて変換、
変換結果のノードを適当な場所に挿入、じゃいけないの?
一度XSLTスタイルシートを書けばそれを使いまわせると思うけど。

IEとGeckoではXSLT周りのAPIが違ったような気がするし
OperaはXSLTエンジンが搭載されてないからそもそも無理、
Safari(というかWebCore)はスクリプトからXSLTを扱うAPIがあるか知らないけど。

546 名前:Name_Not_Found 投稿日:2005/05/16(月) 07:56:54 ID:???
>>543
XMLではないがDOMによるHTML生成の面倒くささを
何とかするという意味でならこんなのもあるぞ。
ttp://members.jcom.home.ne.jp/jintrick/Personal/DOM.html
「js-html」と「HTMLBuilder」ってやつ。

547 名前:Name_Not_Found 投稿日:2005/05/16(月) 07:59:51 ID:???
>>545
レスどうもです。
ご指摘の通りOperaを切り捨てる結果になるので、XSLTはちょっと。

548 名前:Name_Not_Found 投稿日:2005/05/16(月) 08:05:18 ID:???
>>546
どうもです。
参考にしてみます。

549 名前:Name_Not_Found 投稿日:2005/05/16(月) 08:05:56 ID:???
>>540-541
たとえば今回の場合、PHPのようにサーバ側でやるとすると、

サムネイルのリンク選択→サーバ側からURI GET→IMGタグを
含んだページ返送→ブラウザから画像取得→表示

というステップになる。元々のdocument.writeでページ作る
方法だと

リンク選択→ページ作る→画像取得→表示

というふうに、サーバとの1往復+サーバ内処理がまるまる
削れる。ネットの速さとサーバの重さによってはこの節約は
大きいかもよ。

550 名前:527 投稿日:2005/05/16(月) 08:14:41 ID:???
おはようw
サンプルだと断ってあるので批評は以下のレスが書いた通りw

with内スコープから他へジャンプするのは危険性はあるが、
コード保守者が管理していればいいだけの事。
初心者に回答はしていない。
サンプルで簡略に便宜的に示すため。2通り書いただろが
いちいち、書くとメンドイ、それだけ。
これをコピペして使えとは言っていない。
自分で調べ、とにかく動き、拾える所だけは拾うやつが伸びる。
欠点を見出すスキルがある者ならば、もっと初心者に親身になれ。


551 名前:Name_Not_Found 投稿日:2005/05/16(月) 08:23:09 ID:???
>>550
マジで氏んでくれ

552 名前:Name_Not_Found 投稿日:2005/05/16(月) 08:23:16 ID:???
洩れが教える時は絶対withなんか教えないね。いいことなんか
何もないぞ。まあ自分のセンスとしていいと思ってるなら勝手
だがここで布教するのはやめてくれ。36スレの歴史でwith勧めてる
奴なんて極少数(アンタだけじゃないの?)

553 名前:Name_Not_Found 投稿日:2005/05/16(月) 09:57:25 ID:???
また宗教かよ
脳内テンプレの数が少ないか、更新効かない奴だな、
教えてる?勧めてる?感情が先になって読解力あるか?
押しつけも強制もない。
使える場面で使えばいいだけだ。使えないと判断するならしない。それだけだ
仕様を読み、時と場合に応じて自由に利用する。
「みんながやらない」「〜が言ってるからだめだ」とかじゃ情けないね。
ま、それも個人の勝手。
脳内センスで片付けるのは勝手だが
結果を出すための手段の引き出しは多いほうがいい。
Mozilla啓蒙もアンチIE専もいろんなのがいて結構だが、
自作法以外を叩くだけの
そういうのが中心で居座ってるならスレタイからすればこのスレ、死んでるよ。
で、本道外れたんで逃げw

554 名前:Name_Not_Found 投稿日:2005/05/16(月) 13:33:27 ID:???
また宗教論争かよ。ま、with使った回答例に文句ある人はそのつど
言えばいいんじゃないの?

555 名前:Name_Not_Found 投稿日:2005/05/16(月) 14:42:05 ID:???
そりゃどの手段をとるかはユーザーの勝手だけど、
初心者としてみた場合、その持ってる引き出しが少ないのだから、
持ってないものを与えられたら、それを使わざるを得ないでしょ?

これから勉強するのに、いい参考書と悪い参考書があって、
悪い方に当たっちゃって、でもそれで覚えちゃって、
後で 「それはよくないよ」 って指摘されて、
参考書よく見たら、その中に 「これはあくまでサンプルです。他の書きかたは自分で調べてね」 と注意書きされてたら・・・。

>>550 も、わかってるなら普通の書きかたすればよかったのにw 管理できてないけどww
ほんとに初心者のこと思うなら、一般の書きかたから教えるべきかと。
でなかったら、両方書くとか。

\e

556 名前:Name_Not_Found 投稿日:2005/05/16(月) 14:57:19 ID:???
>>550
とりあえず氏ねや

557 名前:Name_Not_Found 投稿日:2005/05/16(月) 15:20:39 ID:???
<input name=aaa value="">
<input name=bbb value="">
とWEBページ内に記述されてて
JavaScriptでname=aaaとname=bbbに自動的に入力する
方法を見たことあるんだけど、どうやってるかわかる方いますか?

558 名前:Name_Not_Found 投稿日:2005/05/16(月) 15:24:58 ID:???
>>557 かなりいらっしゃると思います。

559 名前:Name_Not_Found 投稿日:2005/05/16(月) 15:39:30 ID:???
>>557
「自動的に入力」ってJavaScript側から値を入れるってこと?
それならその要素にID振って
document.getElementById('ID名').value = '入れたい文字列';

560 名前:Name_Not_Found 投稿日:2005/05/16(月) 16:25:59 ID:???
>>557
意味がわからん。JavaScriptでnameをつけるのが、name=aaa or bbbの
valueを入力で変えるのか
inputのtypeは何?button、text、radio、checkboxなんかあるけど

561 名前:Name_Not_Found 投稿日:2005/05/16(月) 17:22:29 ID:???
WEB KADOKAWA
ttp://www.kadokawa.co.jp/help/policy_shop.html#page01

ここの「ページのtopへ」を押した時にウインドウがスクロールされるのを実装してみようかと思ったのだけど、
自サイトではただ、トップに飛ぶだけになっちゃう。
調べてみたら、DOCTYPEを以下のようにしてると機能しなくなるんだけど、
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
これを入れたままで機能できるようにする方法ないすかねぇ…

562 名前:Name_Not_Found 投稿日:2005/05/16(月) 17:35:03 ID:???
> ttp://www.kadokawa.co.jp/help/policy_shop.html#page01
見に行くのマンドクセー

563 名前:Name_Not_Found 投稿日:2005/05/16(月) 17:44:40 ID:???
ブラウザの最小化ボタン、最大化ボタンを非表示にすることは
可能でしょうか?window.openメソッドのオプションパラメータには
そのような設定がないのですが方法がありますでしょうか?
ブラウザはIE6.0です。
http://www.openspc2.org/reibun/javascript/appendix/win-param.html

564 名前:Name_Not_Found 投稿日:2005/05/16(月) 17:47:26 ID:???
>>563
表示させたくなかったらウィンドウの位置を画面の上に(ry
っつーか迷惑だろうからやっぱダメかと

565 名前:Name_Not_Found 投稿日:2005/05/16(月) 17:54:06 ID:???
>>561
動かなくなる原因はおそらく、document.bodyを参照しまくってる
ためではないかな。DOCTYPEをちゃんと入れると標準モードになり、
document.bodyではなくdocument.documentElementが最外側要素に
なる。簡単にいうと、document.bodyを全部documentElementに
取り替えたら動くんじゃないの?もっとも、そういういい加減な
スクリプトに頼るのは極めて危険だと洩れは思うけどね。先頭まで
スムーズにスクロールさせるなんて簡単っしょ?
>>563
JavaScriptではできなかったと思うよ。最初からブラウザを
全画面モードで起動とかならできるんじゃなかったっけ。

566 名前:Name_Not_Found 投稿日:2005/05/16(月) 17:56:11 ID:???
>>561
getScrollLeft/Top/Width/Heightのdocument.bodyを参照している部分を
標準モードのときはdocument.documentElementを参照するようにしろ。
わからないことがあったら自分で調べろ。

567 名前:Name_Not_Found 投稿日:2005/05/16(月) 18:02:33 ID:???
>>549
おれはPHP厨じゃないけど、画像が増えたときのメンテナンスという点では、ディレクトリ内の
ファイル一覧を作れるPHPのほうが楽ちんかと。
鯖の負荷、ネットワークトラフィックという面ではもちろんJavaScriptが有利でしょうね。

568 名前:Name_Not_Found 投稿日:2005/05/16(月) 18:06:32 ID:gwqwt5Pv
JaVaを使用しているサイトを見ようとすると
見ているWebページが全て閉じて

#
# An unexpected error has been detected by HotSpot Virtual Machine:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x6d6c20e6, pid=396, tid=1724
#
# Java VM: Java HotSpot(TM) Client VM (1.5.0_02-b09 mixed mode, sharing)
# Problematic frame:
# V [jvm.dll+0x820e6]
#

といった内容が書かれたメモファイルがデスクトップに出来るのですが、この状況を打開するにはどうしたらいいのでしょうか?


569 名前:Name_Not_Found 投稿日:2005/05/16(月) 18:09:07 ID:???
スレ違いです。

570 名前:Name_Not_Found 投稿日:2005/05/16(月) 18:10:31 ID:???
どこで聞けばいいでしょうか

571 名前:Name_Not_Found 投稿日:2005/05/16(月) 18:13:03 ID:???
>>568
JaVaって何よ?

572 名前:Name_Not_Found 投稿日:2005/05/16(月) 18:14:02 ID:???
やーふぁ

573 名前:Name_Not_Found 投稿日:2005/05/16(月) 18:16:36 ID:???
Javaですね

インターネットオプションでJava(Sun) <applet>に JRE 1.5.0_02 を使用 欄にチェックを入れると>>568のようになり、
チェックを入れないと灰色になってて見れないんですよね・・


574 名前:Name_Not_Found 投稿日:2005/05/16(月) 18:16:44 ID:???
>>570
とりあえずプログラム板のJavaスレの人が一番詳しそうだな。
見てるだけなんだから製作板に来られてもねえ。
>>569
自動でファイル一覧を作るのならもちろんそうだけどね。
ファイル増やしたときにファイル一覧作って配列リテラルに
してJavaScriptに埋めるんでもいいと思うけどな。まあ頻度次第。

575 名前:Name_Not_Found 投稿日:2005/05/16(月) 18:18:21 ID:???
>>573
んなこた誰だって分かる。ここは「JavaScript」スレ。
「Java」は扱ってないの。JavaScriptはJavaのサブセットだから
分かるだろとか言い出さないでくれよ(w

576 名前:Name_Not_Found 投稿日:2005/05/16(月) 18:19:22 ID:???
すいませんそっちへ行きたいと思います。
スレ汚し失礼いたしました

577 名前:Name_Not_Found 投稿日:2005/05/17(火) 00:53:24 ID:???
別窓を表示する際に、画像のサイズに合わせた
ウィンドウを開きたいのですが・・
縦サイズから横サイズに変化させたりできますか?
画像の大きさではなくて、画像プラス20pxとか
そうゆうのなんですが。。

578 名前:561 投稿日:2005/05/17(火) 00:55:14 ID:???
>>565-566
ありがとう。ばっちりいけたっすよ。
厳しい口調だが親切だな、おまいら。

579 名前:Name_Not_Found 投稿日:2005/05/17(火) 05:39:07 ID:???
>>577
手順としては
対象となる画像の幅、高さ(width、height)の値を取得
それぞれの値に+20をした値を別窓のウィンドウの幅、高さに指定

580 名前:Name_Not_Found 投稿日:2005/05/17(火) 07:16:07 ID:???
>>577
>>579 のでもいいし、
・初めからサイズ指定するなら、
  → <a href="hoge.png" onclick="return image_open(this.href, 220, 320)">
    → function image_open (img, width, height) {
          window.open(img, '', 'width='+ width +', height='+ height); return false; }
・画像は開いた後で読み込みたいのなら、
  → とりあえず別窓を開く (window.open で)
    → 画像を読み込み終わり
(img.onload とか img.complete とかで判断
)
      → 画像のサイズ取得 (img.width , img.height)
        → ウィンドウのサイズを変更 (window.resizeTo( width+20, height+20 ))
とか?

581 名前:Name_Not_Found 投稿日:2005/05/17(火) 07:34:05 ID:???
追記。当たり前だけど、
resizeTo で指定した画面の大きさは、内側でなく外側の大きさなので、注意だね。
ブラウザやスキンとかによっていろいろ大きさとか解釈違うし。

以前、スクロールバーが出なくなるまで resizeBy して繰り返させてた覚えがあるけど、
あまりイイとは言えなかった。。。

582 名前:Name_Not_Found 投稿日:2005/05/17(火) 08:48:50 ID:???
>>579-581
内側サイズで指定するにはまさに >>26 にズバリそのものがある。
それにしても >>581 はスレに目を通さずに回答してるのか?

583 名前:Name_Not_Found 投稿日:2005/05/17(火) 10:06:56 ID:???
MozillaのDomインスペクタの様な物がIEに無いのかと探してみた。

DHTML Diver
http://www.vector.co.jp/soft/winnt/net/se360204.html
日本語でフリー(広告あり)
DOMインターフェイスのツリー構造から参照できる。
IEエンジンを積んだタブブラウザでも動作した。

IE DOM Inspector
http://www.ieinspector.com/dominspector/
英語でシェア。
HTMLのツリー構造から参照できる。
見栄えは、こちらの方が良いかな。

IE開発時にJavascriptDOMインターフェイス解析したくなった場合どの様にしてますか?




584 名前:Name_Not_Found 投稿日:2005/05/17(火) 10:16:09 ID:???
IE以外のブラウザでネスケ、Firefoxだと使えないスクリプトを作ってしまったと気づいたとき
ものすごくむなしさを感じるのだが、対策が見つからん・・・

585 名前:Name_Not_Found 投稿日:2005/05/17(火) 12:10:34 ID:???
>>584
独自拡張だらけのIEを開いて作ってるからでは。洩れはMozを
開いて開発し、終わったらIEでチェックしてる。それだと動かない
場合でも手直しが必要なのは少しだけで済む。

586 名前:Name_Not_Found 投稿日:2005/05/17(火) 14:46:11 ID:???
>>585
激しく同意だ
IE糞とまでは言わないにしても、
依存しすぎると柔軟なコーディングできなくなるよな...

587 名前:Name_Not_Found 投稿日:2005/05/17(火) 16:13:08 ID:???
>>583
IE blogでまさにその話題が出てたな

IEBlog : Inspect Your Pages in IE
ttp://blogs.msdn.com/ie/archive/2005/05/10/416156.aspx

588 名前:Name_Not_Found 投稿日:2005/05/17(火) 16:48:25 ID:???
選択されたテキスト範囲をjsで解除する方法はあるのでしょうか。


589 名前:Name_Not_Found 投稿日:2005/05/17(火) 17:20:45 ID:???
>587
サードパーティの製品があるから、そっちを使えと言っているのか。
(IE7には、つける予定はない?)

↓サードパーティ製品
ttp://www.download.com/IE-DOM-Inspector/3000-2378_4-10366322.html?tag=lst-0
-1
ttp://www.download.com/DOMSpy/3000-2048_4-10374297.html?tag=lst-0-2
ttp://www.nils.org.au/ais/web/resources/toolbar/
ttp://www.cheztabor.com/IEDocMon/index.htm

イントラ社内向け開発が多い私にとっては、非常に助かるツールなのですが。
(利便性と工数削減を迫られ、IE限定って事が多いのです。。。)

590 名前:Name_Not_Found 投稿日:2005/05/17(火) 17:27:17 ID:???
>>588 ある。

…あるかどうか質問してるってことは、あると分かったら自力で
調べるつもりなんだよね。見上げた心意気、ガンバレ!

591 名前:Name_Not_Found 投稿日:2005/05/17(火) 17:30:55 ID:???
>>589
DOM自体は標準化されていてGecko系でも同じはずだから
MozillaのDOM Inspectorで開発すりゃいいんじゃない?
IE限定であってもGeckoでうごいてはいけないってわけじゃ
ないでしょ? (w

592 名前:Name_Not_Found 投稿日:2005/05/17(火) 17:45:26 ID:???
おい、お前ら、ここは質問スレですよ。

593 名前:Name_Not_Found 投稿日:2005/05/17(火) 17:49:33 ID:???
別に開発環境の質問だっていいんじゃないの。言語自体の
質問だって「それは言語自体だからム板のECMAScriptスレへ
逝け」なんて言わないわけだしさ。

594 名前:Name_Not_Found 投稿日:2005/05/17(火) 17:50:15 ID:???
>>588 ホレ。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
document.onmouseup = function() {
if(window.getSelection) { // Gecko
var s = window.getSelection(); if(!s) return;
s.collapseToStart();
} else if(document.selection) { // IE
var r = document.selection.createRange();
r.collapse(); r.select();
}
}
</script>
</head><body>
<p>abcdefghijklmnopqrstuvwxyz</p>
</body></html>

595 名前:Name_Not_Found 投稿日:2005/05/17(火) 19:10:24 ID:???
>>590
うД`)ヒントぐらいくれよーw

>>594
ありがとぉぅぉぅ
おまい最高だ

質問ついでなんだけど
var s = window.getSelection();
とか
var r = document.selection.createRange();
とか
if文の中にわざわざ一時変数を取るって言うのは何か理由があるのか?
よく見かけるサンプルコードも似た形式が多いが。

そういった慣例なのか、そうするメリットがあるのか
脳貧な俺にはよくわからん
教えてくれると嬉しい。。

596 名前:Name_Not_Found 投稿日:2005/05/17(火) 19:39:46 ID:???
意味もなくグローバル変数使うヤツはうんこ

597 名前:Name_Not_Found 投稿日:2005/05/17(火) 20:24:50 ID:???
>>596
言わんとすることはわかる
汚染対策ってことだろ

だがdocumentオブジェクトとかがもし肥大化したりしたらどうするんだろ。
グローバル変数のコピーとるだけでボトルネックになったりしないのかなと。
そこは既に考慮の上で開発されているのかな・・・

598 名前:Name_Not_Found 投稿日:2005/05/17(火) 20:38:18 ID:???
>>596-597
ローカル変数はdocumentに取られるわけじゃない。スタック上
とか、レジスタ上とか、とにかく有利な場所に取られる。あと
オブジェクトの場合は参照(ポインタ)を保持するだけなんで、
コピーのオーバヘッドとか領域の無駄ということはまずない。

でもそんなことより。局所変数にしておけば、外の変数とは
無関係だとすぐ分かるだろ。人間にとって分かりやすくする
ことが一番大事なんだよ。

599 名前:Name_Not_Found 投稿日:2005/05/17(火) 20:41:28 ID:???
質問おねがいします。
画像自体をクリックすると次の写真にどんどん切り替わっていくJavaScriptをさがしてるんです。。。(スライドショーみたくなやつ。)
ボタンとか、サムネイルをクリックすると変わるやつはあったんですけど、それはなかったんです。。
誰か教えていただけませんでしょうか?

初心者ですいません。。。宜しくお願いいたします。

600 名前:Name_Not_Found 投稿日:2005/05/17(火) 20:46:18 ID:???
>>599
ボタンのonclickをそのままimgタグにコピペすればいいんでは。

601 名前:Name_Not_Found 投稿日:2005/05/17(火) 21:04:27 ID:???
むやみにグローバル汚染しているアメリカはうんこ

602 名前:Name_Not_Found 投稿日:2005/05/18(水) 00:37:00 ID:zJPFWHJy
InternetExplorerで、画面のスクロールにあわせてテーブルの位置を
ブラウザのウインドウの絶対位置に固定したいのですが、
どういう方法があるでしょうか。
Netscapeだとウインドウに対する絶対位置が指定できるようですが・・。


603 名前:Name_Not_Found 投稿日:2005/05/18(水) 00:50:23 ID:???
>>602
ie が position:fixed; に対応するのを待つ

604 名前:Name_Not_Found 投稿日:2005/05/18(水) 01:10:31 ID:???
>>602
positionはabsoluteを使用し、onscrollのたびに画面上の
あるべき位置を計算してそこへ移動する。検索すれば
サンプル見つかると思うけど。

605 名前:Name_Not_Found 投稿日:2005/05/18(水) 03:13:08 ID:???
>>595
その質問ってひょっとして
「なんで
if(window.getSelection) { // Gecko
if(!window.getSelection()) return;
window.getSelection().collapseToStart();
}
としないのか」
って意味?

ちなみにif文の中で"var 変数;"と宣言しても
その変数のスコープは関数全体だから。

606 名前:Name_Not_Found 投稿日:2005/05/18(水) 05:49:09 ID:???
>>602
IE7では position:fixed できてほしいな・・・。

「position:fixed expression サンプル」 とかでぐぐればどうよ。

607 名前:Name_Not_Found 投稿日:2005/05/18(水) 10:19:06 ID:???
>>598
>オブジェクトの場合は参照(ポインタ)を保持するだけなんで、
そうだったのか。てっきり実体を複製だと思ってた。
無知スマソ

>>605
さっきのコードでいうならそうだな。
if(window.getSelection) { // Gecko
window.getSelection().collapseToStart();
}
こうした方がコード質量減るし判りやすいんじゃないかと思ったんだが
安全面とか可読性でいうと腐れたコードだということで終了

今更だが良スレだなここは。
時々アホウも見かけるが・・・

608 名前:Name_Not_Found 投稿日:2005/05/18(水) 11:43:06 ID:???
>>607
えーと、>>594 ですけど、window.getSelection()が何も返さない
ことがあるかとおもってif文を入れたのですが、何も返さないという
ことはないようですね。ですから >>607 のコードで無問題でしょう。
テキトですみませんでした。

var rの方は変数に取っておかないとcollapse()とselect()を順次
呼ぶのに不便だからいいですよね…

609 名前:Name_Not_Found 投稿日:2005/05/18(水) 11:54:12 ID:???
>>561 の「スムーズに先頭へスクロール」作ってみた。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function scr() {
var d = window.pageYOffset; if(d <= 0) return;
window.scrollBy(0, -Math.floor(d/20+1)); setTimeout(scr, 20);
}
</script>
</head><body>
<p>1<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></p>
<p>2<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></p>
<p>3<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></p>
<p>4<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></p>
<p>5<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></p>
<p>6<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></p>
<p><a href="javascript:scr()">scroll to top</a></p>
</body></html>

610 名前:Name_Not_Found 投稿日:2005/05/18(水) 12:06:37 ID:???
>>609 しまった、IEに対応してなかった。差し替え版。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function scr() {
var b = document.documentElement || document.body;
var d = b.scrollTop ? b.scrollTop : window.pageXOffset;
if(d <= 0) return;
window.scrollBy(0, -Math.floor(d/20+1)); setTimeout(scr, 20);
}
</script>
</head><body>
<p>1<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></p>
<p>2<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></p>
<p>3<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></p>
<p>4<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></p>
<p>5<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></p>
<p>6<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></p>
<p><a href="javascript:scr()">scroll to top</a></p>
</body></html>

611 名前:Name_Not_Found 投稿日:2005/05/18(水) 12:12:47 ID:???
>>602-604 作ってみた。GekcoもscrollTopに対応してるんだな。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
window.onscroll = function () {
var b = document.documentElement || document.body;
document.getElementById('d0').style.top = (100 + b.scrollTop) + 'px';
}
</script>
</head><body>
<div id="d0" style="position:absolute;border:solid blue;top:100px">TEST</div>
<p>1<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></p>
<p>2<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></p>
<p>3<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></p>
<p>4<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></p>
<p>5<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></p>
<p>6<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></p>
</body></html>

612 名前:Name_Not_Found 投稿日:2005/05/18(水) 15:20:12 ID:???
http://www.openspc2.org/reibun/javascript/sort/009/
ここのクイックソートのサンプルで、
var x = data[Math.floor((start + end) / 2)];
のMath.floorを抜かすと上手くソートできないのはなぜでしょうか?
整数の足し算割り算なので特に切り捨てる必要はないように思えるのですが・・・

613 名前:Name_Not_Found 投稿日:2005/05/18(水) 15:35:28 ID:???
>>612
整数の中でも奇数(2で割り切れない数)を2で割ると ***.5 みたいに端数が出てくるんだよ

614 名前:Name_Not_Found 投稿日:2005/05/18(水) 15:42:22 ID:???
>>612
JavaScriptは整数をすべて浮動小数点に変換して計算しているからだよ

615 名前:Name_Not_Found 投稿日:2005/05/18(水) 15:54:55 ID:???
>>612 はJavaScriptの言語仕様をまず読むべきだよな。「整数除算」の
ない言語というのは確かにちょっと変わっているのかも知れないが。

616 名前:Name_Not_Found 投稿日:2005/05/18(水) 16:45:38 ID:???
ちょいと>>612よ。聞いてくれよ。スレとあんま関係ないけどさ。
このあいだ、Web制作板のJavaScript質問スレ行ったんです。JavaScript質問スレ。
そしたらなんか人がめちゃくちゃいっぱいでカキコできないんです。
で、よく見たらなんかMath.floorを抜かすと、上手くソートできない、とか書いてあるんです。
もうね、アホかと。馬鹿かと。
お前らな、上手くソートできない如きで普段来てないJavaScript質問スレに来てんじゃねーよ、ボケが。
仕様だよ、仕様。
なんか親子連れとかもいるし。一家4人でJavaScript質問スレか。おめでてーな。
よーしパパ整数の足し算割り算やっちゃうぞー、とか言ってるの。もう見てらんない。
お前らな、サイ本やるから回線切れと。
JavaScript質問スレってのはな、もっと殺伐としてるべきなんだよ。
DQNな質問をした奴といつ喧嘩が始まってもおかしくない、
刺すか刺されるか、そんな雰囲気がいいんじゃねーか。女子供は、すっこんでろ。
で、やっとカキコできたかと思ったら、隣の奴が、JavaScriptは整数をすべて浮動小数点に変換して計算しているからだよ、とか言ってるんです。
そこでまたぶち切れですよ。
あのな、JavaScriptは整数をすべて浮動小数点に変換して計算しているからだよなんてきょうび流行んねーんだよ。ボケが。
得意げな顔して何が、JavaScriptは整数をすべて浮動小数点に変換して計算しているからだよで、だ。
お前は本当にJavaScriptは整数をすべて浮動小数点に変換して計算しているからだよを食いたいのかと問いたい。問い詰めたい。小1時間問い詰めたい。
お前、JavaScriptは整数をすべて浮動小数点に変換して計算しているからだよって言いたいだけちゃうんかと。
JavaScript質問スレ通の俺から言わせてもらえば今、JavaScript質問スレ通の間での最新流行はやっぱり、
PHP、これだね。
PHP使ってサーバー側で全部処理。これが通のやり方。
PHPってのは結構楽にコーディングできる。そん代わりスレ違い。これ。
で、サーバー側で全部処理。これ最強。
しかしこれを頼むと次から常連にスレ違い出ていけと罵られるという危険も伴う、諸刃の剣。
素人にはお薦め出来ない。
まあお前みたいな奴は、うさのJavaScript講座でも見てなさいってこった。


617 名前:Name_Not_Found 投稿日:2005/05/18(水) 16:54:27 ID:???
>>616
マジでオライリーくれるんですか?

どうでもいいけど
サーバサイドとクライアントサイドは役割が違うことを認識するべき。

618 名前:Name_Not_Found 投稿日:2005/05/18(水) 16:56:20 ID:???
>>616
PHP厨&うさのJavaScript講座ハゲワロスww

619 名前:Name_Not_Found 投稿日:2005/05/18(水) 16:56:55 ID:???
激しく話題に乗り遅れてるがどうしても気になったのでsage質問ご容赦を。
無闇にグローバル変数を使わないという意味ではfor文も
for(var i=0;i<10;i++){
とする方が美しいのか
それともfor文の変数なんかローカル変数に決まってるんだからvarをつけないほうが美しいのか
見当違いの質問してるかもしれないが是非知りたい。宜しくお願いします。

620 名前:Name_Not_Found 投稿日:2005/05/18(水) 16:58:51 ID:???
> ローカル変数に決まってるんだから
var つけないと グローバルになるよな?たしか
for の外で var i; してるならいいけど

621 名前:Name_Not_Found 投稿日:2005/05/18(水) 17:00:05 ID:???
PHPで>>610>>611ができるんならやってみろ。

622 名前:Name_Not_Found 投稿日:2005/05/18(水) 17:01:11 ID:???
>>621
サーバサイドとクライアントサイドは役割が違うことを認識するべき。

623 名前:Name_Not_Found 投稿日:2005/05/18(水) 17:01:52 ID:???
>>617,621 PHP厨をバカにしたネタなのをわかってやれよw

624 名前:Name_Not_Found 投稿日:2005/05/18(水) 17:06:05 ID:???
>>623
>>617,621はPHPにトラウマがあるんだよ。察してやってくれw

625 名前:Name_Not_Found 投稿日:2005/05/18(水) 17:06:30 ID:???
>>619-620
洩れは必ずvarつけるよ。外にvar宣言ある時を除いては。
だいたい外にvarってのはループを抜けた後の値が必要な場合
だけなんだけど、そういう時はforは避けてwhile使うことが多いかな。

626 名前:Name_Not_Found 投稿日:2005/05/18(水) 17:38:18 ID:???
>616
ピコワロス

627 名前:Name_Not_Found 投稿日:2005/05/18(水) 20:08:18 ID:???
>>616
ワロタw
ぜひマウスイベントでフォーカスが移動する仕様を
サーバサイドphpで実装してくれ。
出来たら神認定

628 名前:Name_Not_Found 投稿日:2005/05/18(水) 20:27:09 ID:???
>>616
ギョウザ食いながら見てたら吹き出して、ディスプレイがニンニク臭くなったので責任とってください。

629 名前:Name_Not_Found 投稿日:2005/05/18(水) 20:41:00 ID:iEgaW8gm
showModalDialogでウィンドウを開いて、開いたウィンドウからさらに
showModalDialogを開こうとしています。
実際に試したところ、IE5.0ではエラーになり、IE5.5以降では正常に動きました。
このような使い方は正しいのでしょうか?
マイクロソフトのサイトで情報を探したのですが見つかりませんでした。
アドバイスお願いします。

630 名前:Name_Not_Found 投稿日:2005/05/19(木) 00:17:25 ID:???
>>629
MSのドキュメントに書かれてないことは分からないというほかないね。

631 名前:Name_Not_Found 投稿日:2005/05/19(木) 00:20:43 ID:???
さらに…
MSの場合、ドキュメントに書かれている通りに実装されていなかったりするw

632 名前:Name_Not_Found 投稿日:2005/05/19(木) 02:09:05 ID:E/LFl2aI
ttp://www13.ocn.ne.jp/~oncalljp/hpb/oncall_jp_page122.html
ココで紹介されてるスクリプトを使っているのですが
ブラウザによってエラーが出てしまいます。
その原因を教えてください
また、これと同じ様な機能のスクリプトって他にありますか?
大きさを指定しなくても、画像のサイズに勝手に合わせて
開いてくれるのが希望です。

633 名前:Name_Not_Found 投稿日:2005/05/19(木) 02:18:59 ID:???
>>632
↓ここ読め。
ttp://www.googkle.com/

634 名前:Name_Not_Found 投稿日:2005/05/19(木) 06:44:40 ID:???
テキスト部分の値を変えるときってどうしてる?

1: innerHTML = str
2: nodeValue = str
3: createTextNode -> replaceChild 〜

4: createTextNode -> insertBefore -> removeChild 〜

うーん。

635 名前:Name_Not_Found 投稿日:2005/05/19(木) 07:39:45 ID:???
>>632
過去スレどころか、このスレで既出。そんなことすら読めない奴は帰れ。

636 名前:Name_Not_Found 投稿日:2005/05/19(木) 07:49:06 ID:???
>>634
3 。
2 の nodeValue に直接値を入れるのは、なんか気持ち悪い感じがしない?
1 はまあ論外として。 1' で textContent もあるね。

637 名前:Name_Not_Found 投稿日:2005/05/19(木) 08:05:59 ID:???
>>3FAQ.,A3嫁。前にオレがオマイラから言われた通り。

それはそうと、関連してるかもしれないけど・・・

他のサイトをXMLHTTPを使って内容を持ってきて、
BODYタグ以下のみを抽出して、
HTMLのBODY以下の一部(具体的にはPタグ)に落としてきているのだけど、
切り取ってしまったSTYLEタグを反映しようと施行錯誤しましたが、どうやっても反映されません。
その内容をあらかじめHTMLに追加しておいても、
指定クラスは、抽出してHTMLに落としこんだ後しか現れないのからか分かりませんが、
反映されてないようです。

しかも色々調べたらIEでは、STYLEタグへのCSS規則の追加は出来ないようなのです。
ttp://www.parkcity.ne.jp/~chaichan/src/javascdom03.htm
◆ スタイルへさらに新たな規則の追加(NN6オンリー)参照。

何か良い手はありませんかね?



638 名前:Name_Not_Found 投稿日:2005/05/19(木) 08:09:23 ID:???
>>637
IEでもcssの追加できますよ

639 名前:637 投稿日:2005/05/19(木) 08:24:15 ID:???
えっ、styleタグに追加する方法あるの?

いや、そりゃ各Elementごとにstyle指定して入れるのは簡単だけど
class単位で設定しているstyleタグのCSSを作成/追加/変更することが出来るの?

640 名前:Name_Not_Found 投稿日:2005/05/19(木) 08:28:28 ID:???
>>637-639
できるよ。IEが標準に従ってないから振り分けが必要
になって面倒というだけで。

641 名前:637 投稿日:2005/05/19(木) 08:50:04 ID:???
ソースは?
サンプル上げるのめんどくさければ、記述サイトでもいいよ。

642 名前:634 投稿日:2005/05/19(木) 08:55:59 ID:???
>>637
別に質問じゃなくて、DOM使いで、実際どうやってる人が多いのかアンケートしたかっただけだよ、おばか。

CSS のは addRule とか document.createStyleSheet とかで検索すればいいかも。

643 名前:Name_Not_Found 投稿日:2005/05/19(木) 11:06:09 ID:???
>>636
> 2 の nodeValue に直接値を入れるのは、なんか気持ち悪い感じがしない?

object.property = '...'
のように、プロパティを書き換えるだけで済むのだから気持ち悪いどころか、
まず真っ先にこれの使用を検討するのがふつう。
そもそも、そのためにnodeValue等が書き込み可能になっているんじゃないの。

他の方法は、object そのものを新規に作るわけで、問題がある。
例えば、管理出来ないまたは管理を忘れたスクリプトが、
そのobjectを事前に参照していた場合、
勝手に削除され新規作成されたら困ることになる。

644 名前:Name_Not_Found 投稿日:2005/05/19(木) 11:37:36 ID:???
>>643
自分のページに管理できない/忘れたスクリプトが混ざって
るようなメチャクチャな奴のことなど配慮する必要はない。論外。

それはそれとして、>>634 は別にどれが悪いということはないと
思うよ。文脈に応じて使いやすいものを使えばいいんじゃないの。

645 名前:Name_Not_Found 投稿日:2005/05/19(木) 11:52:16 ID:???
>>643-644
どっちも正しいな。
引継ぎ等で仕様を紛失するのはよくあること
大規模プロジェクトの一部や極小オブジェクトでは
何も判って無いペーペーがいじって壊すというケースも珍しくは無い...
だがそれこそ「管理がなって無い」のは確かなので論外というのも正しい。
現実的にはオブジェクトはブッキングを避けるため少ない方が良いというのも正しい。

俺はケース売ケースで分けてる
比較的nodeValueの仕様頻度が多いか。

646 名前:Name_Not_Found 投稿日:2005/05/19(木) 12:01:18 ID:???
>>641 ずいぶんエラソーだな喪前。説明はしないぞ。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function test() {
if(document.createStyleSheet) { // IE
var s = document.createStyleSheet();
s.addRule('body', 'background-color: yellow', 0);
} else { // Gecko
document.documentElement.appendChild(document.createElement('style'));
var a = document.styleSheets;
a[a.length-1].insertRule('body { background-color: yellow }', 0);
}
}
</script>
</head><body>
<p><a href="javascript:test()">test</a></p>
</body></html>

647 名前:Name_Not_Found 投稿日:2005/05/19(木) 12:58:36 ID:???
>>646 イカス
関数名がtestなのが適当ッぷりを滲み出してて更にイカス

648 名前:637 投稿日:2005/05/19(木) 13:16:50 ID:???
>>642
出来ました。しかも前スレにもありました。Vol4あたり....

>>646
なるほど。styleタグなしでも出来るのネン。

偉そうついでにもう1つ。(意味がわからんが)

>>637で述べているようにXMLHTTPで、他のサイトのソースを引っ張ってきてるんだけど
どうやらtext/htmlは、文字列でしかひっぱて来れないみたい。
つまりresponseXMLでは、text/htmlはXMLパーサが解析しないので、responseTextでしか
引っ張って来れない。(IEでは、documentElementがnullが返ってくる)

で、しょうがないんで、要らないとこ切りとってPタグで囲んで
手っ取り早くouterHTMLを書き換えちゃってます。
そうすると表示はなんとかなったけどDOMで追うと親子関係がめちゃめちゃになってました。
innerHTMLでアラートを表示させても、終タグまで引っ張れてないみたい。

なんで、responseTextをタグごとに抜き出してDOMで再構築してから指定の場所に
appendChildしようか?う〜ん、めんどくさいかな?と思ってるんですが、
なんか、さくっとできる方法ないですかね?

ps 過去レス全部検索かけてたんで遅レスでスマソ。

649 名前:Name_Not_Found 投稿日:2005/05/19(木) 13:17:43 ID:jVzS6Y0P
iframeをボタンを押したときにsrc属性を変えて
Loadしたいんだけどどうすればいいのでしょうか?

とりあえず<div>で囲んだなかに
div.innerHTML = "<iframe src='/cgi-bin/hogehoge.cgi'></iframe>";
というやり方でできたのですが、htmlの中に固定で記述されているiframeに
でやるやり方がわからないのです。



650 名前:Name_Not_Found 投稿日:2005/05/19(木) 13:35:30 ID:???
>>649
そんなもんタグにid振ってdocument.getElementById('ID名').src = 'URI';
でいいんじゃないの?何も調べてないとしか思えないぞ。
>>648
そうなんだよね、HTMLだと文字列でしか返してくれないので困る。
しかし親子関係がめちゃめちゃになるというのはよく分からないな。
文字列が途中で切れているとかなの?または文字列は全部取れるけど
outerHTMLの書き換えが駄目とか?

651 名前:637 投稿日:2005/05/19(木) 14:27:14 ID:???
「親子関係がめちゃめちゃになる」

前言撤回!!

できました。Pタグって終タグ要らないんだね。
取ってきたソース自体についてなかったし・・・
tableでやったら終タグまで出たし、childNodes.lengthも機能した。

ただouterHTMLで置き換えるソースをPタグで囲むと、そのPタグから下が見れないよ。
document.getElementsByTagName("p")[0].childNodes.lengthが0
document.getElementsByTagName("p")[1].childNodes.lengthは正常。
(これはPタグを被せずに置き換えたときの上記item(0)と同じ。)

なんだろうね。

652 名前:Name_Not_Found 投稿日:2005/05/19(木) 14:30:08 ID:jVzS6Y0P
>>650
.src = 'URI';
だけでいいですの?

最初、それをやったんだけどうまくいかなかったから
何かメゾッドを切らないとダメかと思って調べたけど
見つからなかったということでした。
原因をもうちょっと調べよ。

653 名前:Name_Not_Found 投稿日:2005/05/19(木) 14:32:52 ID:???
>>651
もしかしてHTMLを理解してない? Pタグの中に「何が入れられるか」
はきっちり決まっているわけだが…そんなんでDOMって無茶では。
とりあえずPの代わりにdivを使っておいたら。

654 名前:Name_Not_Found 投稿日:2005/05/19(木) 14:36:12 ID:gP2SEHGj
「新しいウィンドウを開いた場合に,そのウィンドウを自動的に閉じる」
ことについてお聞きしたいのですが‥(><)

そのウィンドウがHTML等であれば,
BODY属性等に,setTimeoutを入れれば良いと思いますが,
【例】setTimeout(function() { NewWin.close(); }, 5000);
新しく開くウィンドウを,
HTMLではなく画像等のデータファイルのみにしたい場合,
元のウィンドウ内での HTML か JavaScript の記述によって,
数秒後自動的に新しいウィンドウを閉じるようにする‥
といったことは不可能でしょうか?

655 名前:Name_Not_Found 投稿日:2005/05/19(木) 14:41:30 ID:???
>>654
別に開いた側の窓のスクリプトでできるよ。ただし時間が来る
前にスクリプトが動いている窓から別のページに移動してしまうと
スクリプトが止まってしまうという弱点はあるが。
var w = window.open(...);
setTimeout(function() { w.close(); }, 5000);
>>652 やれやれ、おんぶにだっこかよ。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><title>???</title>
</head><body>
<iframe id="f0" src="http://www.google.com"></iframe>
<p><a href="javascript:document.getElementById('f0').src='http://www.yahoo.com';void(0)">test</a></p>
</body></html>

656 名前:637 投稿日:2005/05/19(木) 14:46:30 ID:???
bodyから見ると、挿入したものがちゃんと繋がったものがすべて表示されるね。
でもchildNodes[0]のPタグは、innerHTMLが空で表示される。
で、その下のchildNodes[0]見ようとするとオブジェクトがないって怒られる。

もちろんgetElementsByTagNameでその下のエレメント(center)を呼び出しても
ちゃんと表示される。

なんだろう?被せたPタグだけ文字コード違うとか????


657 名前:Name_Not_Found 投稿日:2005/05/19(木) 14:49:38 ID:???
はぁ・・・

658 名前:637 投稿日:2005/05/19(木) 14:57:31 ID:???
>>651

「段落を示します。ただし、ブロックレベル要素を含んだり、入れ子にすることもできません。
つまり、P要素の途中でブロックレベル要素を入れる場合は、終了タグを入れた後に
定義するべきです。 また、空のP要素も認められてなく、ブラウザ も無視することが
推奨されています。 」
「文法的にはDIV要素などを使用し、ブロックレベル要素を入れることが正しいものです。 」

こういうことでよろし?(だんだんスレ違いになってきたが)
独学行き当たりばったりなんで、こういうこともあるよ。



659 名前:Name_Not_Found 投稿日:2005/05/19(木) 15:00:30 ID:???
HTML的に正しくないものをinnerHTMLで突っ込んだら
ぐっちゃぐっちゃにならない方がおかしい。もうこのスレの
範囲じゃないな、どっかよそへ逝ってくれ。

660 名前:637 投稿日:2005/05/19(木) 15:07:40 ID:???
DIVに換えたら直りました。

661 名前:654 投稿日:2005/05/19(木) 15:23:09 ID:gP2SEHGj
>>655さま
むむむ‥??(゚〜゚;)ゞ
まだまだ初心者ゆえ理解しきれてませんが,
画像ウィンドウ以外にも,新規ウィンドウを開くということでしょうか?
とにかく方法があるのですね,がんばってみます.

ちなみに,新規で開いたウィンドウをHTMLにして
その中に画像を貼ってしまえば簡単なのですが,
ただ画像が何枚もあると,その分だけHTMLを作るのが面倒だなぁ、、
と思ってお聞きしてみた次第でした.

662 名前:Name_Not_Found 投稿日:2005/05/19(木) 15:28:40 ID:???
>>661
画像ウィンドウをどうやって開いているの。aタグで開くんじゃなく
window.openで開けという意味なんだが。それが分からないならこの
スレで質問する以前のレベルだからチュートリアルでも勉強してきて。
手取り足取り教えることはしないから。

663 名前:Name_Not_Found 投稿日:2005/05/19(木) 15:30:36 ID:???
ちなみに >>655 の「別に」は「別の窓を開く」という意味じゃ
なくて「べつに難しくないよ」というつもりだったのだ…

664 名前:Name_Not_Found 投稿日:2005/05/19(木) 16:52:27 ID:???
ちなみに>>652の【メゾッド】はスルーなのですね。さっきから誰も触れないのですが・・・

665 名前:Name_Not_Found 投稿日:2005/05/19(木) 17:05:10 ID:???
そうだね。日本人なら米だよね。

666 名前:Name_Not_Found 投稿日:2005/05/19(木) 17:13:42 ID:???
フォントが悪くて濁点がよく見えなかった。いや老眼かorz

667 名前:Name_Not_Found 投稿日:2005/05/19(木) 17:48:38 ID:???
でも iframe の src に代入して他のページをうつすとさ、
そのページの onload イベントは帰って来ないよな。
onload したいときは また作って前の消してるわw

668 名前:Name_Not_Found 投稿日:2005/05/19(木) 18:02:51 ID:???
>>667
そりゃ他鯖のページをロードした以上他鯖の窓だから操作
できないもんねえ。しかたないよ。

669 名前:Name_Not_Found 投稿日:2005/05/19(木) 18:32:46 ID:jVzS6Y0P
>>655 ついでにケツも拭いてもらいたいんだけど

それをやるとレスポンスが返っても
IE6のブラウザのレスポンス待ちバー(一番下にある緑色の進捗帯)が
いつまでも表示しっぱなしなのはなぜ。


670 名前:Name_Not_Found 投稿日:2005/05/19(木) 18:40:08 ID:???
>>669
ケツ拭き用にティッシュ置いときますね

  _,,..i'"':,
  |\`、: i'、
  .\\`_',..-i
   .\|_,..-┘

671 名前:Name_Not_Found 投稿日:2005/05/19(木) 18:46:13 ID:???
>>668
ちゃうねん。自分のトコでもできないねん。
・・・?
・・・あれ? やってみたらできた orz

<iframe id="hoge" src="hoge.html">
があったとき、
window['hoge'] の onload は効かないけど
document.getElementById('hoge') の onload は効くのね・・・。
正直スマンかった。

>>655 はなんでわざわざ href の中に javascript: で書いているのだろうw

>>670 流せるようにトイレットペーパーにしておくれ。

672 名前:Name_Not_Found 投稿日:2005/05/19(木) 18:49:06 ID:???
>>671
探してきましたよ

____
Ю)__)
  |´ー`|      (´∀`;)....ヤッターカミガアターヨ
  ~~~~~


____
Ю)__)
  |終了|
  |´ー`|      ....(;´Д`)イヤァァァァッ
  ~~~~~


673 名前:Name_Not_Found 投稿日:2005/05/19(木) 19:08:25 ID:???
>>672 ・・・忘れかけてた駅のトイレでの切ない思い出を思い出した・・・・゜・(ノД`)・゜・

674 名前:Name_Not_Found 投稿日:2005/05/19(木) 19:21:20 ID:???
>>672  切ないなーw  う Д`)

675 名前:Name_Not_Found 投稿日:2005/05/19(木) 19:48:53 ID:???
>>672
ううっ、紙がなくて、チューインガムの包み紙でケツを拭いた過去を思い出した…

676 名前:Name_Not_Found 投稿日:2005/05/19(木) 20:52:34 ID:???
トイレと紙のスレになりますた。

677 名前:Name_Not_Found 投稿日:2005/05/19(木) 21:04:26 ID:WG+bbZem
>>670
>>672

それは>>655に渡してください。

678 名前:Name_Not_Found 投稿日:2005/05/19(木) 21:10:00 ID:???
ここに世話になりだした当初から気になってるんだけど>1
一、ブラクラに打ち勝つ精神力を持つこと
のブラクラって自分で間違って作ってしまったもののこと?
それとも勉強サイト見てる間に引っかかってしまった悪質JSのこと?

679 名前:Name_Not_Found 投稿日:2005/05/19(木) 21:13:24 ID:???
>>678
両方じゃないの?
システム的なブラクラとか精神的なブラクラとか色々あるからのう。

680 名前:654 投稿日:2005/05/19(木) 21:38:55 ID:gP2SEHGj
>>662さま
>>663さま
あ‥こちらの説明が悪かったようですみません.

画像ウィンドウは<A>タグのTarget属性で開いても
Window.openの記述でも,どっちで開いてもいいです.
(両方分かりますw)

でも,新規に開いた方にスクリプトを書くことができれば(=HTMLファイルであれば)
数秒後自動的に閉じる記述をJavaScriptでできるというのは分かりますが,
新規ウィンドウを開く側(=本体の方)のHTML内あるいはJavaScriptの記述で,
数秒でその新規ウィンドウが閉じるようにするのは不可能でしょうか??
‥という質問だったのです.

昼過ぎにはいろいろ検索してみてて,無理ぽいかな‥とは思ったのですが,
もし何か方法があれば‥と思った次第でした.
表現下手ですみません(><)

681 名前:Name_Not_Found 投稿日:2005/05/19(木) 21:47:11 ID:???
>>680 アンタは馬鹿かね? >>655に書いてあるだろ。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><title>???</title>
<script type="text/javascript">
function op(u) {
var w = window.open(u, '_blank');
setTimeout(function() { w.close(); }, 2000);
}
</script>
</head><body>
<p><a href="javascript:op('t0.png')">test</a></p>
</body></html>

ああ、また他人のケツ拭いてしまった… なお、なぜjavascript:uriを
hrefに書くかというと、クリックしろという意味でリンクにしたいし、
リンクならhrefを書かないわけにいかないから。

682 名前:Name_Not_Found 投稿日:2005/05/19(木) 22:06:59 ID:???
javascript 勉強したいんですが、
オススメの書籍教えてください。
目的としては、ウェブページではなく、
firefox の拡張を作ってみたいというものです。
perl と borne sh script くらいは使えますが、
オブジェクト指向はまともにやったことありません。
オライリーの高い奴とかよさげなんですが、どうでしょうか。

683 名前:Name_Not_Found 投稿日:2005/05/19(木) 22:08:57 ID:???
>>681
         _, ,_
         (д`  )     おれのケツも拭いて
         (⊃⌒*⌒⊂)
         /__ノωヽ__)


>>682
サイ本できまり!

684 名前:Name_Not_Found 投稿日:2005/05/19(木) 22:11:52 ID:???
>>682
言語そのものならオライリーは定番だけど、安い方で
「入門JavaScript」でもいいんじゃない。
http://pc8.2ch.net/test/read.cgi/hp/1099736818/217
XUL本とかは洋書ならあるよ。

685 名前:629 投稿日:2005/05/19(木) 22:26:16 ID:???
あんたらのわからないものは馬鹿にしてスルーですか?


686 名前:Name_Not_Found 投稿日:2005/05/19(木) 22:29:22 ID:???
>>685
いや、馬鹿にはしてないよ。本当にどうしょうもないもん。
MSさんが決めることでつ。恨むならMSを恨め。

687 名前:Name_Not_Found 投稿日:2005/05/19(木) 22:32:23 ID:???
>>685
スルーしてねーじゃん。>>630にレスあるだろ。

688 名前:629 投稿日:2005/05/19(木) 22:51:33 ID:???
>>686,687
すみません。てっきり馬鹿にされていると思いました。


689 名前:Name_Not_Found 投稿日:2005/05/19(木) 23:14:19 ID:???
>>681
や、だからさ、
<a href="javascript:op('t0.png')">test</a>
と書くよりだったら、
<a href="t0.png" onclick="op('t0.png'); return false" onkeypress="this.onclick()">test</a>
って書いたほうが、JS使えない環境でもリンク開けてお得だろ? という意味。

690 名前:Name_Not_Found 投稿日:2005/05/19(木) 23:36:25 ID:???
>>689
もちろんそういうのはいいんだけど、あくまでJavaScript動作確認
部分キックするだけだからさ。窓開くとかページ遷移とか、ナビゲーション
に類するJavaScriptコードならあんたのいうように書くよ。

691 名前:Name_Not_Found 投稿日:2005/05/19(木) 23:38:58 ID:???
>>689-690
うげげ、窓開くんだからナビゲーションに類してるな。
まあ自動窓閉じの確認だから勘弁して。

692 名前:Name_Not_Found 投稿日:2005/05/20(金) 01:25:08 ID:???
ってか、ここで質問する奴回答する奴のサイトを1度見てみたいと思わないか?
いったいどんな感じでJavascriptを使ってるんだろうか?

693 名前:Name_Not_Found 投稿日:2005/05/20(金) 01:26:34 ID:???
カンタービレ(歌うように)

694 名前:Name_Not_Found 投稿日:2005/05/20(金) 01:34:40 ID:???
♪Volare, oh oh, cantare, oh oh oh oh
  nel blu dipinto di blu, felice di stare lassu

695 名前:Name_Not_Found 投稿日:2005/05/20(金) 01:55:33 ID:???
イタリア語は板違いですよ。

696 名前:682 投稿日:2005/05/20(金) 02:19:28 ID:???
>>684
どうもです。オライリー本はやはりよさそうですね。
他に薦められたのも本屋で見てみます。サンクス。

697 名前:682 投稿日:2005/05/20(金) 02:20:02 ID:???
>>683 さんもどうもでした。

698 名前:Name_Not_Found 投稿日:2005/05/20(金) 05:59:07 ID:0G8lT6Oq
正規表現で桁埋めをしたいのですがうまくいきません。
どのようにすればいいのでしょうか?宜しくお願いします。
str = document.forms[0].elements[0].options[document.forms[0].elements[0].selectedIndex].text;
str = str.replace(new RegExp(' ',"g"), "0");
<option>  0
<option> 50
<option>100


699 名前:698 投稿日:2005/05/20(金) 06:01:36 ID:???
<option>  0
<option> 50
<option>100
消えてしまったのでoptionの部分です。


700 名前:Name_Not_Found 投稿日:2005/05/20(金) 06:31:32 ID:???
 は¥A0

701 名前:Name_Not_Found 投稿日:2005/05/20(金) 06:34:42 ID:???
document.forms[0].elements[0].selectedIndex って何だよww
for文でループしる。
var op = document.forms[0].elements[0].options;
var leng = op.length;
for (var i = 0; i < leng; i++) { op[i].text = 〜処理〜 }


702 名前:698 投稿日:2005/05/20(金) 07:01:13 ID:???
選択中のtextを参照できればいいので、ループは必要ないと思います。
分からない所はスペーススペース0の時に000としたいのですが
str.replace(new RegExp('スペース',"g"), "0");や
str.replace(new RegExp('; ',"g"), "0");としても
スペーススペース0になってしまいます。
そこの所を教えて下さい。何がいけないのでしょうか?
宜しくお願いします。
>document.forms[0].elements[0].selectedIndex って何だよww
長いということですか?ソースではnameになってます。


703 名前:698 投稿日:2005/05/20(金) 07:07:38 ID:???
[InternetShortcut]
URL=javascript:f=window.document.forms[0].elements;void(f[2].value=unescape("sage"));
これ便利!

704 名前:Name_Not_Found 投稿日:2005/05/20(金) 07:14:47 ID:???
つーか、タグ内の連続スペースはブラウザによって保持されるかわかんないし、
replace より substr 使ったほうがいいんじゃねーの?
str = ('0000' + str).substr(-3, 3); なニュアンス

705 名前:Name_Not_Found 投稿日:2005/05/20(金) 07:16:45 ID:???
>>698
ちゃんと str 変換した後、
document.forms[0].elements[0].options[document.forms[0].elements[0].selectedIndex].text = str;
ってリセットしてる?

706 名前:698 投稿日:2005/05/20(金) 07:56:23 ID:???
外出時刻ですので、帰宅後宜しくお願いします。

707 名前:Name_Not_Found 投稿日:2005/05/20(金) 09:15:23 ID:???
いやだ。

var select_tag = document.getElementByTagName("select")[0];
もしくは      document.forms.0.elements.0
var str = select_tag.options[selece_tag.selected];

の方が見やすくない?

708 名前:Name_Not_Found 投稿日:2005/05/20(金) 09:23:51 ID:???
 付けるとoptiontextの見え方がセンターによってカッコ悪いね。
いくらスペース空けても解釈されないからだろうけど、
桁数決まってるなら>>704みたいに最大必要分だけ"0"付けて
後ろから桁数分刳り貫けば!

つ〜か、何様?おまえら宿題だやっとけってことか?
次スレ立ててこのスレ落としちまえば>>698の慌てふためく顔が見られるぞ。

709 名前:Name_Not_Found 投稿日:2005/05/20(金) 09:48:28 ID:???
var select_tag = document.getElementByTagName("select")[0];
var str = select_tag.options[selece_tag.selected].text;
select_tag.options[selece_tag.selected].text = str.replace(/[\W+]/g,"0");

宿題お〜わりっと

710 名前:Name_Not_Found 投稿日:2005/05/20(金) 09:55:50 ID:???
 付けると→ 付けるとね。

711 名前:Name_Not_Found 投稿日:2005/05/20(金) 10:16:44 ID:???
なんで「選択されてる部分だけ0フォーマットされればいい」のか理解できないんだけど。
そういう要望だからいいけど、不自然。

>>709
[\W+] って何だよ。 + はどっから持ってきた?
っていうか [\W]+ の typoかもしれんが、それだと どれだけあっても 0 が 1桁 しか置換されないぞ。
再提出しなさい。

712 名前:Name_Not_Found 投稿日:2005/05/20(金) 10:21:36 ID:???
しかし
    <option>  0

    <option> 10

   
<option>100



の場合、 options.略.text の部分ってどこまでなんだろうな?

"\s\s0\r\n\t" とかにならないかと不安。 (※ \sは半角スペースとして)
ちゃんと </option> で閉じようなw

713 名前:712 投稿日:2005/05/20(金) 10:23:52 ID:???
なぜか改行とかが変になったw スマンww

714 名前:Name_Not_Found 投稿日:2005/05/20(金) 11:24:11 ID:???
>>712 どこを縦読みでつか
「(゚Д゚)ハァ?optionは閉じタグいらねーんだよバーカ」と帰ってくる悪寒
つか、確かに閉じタグ無いのにtext取れるって微妙に怖いな

715 名前:Name_Not_Found 投稿日:2005/05/20(金) 12:20:25 ID:???
select_tag.options[selece_tag.selected].text = str.replace(/[\W]/g,"0");

+要らんかったね。[\W]+だと  が一まとめで検索に掛かって
gが働かないんだね。ちなみに[\W+]だとなぜかgが機能したのだ。

ところで
str.replace(/(href=')([^h])/ig,"href='http://tv.yahoo.co.jp/vhf/aichi/$2");
の([^h])がうまく機能してくれないんだけど、
                        。 。 。 。  
[^ ]って「〜以外のローマ字」に限定されるの?
それとも数字やその他の文字にも引っかかるのかな?

「h以外の如何なる文字」を表現したいのだが・・・・

716 名前:Name_Not_Found 投稿日:2005/05/20(金) 13:49:41 ID:9uvpe4Ij
JAVA初心者です。
自作H.PでMP3を完全ループで再生したいのですが、
embdタグなどだと、ループ時に無音がはいってしまいます。
FLASH、あるいはJAVAだとH.P.のBGMをMP3で完全ループで再生できると
聞いたのですが、どなたかソースがわかる方いらっしゃいませんでしょうか?
よろしくお願いいたしまする。



717 名前:Name_Not_Found 投稿日:2005/05/20(金) 14:17:13 ID:???
>>716
まず >>1を読め。このスレではJavaもFlashも扱わないんだ。

718 名前:Name_Not_Found 投稿日:2005/05/20(金) 14:52:57 ID:???
>>716
タグ名間違えてる時点で救いよう無いな.
H.Pって何だろうボクワカンナイ

>>1-10 全部読み直せ。この辺のテンプレは常識。

719 名前:654 投稿日:2005/05/20(金) 16:09:27 ID:ZQNz0vKs
>>655さま
>>681さま
はぁはぁなるほど‥
「開いた側の窓」というのを,
「新しく開いたウィンドウ」の意味と勘違いしてました‥(ノ<;)

馬鹿かどうかと言われば,余裕で馬鹿の部類です(泣)
今のレベルは, HTMLは教本読破して,ほぼ理解して(るつもりで),
その本にチョコっと書かれていた簡単なJavaScript文は覚えたところで‥.
そんなやつに丁寧に教えて下さってありがとうございました.

720 名前:698 投稿日:2005/05/20(金) 19:22:57 ID:???
>704
前に足して後ろから3つ取るアイデアはいいと思いましたが、
出来ません。それにスペーススペース0になってしまいます。
for (i = 0;i <= 100;i++) {
document.write(('00' + i).substr(-2,3) + "<br>");
}
>711
>なんで「選択されてる部分だけ0フォーマットされればいい」のか理解できないんだけど。
組み合わせのArray生成スクリプトなので
var Combi105 = new Array(としたいのです。
お陰様で
str = str.replace(/[\W]/g,"0");
で出来ました。アドバイスありがとうございました。
703についてなんですが
移動して入力としたいのですが
URL=javascript:window.open('http://pc8.2ch.net/test/read.cgi/hp/1114774413/l50','_top');f=document.forms[0].elements;void(f[2].value='sage');
URL=javascript:location='http://pc8.2ch.net/test/read.cgi/hp/1114774413/l50';f=document.forms[0].elements;void(f[2].value='sage');
両方ともだめです。
どうすればいいのですか?

721 名前:Name_Not_Found 投稿日:2005/05/20(金) 19:26:41 ID:???
>>715
てゆうか、JSでの \w って単なる [0-9a-zA-Z_] じゃなくて、
日本語の数字とか平仮名とかも入るんだけど、それわかってるのかな?

あとなんでURLで [^h] とかしたいのかわからんw
[^h] これで h 以外のいかなる文字になるが、
例えば
<a href="a.html"> とかしてても、
HTMLの内部的には <a href="http://〜略〜/a.html"> と置き換わってるわけで、
つまりネット上にあると全部 h から始まるわけで、
推測だけど、それ知らないで innerHTML とかやってるからとれねーんじゃねーの? とかどうよ。

722 名前:704 投稿日:2005/05/20(金) 19:37:32 ID:???
>>698
> それにスペーススペース0になってしまいます。

まずソースからスペースなくせよおばかwwww
それか まず先に str = str.replace(/[^0-9]+/, '');
それくらい言われなくても気づkwww

まあできたみたいだからどうでもいいけどね ヽ(;´д`;)ノ

723 名前:Name_Not_Found 投稿日:2005/05/21(土) 01:41:01 ID:???
>>721
>JSでの \w って単なる [0-9a-zA-Z_] じゃなくて、
>日本語の数字とか平仮名とかも入る

実装依存。正しくは、入らない。

724 名前:Name_Not_Found 投稿日:2005/05/21(土) 12:05:44 ID:???
こんにちは。
別フレーム(sita)のフォーム内テキストボックスに2種類数字がかかれていて、その二つを引き算した数をdocument.writeで別フレーム(ue)に出力しようと思っています。

sitaフレームに書かれているものは、
<html><body><form name="menu"><input type="text" value="0" name="goukei1"><input type="text" value="0" name="goukei2">
</form></body></html>

ueフレームに書かれているのは
<html><head><script language="JavaScript">
var zankin;
var tanomi;
var tounyuu;
parent.sita.menu.goukei1.value = tanomi;
parent.sita.menu.goukei2.value = tounyuu;
zankin = tounyuu - tanomi;
</script></head><body>
<script language="JavaScript">
document.write("あと",zankin,"円残っています");
</script></body></html>

ueフレームには、あとundefined円残っています、と出ます。

ueフレームは、このhtmlページに移る前にsitaフレームのテキストボックスを操作しているので、0-0という訳ではないです。
変数の扱い方が苦手なので…。
ちなみに、デザインを考える課題なので、ウェブショップに応用するつもりはないので、厳密に考えなくていいです(藁
アドバイスお願いします。

725 名前:Name_Not_Found 投稿日:2005/05/21(土) 12:54:18 ID:???
各フレーム内のドキュメントの読み込みは非同期なので、
フレームをまたがるスクリプティングには注意。

HTML要素がスクリプト上で定義、操作できる完全な保証はそのドキュメントを含むwindowオブジェクトのonloadイベント以後。
従って、1つのフレーム内スクリプトが他方のフレーム内ドキュメントのHTML要素にアクセスするにはそのonloadイベント以後でないといけない。

またどの時点で計算をするのか?
1文字入力しただけで計算するわけではないだろう?

1つの<SCRIPT>ブロックは1度ブロック内を全て読み込み、関数外でダイレクトにステートメントを書いたものは即、実行される

そこも理解しよう。
なんにしてもDHTMLオブジェクトのイベントを調べてみよう。

726 名前:Name_Not_Found 投稿日:2005/05/21(土) 12:58:33 ID:???
>>724
流れに無理がある。>>725が言うように、読み込んだ後に処理をしないと無理かと
自分も良く分からなかったんで、試しに読み込んだ後、上のフレームに適当にボタンを作って
そのボタンを押すと下のフレームの menu.goukei1 の値を変える処理をしたら出来た
あと、tanomi と tounyuu の値が決まっていないんで、いきなり値の計算をされても困るかと

727 名前:715 投稿日:2005/05/21(土) 15:42:49 ID:???
舌足らずで、ゴメンなさいね。

>HTMLの内部的には <a href="http://〜略〜/a.html"> と置き換わってるわけで、
>つまりネット上にあると全部 h から始まるわけで、

>>648で言っているような形でXMLHTTPのresponseTextの編集の話。
実行環境が、ローカルなんで相対参照はローカルを読みこむことになる。
サイトに挙げたところで、参照先は自分のURLで、決してimg/tv.yahooではない。
なんで、innerHTMLやる前に絶対参照に書き換えてるのさ。
で、YahooTVのサーバー上の処理コードが統一されてないので、
絶対参照の「”」「’」囲み/囲みなしや、相対参照の「”」「’」が混在してるの。
なんで色々正規表現を入れてるわけ。
で、これは最後の正規表現で、ほぼ絶対参照に変わってるんだけど、
href="20050521.html・・・・"のみ残ってるんで、それを換えていわけさ。
>>723そうみたいね。([~h]|\d)でやってます。

ちなみに
function optimizeLinks(str){
   str = str.replace(/=(\'?)\//ig,"=$1http://tv.yahoo.co.jp/");
   str = str.replace(/(href=)[\.](\/)/ig,"$1http://tv.yahoo.co.jp/vhf/aichi//tv.yahoo.co.jp/vhf/aichi$2");
*  str = str.replace(/(href=['|"])([^h]|\d)/ig,"$1http://tv.yahoo.co.jp/vhf/aichi///tv.yahoo.co.jp/vhf/aichi/$2");
*  str = str.replace(/(href=)([^h|="|~']|\d)/ig,"$1http://tv.yahoo.co.jp/vhf/aichi///tv.yahoo.co.jp/vhf/aichi/$2");
   return str;
}
今のところのこれでやっとります。
ついでに、
"/vhf/aichi/"をoptimizeLinksの引数で持ちたいんだけど、
持たせた時に*はどうかけば良いのですか?$1みたいな、
正規表現メンバにあらかじめ入れとけますか?

728 名前:715 投稿日:2005/05/21(土) 15:45:09 ID:???
Javascriptなんで×メンバ○プロパティでした。

729 名前:715 投稿日:2005/05/21(土) 15:53:46 ID:???
var tanomi = parent.sita.menu.goukei1.value;
var toukyuu=parent.sita.menu.goukei2.value = tounyuu;
var zankin = toukyuu-tanomi;

右から左に代入、これ基本。

ハイ!おじさん、今良い事言った。家訓にするように!

君がやってるのは、初期化してないゴミ値を、inputのvalueに代入。
ゴミ値を加算。合計を恐れ多くも「document.write」で表示。
>>2嫁。以上。

730 名前:Name_Not_Found 投稿日:2005/05/21(土) 15:54:55 ID:n/RXIpEi
ページを三つのフレームに分割して、一つのフレーム内にあるリンクをクリックすると、残り二つのフレームの内容が同時に書き換えられるようにしたいと思っています。
また、リンク1をクリックすると、残り二つのフレームがそれぞれのリンク1の内容を表示し、リンク2をクリックするとリンク2の内容を表示するようにしたいと考えています。

そのために使ったスクリプトです
<script type="text/javascript">
<!--
function func() {
top.FRAME1.location.href = "aaa.htm";
top.FRAME2.location.href = "bbb.htm";
return false;
}
// -->
</script>
<a href="#" onclick="return func()">XXX</a>

これだと、二つのフレームの内容を同時に書き換えることはできますが、二つ以上のリンクに適応することができません。
同じページの中に、複数のフレームの内容を書き換えるリンクを、二つ以上設置するにはどうすれば良いでしょうか?


731 名前:Name_Not_Found 投稿日:2005/05/21(土) 16:26:05 ID:???
>>730
1. リンクの数だけ複数個の関数を用意する
2. 引数に何らかの値を渡して識別する
3. Event オブジェクトから対象のリンクを識別する

732 名前:Name_Not_Found 投稿日:2005/05/21(土) 16:27:47 ID:???
>>727
>723そうみたいね。([~h]|\d)でやってます。

721の指摘は \w だけでなく、\d にも言える。
Firefoxの実装とは言え、ECMA262-3に対してはバグである。
このバグが問題にならなくて、XMLHTTPということは、JScriptオンリーだろうと分かる。
715がJScriptであることを先に書いておけば、721は勘違いをしなかったはず。

733 名前:Name_Not_Found 投稿日:2005/05/21(土) 16:40:46 ID:???
>725-726様、アドバイスありがとうございます。
tanomi = eval(parent.sita.menu.goukei1.value)
tounyuu = eval(parent.sita.menu.goukei2.value)
document.writeを任意のファンクションで囲み、onload
としたら、なぜかうまくいきました。
(evalもよくわからない…)

話ぶったぎってすみません、もたもたしてて・・・
<html><head><script language="JavaScript">
function calc(){
a = eval(parent.sita.menu.goukei1.value);
g = eval(parent.sita.menu.goukei2.value);
h = g - a;
if(h < 0){
alert('お金が足りません');
}else{
window.location.href="終わりページ.html";
}
}
</script></head><body><a href="javascript:calc()">やる</a></body></html>

どんなときも、location.hrefだけ適用されてしまいます。
アラートが出てページ飛びは思いとどまる、としたいのですが…

734 名前:Name_Not_Found 投稿日:2005/05/21(土) 17:06:11 ID:???
>>733
eval() は式評価。そこでは普通に数値にしてくれるものだと思えば問題ない。
>どんなときも、location.hrefだけ適用されてしまいます。
そのスクリプトを試してみたら、アラートが出た場合はページは飛ばなかったが

735 名前:715 投稿日:2005/05/21(土) 17:47:19 ID:???
>>732
急に話が難しくなったね。突いてけない部分が・・・

つ〜か<script language=Javascript>にしているんだけど、
これだとホントはohttp=new ActiveXObject("MSXML2.XMLHTTP");
とかやっちゃいけないの?



736 名前:Name_Not_Found 投稿日:2005/05/21(土) 17:59:50 ID:???
>>727
そろそろDOM使えよww
innerHTML より実装依存少なくて遥かに楽だぞ。
innerHTML だと自分の書いたソースじゃなくてブラウザのソースになったりするし。
その正規表現で場合分けとか意味ネエヨ。

それと置換前後の文字列を alert() なりなんなりで確認すれば、質問なんぞしなくても解決できるだろ。
引数持つ場合のは str.replace(/(.*)/, function ( ... ) { ... } ); でいろいろやってみ。
function () {} 内はクロージャー効くし、やればできるだろ。
で、これ以降君のアホい質問はほぼスルーするんでよろしく。


>>733
<a href="javascript:calc()">
ジャンプしたくなかったら、この部分からまず何とかしなさいw
oncick にするとか 関数内に return false 入れるとかどうとか。

737 名前:730 投稿日:2005/05/21(土) 18:06:56 ID:???
>>731
1. リンクの数だけ複数個の関数を用意する
とゆう方法を調べてみたら、簡単に解決することができました。
初歩的な質問に親切に答えてくれて、ありがとうございます。

738 名前:Name_Not_Found 投稿日:2005/05/21(土) 18:16:28 ID:???
>>737 お前すごいな。 おれたちにできないことを平然とやってのける

739 名前:715 投稿日:2005/05/21(土) 18:31:45 ID:???
>そろそろDOM使えよww

あのさ、responseTextで仕方なく受け取ってるって言ってるじゃんよ・・・・(>>648嫁家)
つまり文字列なわけさ。
DOMで普通にcreateElementして,createTextNodeに入れて、appendChildすると
文字列ですべて表示されちゃうの。デバックには使えたけど、意味ないし。

どうせ今回のはIEしか使わないんで、innerHTMLにいれれば
IE側で勝手にノードを認識してくれるみたいなんでこうしてあるだけ。

文字列のノードを分析して要素・属性を組みなおすようなコード書けってか?

まあcreateTextCode以外に子ノードを一括登録できる【メゾッド】があれば吝かではないが・・・・



740 名前:Name_Not_Found 投稿日:2005/05/21(土) 18:34:24 ID:???
>>736のレスは放置しとけ、どっちもいい加減だし

741 名前:Name_Not_Found 投稿日:2005/05/21(土) 18:45:26 ID:???
>>739 メゾット・・・

742 名前:Name_Not_Found 投稿日:2005/05/21(土) 18:48:07 ID:???
>>739 お前が 648 だなんて記述どっかにあったか?
どのレスがお前が書いたものなのか一貫してなくてわかんねーよw

743 名前:Name_Not_Found 投稿日:2005/05/21(土) 18:49:55 ID:???
>>741
ちゃうちゃう、メゾッドだよ、メゾッドw

おれはメゾッドより、リゾットがいいな…

744 名前:715 投稿日:2005/05/21(土) 18:50:29 ID:???
>>741>>652>>664
さすがに週末は食いつきがいいね!

745 名前:Name_Not_Found 投稿日:2005/05/21(土) 18:50:57 ID:???
innerHTML で一旦入れてから、DOM使う、ってのはどうかな? できるかわからんけど。

746 名前:Name_Not_Found 投稿日:2005/05/21(土) 18:54:25 ID:???
>>743 おれはメタリカがほしいな…

747 名前:715 投稿日:2005/05/21(土) 18:58:14 ID:???
>>wキモ君へ
>お前が 648 だなんて記述どっかにあったか?
→> >>648で言っているような形でXMLHTTPのresponseTextの編集の話。
これ以上話が進まなければヌルーします。

で、子ノードを一括登録できるようなメソットあるわけ?

748 名前:715 投稿日:2005/05/21(土) 19:10:00 ID:???
>>745
なぜか出来ました。(>>637-660
=innterHTML;
→表示画面に反映される
→ここでDOM解析すると出ました。
ここらへんのからくりもエロイ人に解説してもらいたいのだが・・・

749 名前:Name_Not_Found 投稿日:2005/05/21(土) 19:10:00 ID:???
いい具合に荒れてきました!

750 名前:724=733 投稿日:2005/05/21(土) 19:21:15 ID:???
>>734
わかりやすいeval()の解説ありがとうございます!
実はこれでのcalc()の中身は、
function calc()
{
a = eval(parent.sita.menu.goukei1.value);
b = 520;
c = a + b;
parent.sita.menu.goukei1.value = c;
g = eval(parent.sita.menu.goukei2.value);
h = g - a;
if(h < 0){
alert('お金が足りません');
}else{
window.location.href="終わりページ.html";
}
}
としようと思っているのです。
menu.goukei2には、このページが表示される前の段階で500が入ってるとして、
どう工夫すれば、menu.goukei2-menu.goukei1が0未満になった場合にアラートが出るようになるでしょうか…。

>>736
<a href="javascript:calc()">、って、まずいのですか?今まで普通に使ってた…(´д`;;)

751 名前:Name_Not_Found 投稿日:2005/05/21(土) 19:49:17 ID:???
入力して決定ボタンを押す前に入力フィールドのフォーカスが外れたら判別ってこと?

on〜を色々と調べてみれば?
つ〜かおまえはどこまでも手取り足取り教えて君のままだな。

http://web2ch.s31.xrea.com/index.php?JavaScript%A4%CE%BC%C1%CC%E4%CD%D1%A5%B9%A5%EC%A5%C3%A5%C9%2F%B4%D8%CF%A2%A5%EA%A5%F3%A5%AF
の中にあるサイト全部熟読してからもう少しマシな質問をしにこい。

752 名前:Name_Not_Found 投稿日:2005/05/21(土) 19:53:18 ID:???
>>750
何したいかよく掴めてないんだけど
h = g - a;
であってる?
h = g - c;
じゃなく?

とりあえず script の最初の方で
var g1 = eval(parent.sita.menu.goukei1.value);
var g2 = eval(parent.sita.menu.goukei2.value);
ってやって、なんかの処理して、最後に結果として
parent.sita.menu.goukei1.value = g1;
って書いたほうが整理しやすいと思うけど。

753 名前:Name_Not_Found 投稿日:2005/05/21(土) 19:54:52 ID:???
>>750
goukei1 goukei2 にそれぞれ何の値が入るのか、はっきりさせた方が良い
受けてのこっちはさっぱり分からんし、goukei2 を 0 のままにして
そのスクリプトを実行すると、goukei1 にどんどん520が追加されていっている

754 名前:750 投稿日:2005/05/21(土) 21:09:47 ID:???
>>751
スマソ。>>724の続きなのです

>>752
h = g - c;
にしたら解決しました…!
すいません、ケアレスミスの人間なのでorz
>>750に書いたファイルがueという名前のフレームに表示されて
sitaフレームにあるgoukei1,goukei2のフォームに書かれている数を比べ、
(goukei1は欲しいものの金額、goukei2は実際に入れた金額(前もって入れる動作があります)
goukei1>goukei2となったら買えない、とエラーが出、下回ったら追加注文のページに飛ぶようにしたかったのです。

>>753
実際は色んな値段のメニューが沢山あって、その中から520円のメニューを例えば選ぼうとして>>724のページに行き、
<a href="javascript:calc()">買う</a>/<a href="javascript:history.back()">戻る</a>
という感じです。
恥ずかしかったので実際のファイルをかなり削ったのでよくわからなくなってしまったです;;ごめんなさい;;
多分、戻るの時にgoukei2から520を引こうと思っています。

755 名前:Name_Not_Found 投稿日:2005/05/21(土) 21:46:35 ID:???
>>754
やりたいことは分かったが、いちいちページを移動させなきゃならんのはなぜ?
上下に分けるのも必要なことだろうか?それともそれは課題の条件とか?
メニューを選択して、そのメニューの値段に応じて所持金から差し引く計算をする
スクリプトが重要なんでは?
清算したとき、注文したメニューの金額が所持金を上回った場合
お金が足りないというアラートを出すんだよね?
複雑なことはせず、まずその仕組みから作った方が良い
もう少し JavaScript で出来ることと仕組みを知った方が良いかも

756 名前:Name_Not_Found 投稿日:2005/05/22(日) 04:52:37 ID:???
>>754
フレームを使う場合、一方が読み込まれてなかったり、予期しない
ページを表示していたりする可能性があるので、アクセスは慎重に
行った方がいい。

オブジェクトがあるかどうかも確認せずにいきなり参照するのは
よくない。ピリオドでつなげたどこかが null や undefined になってると、
そこでスクリプトエラーが発生する。

特にスクリプトと同じページ以外の document オブジェクト以下には
アクセスしない方がいい。
共用の変数は parent のメンバー変数にするとか、もっと安全に書く
方法はいろいろある。

757 名前:Name_Not_Found 投稿日:2005/05/22(日) 05:33:39 ID:???
<a href="javascript:〜"> からしかJavaScriptを実行できないと思い込んでいるとか・・・。


758 名前:Name_Not_Found 投稿日:2005/05/22(日) 08:03:54 ID:???
var ar1 = new Array("a","b","c","d");
var ar2 = new Array("0","1","2","3");
上から下の二次元配列をpush()を使って、どう作ればいいのでしょうか?
a0,a1,a2,a3
b0,b1,b2,b3
c0,c1,c2,c3
d0,d1,d2,d3
宜しくお願いします。


759 名前:715 投稿日:2005/05/22(日) 09:00:23 ID:???
var ar1 = new Array("a","b","c","d");
var ar2 = new Array("0","1","2","3");

var one_dimention =new Array();
for(i=0;i<ar1.length;i++){
var two_dimention = new Array();
for((j=0;j<ar2.length;j++){
two_dimention.push(ar1[i].concat(ar2[j]));
}
one_dimention.push(two_dimention);
}
var str="";
for(i=0;i<one_dimention.length;i++){
for(j=0;j<one_dimention[i].length;j++){
str = str + one_dimention[i][j] + ",";
}
str = str.substring(0,str.length - 2) + "\n";
}
str = str.substring(0,str.length - 2);
alert(str);

若しくは
while(one_dimention.length == 0){ //l配列が無くなるまで
var two_dimention = one_dimention.pop(); //pop()は、末尾から取り出す(取り去る)ので注意。
while(two_dimention.length == 0){      //取り去ったものを返します。
str = two_dimention.pop() + "," + str;      //なんでd3から順に入力して行くことになる。
}
str = "\n" + str;
}
str = str.substring(1,str.length-1);
alert(str);


760 名前:715 投稿日:2005/05/22(日) 09:05:33 ID:???
×str = "\n" + str;
○str = "\n" + str.substring(0,str.length-2);
かな?多分行末に点が出ちゃうね。

761 名前:715 投稿日:2005/05/22(日) 09:15:13 ID:???
多分ダメだ。
while(one_dimention.length == 0){
var two_dimention = one_dimention.pop();
str= two_dimention.pop() + str;
while(two_dimention.length == 0){      
str = two_dimention.pop() + "," + str;      
}
str = "\n" + str;
}
str = str.substring(1,str.length-1);
alert(str);
これが正解。すべてデバックしてないけど・・・

two_dimentionの使いまわしが気になった方は、宣言場所とスコープ確認。
(でも本人もさほど分かってないから、こういう使い方はいけないかも・・・)

762 名前:759 投稿日:2005/05/22(日) 09:44:21 ID:???
ありがとうございます。よく分かりました。

763 名前:Name_Not_Found 投稿日:2005/05/22(日) 11:39:24 ID:???
何をぐっちゃぐっちゃやってるのか理解できないんだが。
: var ar1 = new Array("a","b","c","d");
: var ar2 = new Array("0","1","2","3");
: 上から下の二次元配列をpush()を使って、どう作ればいいのでしょうか?
: a0,a1,a2,a3
: b0,b1,b2,b3
: c0,c1,c2,c3
: d0,d1,d2,d3
だったらこうだろ、普通。
var a = new Array();
for(var i = 0; i < ar1.length; ++i) {
var b = new Array(); a.push(b);
for(var j = 0; j < ar2.length; ++j) b.push(ar1[i] + ar2[j]);
}

764 名前:Name_Not_Found 投稿日:2005/05/22(日) 12:19:40 ID:???
なにか見落としてるみたいで、うまく動かないので、教えて下さい。
以下の様な2つの select 要素があります。

<SELECT id="parent" name="parent" size="1">
<OPTION VALUE="1">1</option>
<OPTION VALUE="2">2</option>
<OPTION VALUE="3">3</option>
<OPTION VALUE="4">4</option>
</SELECT>

<SELECT id="child" name="child" size="1">
</SELECT>

parent にある option ノード全て child にコピーしたいので、
以下の様なコードを実行してみましたが、

function duplicate() {
 var clone = document.getElementById("parent").cloneNode(true);
 for (var i = 0; i<clone.childNodes.length; i++){
   document.getElementById("child").appendChild(clone.childNodes[i]);
 }
}

結果は奇数番目がコピーされるだけなんです。
clone.childNodes.length はちゃんと4だけれど、
カウンタの i は2回、回っておしまいになります。


765 名前:Name_Not_Found 投稿日:2005/05/22(日) 12:29:43 ID:???
もういっこどっかにi++があって見落としているとかじゃないの?

766 名前:764 投稿日:2005/05/22(日) 12:33:20 ID:???
for の最初と最後に alert で i を確認しても、2回ずつ 0 と 1 とだけ出るんですよね。

767 名前:Name_Not_Found 投稿日:2005/05/22(日) 13:04:06 ID:???
>>764
そう書けば、そう動作するぜ。間違ってはいない。(まぁ、本人としては違うんだろうけど)

768 名前:Name_Not_Found 投稿日:2005/05/22(日) 13:13:54 ID:???
appendChidするとそのノードは親から取り除かれるから
番号も1つずつ繰り上がる。だからそのループは
while(clone.childNodes.length > 0)
getElementById(...).appendChild(clone.firstChild);
でいいわけかな。

769 名前:766 投稿日:2005/05/22(日) 13:14:46 ID:???
コレではダメで、
for (var i = 0; i<clone.childNodes.length; i++){
  document.getElementById("child").appendChild(clone.childNodes[i]);
}

以下の2つはうまく行きます。

for (var i = 0; i<clone.childNodes.length; i++){
  var tempEle = document.createElement("option");
  tempEle.text = clone.childNodes[i].text;
  tempEle.setAttribute("value", clone.childNodes[i].value);
  document.getElementById("child").appendChild(tempEle);
}

for (var i = 0; i<clone.childNodes.length; i++){
  var tempEle = document.createElement("option");
  tempEle.text = clone.item(i).text;
  tempEle.setAttribute("value", clone.item(i).value);
  document.getElementById("child").appendChild(tempEle);
}

>>767
結果的には自己解決しましたけど、
意地悪言わずになんでそうなのか教えて下さいよ。

770 名前:769 投稿日:2005/05/22(日) 13:16:17 ID:???
>>768
なるほど、丁寧な説明ありがとうございました。

771 名前:767 投稿日:2005/05/22(日) 13:17:19 ID:???
意図(多分)した様にやろうとするとこんな感じか?

var clone = document.getElementById("parent"); 参照をcloneに渡してる
var len = clone.childNodes.length;
for (var i=0; i<len; i++) {
target.appendChild(clone.childNodes[i].cloneNode(true)); 参照が指してる先をコピーして追加
}

実体が動く、コピー、参照の違いを考えて見るよ良いよ。

var clone = document.getElementById("parent").cloneNode(true); コピーを渡してる
for (var i = 0; i<clone.childNodes.length; i++){ コピーの長さを毎回計算
document.getElementById("child").appendChild(clone.childNodes[i]); コピーの一部を移動、結果、コピーの長さが変る
}

意地悪じゃなく、書くのに時間がかかってるんだけどね。 しくしく…

772 名前:Name_Not_Found 投稿日:2005/05/22(日) 13:21:24 ID:???
>>764
あと、
for (var i = 0; i<clone.childNodes.length; i++){ …
これは、コストが掛かるから止めたほうが良いかも。まぁ実用上どうって事は無いけど。
今回みたいな副作用(?)も出るし。

773 名前:770 投稿日:2005/05/22(日) 13:31:30 ID:???
>>771
うっかりした事言ってすいません。わかりやすかったです。ありがとうございます。

何となく、ですけど、768 さんのやり方のほうが iterator っぽいし綺麗なので、
そっちを使うと思いますけど、771 さんが “参照が指してる先をコピーして追加”
とした方がメモリの使用量は少なくて済む、ってことであってます?

774 名前:Name_Not_Found 投稿日:2005/05/22(日) 13:41:31 ID:???
>>773
実装しだいって気がするから、どうとも言えないけど…
まぁ、別に気にする程の事でもないと思うよ。

775 名前:773 投稿日:2005/05/22(日) 14:23:35 ID:???
ちょっと気になったので、時間を測ってみました。
500行の option エレメント(18543 byte)を 10回コピー

1)親の clone を作ってその childNodes を子に appendChild する
2)親の childNodes.length の分だけ親の childNodes の clone を子に appendChild する

というスクリプトを Mac と Win で、それぞれ2種類のブラウザで、3回ずつ走らせてみました。
以下は平均で、小数点以下切り捨て。

1)
Win: IE 6
  18316 ms
Win: Firefox
  1529 ms
Mac: Safari 1.3
  794 ms
Win: Firefox
  4879 ms

2)
Win: IE 6
  27382 ms
Win: Firefox
  931 ms
Mac: Safari 1.3
  1123 ms
Win: Firefox
  2530 ms

フゥム。IE 遅!!

776 名前:775 投稿日:2005/05/22(日) 14:25:09 ID:???
スマソ。どちらも Mac: Safari の後の Firefox は Mac 版です。orz …

777 名前:Name_Not_Found 投稿日:2005/05/22(日) 14:29:04 ID:???
時間計るのならマシンスペックも書かないと駄目でしょ。

778 名前:776 投稿日:2005/05/22(日) 14:36:34 ID:???
えぇと、
PowerMac G5 Dual 2GHz / Mac OS X 10.3.9
IBM ThinkPad X31 Pentium M 1.3GHz / Windows XP Home SP2
です。

779 名前:Name_Not_Found 投稿日:2005/05/22(日) 16:00:21 ID:???
>>764
それ、本当にそのままのHTMLソースだけなら…

var clone = document.getElementById("parent").cloneNode(true);
target.childNodes = clone.childNodes;

でもいけるんじゃないかな。

780 名前:Name_Not_Found 投稿日:2005/05/22(日) 16:58:03 ID:2v81LFAA
下記のような形で<a>の情報をまとめて取得して
それぞれにfadein fadeoutを割り当てるjavascriptを組みたいのですが、

ie = (document.all)?true:false;
a = document.getElementsByTagName("a");
//設定
for(var i=0 ; i<a.length ; i++){
focus="#ff6600";
normal="#330000";
a[i].onmouseover = fadein;
a[i].onmouseout = fadeout;
}
//呼び出し
function fadein(e){
var obj = (ie)?event.srcElement:e.target;

}

という処理を作り、IEでは動いたのですが、NN7では動きませんでした。
何故だろうと中のオブジェクトの値を調べてみると、
a[i]で取得した値とe.targetで取得した値に微妙な相違がありました。

このe.targetというやり方は雑誌か何かで載っていた方法だったので詳しく知らないのですが、
最初に配列に入れたdocument.getElementsByTagName("a");の配列とは違うものなのでしょうか?
だとするとこの場合のe.targetはいったい何を参照しているのかわかりますか?
※長文ですみません…。

781 名前:Name_Not_Found 投稿日:2005/05/22(日) 17:40:30 ID:???
>>780
例えば、<a>aaa<b>bbb</b><img></a> の時、
srcElementやtargetが、<a>要素オブジェクトとは限らない。
単純に、<a>aaa</a> であったとしても、厳密なブラウザなら、
targetがTextオブジェクトになるよう実装されているだろう。

var obj = ie? event.srcElement: e.target
で取得したら、それが<a>要素オブジェクトかどうか確認する。
while ( ! obj.href) {
obj = obj.parentNode || obj.parentElement;
if ( ! obj) return;
}
みたいに。

782 名前:Name_Not_Found 投稿日:2005/05/22(日) 18:03:43 ID:???
> while ( ! obj.href)
古いOperaがなんでもかんでもにhrefやsrcをつけているのを思い出した。
while ('A' != obj.tagName) の方が好ましいかもしれない。
application/xhtml+xmlも考慮するなら、
while ('string' != typeof a.tagName || 'A' != a.tagName.toUpperCase())
としておけばよし。

783 名前:Name_Not_Found 投稿日:2005/05/22(日) 18:08:22 ID:???
× a.tagName
○ obj.tagName
orz..

784 名前:780 投稿日:2005/05/22(日) 18:30:16 ID:2v81LFAA
>>781-783
行けました。
理解するのに時間が掛かってしまい、レスが遅くなりました。
自分のやり方のままだとaがテキスト扱いになってしまっていたんですね。
色々と本当にありがとうございました。

785 名前:Name_Not_Found 投稿日:2005/05/22(日) 19:54:25 ID:???
↓なんか面白いゲームができるスクリプトでも書いて

786 名前:Name_Not_Found 投稿日:2005/05/22(日) 20:15:28 ID:???
1分以内に捕まえられなかったらニブイ。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
var timeid, elt;
function init() {
elt = document.getElementById('d0'); timeid = setInterval(step,500);
}
function step() {
elt.style.left = (400*Math.random())+'px';
elt.style.top = (400*Math.random())+'px';
}
function stop() { clearTimeout(timeid); alert('Congraturations!'); }
</script>
</head><body onload="init()">
<div id="d0" onclick="stop()"
style="position:absolute;border: blue solid 4px;width:20px;height:20px">
</body></html>

787 名前:Name_Not_Found 投稿日:2005/05/22(日) 20:16:49 ID:???
げげ、スペルconguratulationsだな。恥だスマソ。

788 名前:初心者 投稿日:2005/05/22(日) 20:50:11 ID:???
<html>
<head>
<script language="JavaScript">
function calc(f){
f.z.value = eval(f.x.value)*500 + eval(f.y.value)*1000;
}
</script>
</head>
<form method="post">
<input type="button" value="計算" onclick="calc(this.form)"><br>
<input type="text" size=10 name="x"><br>
<input type="checkbox" name="y"><br>
<input type="text" size=10 name="z"><br>
</form>
</html>
この計算がうまくいきません。チェックボックスって、チェックされると
1の値を返すのではないんですか???



789 名前:Name_Not_Found 投稿日:2005/05/22(日) 21:10:27 ID:???
>>788
チェックされた、されていないを判別する値としてcheckedにて true か false を返すが?


790 名前:Name_Not_Found 投稿日:2005/05/22(日) 21:14:36 ID:???
>>788
とりあえず試しにこれを入れてチェックを入れたり外したりしてみ
チェックされたかされていないかの状態(値)を true か false になっているのを
アラートで知らせるだけのものだが
<input type="checkbox" name="y" onclick="alert(this.checked)">


791 名前:初心者 投稿日:2005/05/22(日) 21:41:26 ID:???
>>790
チェックされた状態だと、trueで チェックを外した状態では falseに
なってます!!  trueだと 1の値を返すんじゃないんですか??
勘違いならすいません・・・・

792 名前:Name_Not_Found 投稿日:2005/05/22(日) 21:47:45 ID:???
>>791
どこでそんなデタラメを吹き込まれたんだ?

793 名前:Name_Not_Found 投稿日:2005/05/22(日) 21:58:36 ID:???
>>791
0と1っていうのはC言語の世界の話だな。JavaScriptはCじゃないんだ。
その「初心者」っていうのやめれ。不勉強の言い訳なんか見たくない。

794 名前:Name_Not_Found 投稿日:2005/05/22(日) 22:03:05 ID:???
>>792 perlと混同してました・・・・
>>793 はい。気をつけます。

それでは、チェックボックスを使った見積書をつくりたいんですけど
無理ですかね??? 1を返してくれるのなら できると思ったのに・・・

795 名前:Name_Not_Found 投稿日:2005/05/22(日) 22:04:05 ID:???
true/falseに基づいて数値を使いたいのなら素直に
「(f.x.value ? 500 : 0)」とか「(f.y.value ? 1000 : 0)」とか
書けばいいじゃん。たとえCであっても、0/1を前提に掛け算する
なんてダサイよ。evalもダサイしね。

796 名前:Name_Not_Found 投稿日:2005/05/22(日) 22:10:56 ID:???
>>795 助かります。参考にします!! あと、やっぱもっと勉強します!!


797 名前:Name_Not_Found 投稿日:2005/05/22(日) 22:19:49 ID:???
f.y.value って、そもそも↓に value が設定されてないやん
チェックされていたら計算するしないの条件文を入れるとかで対処するとか
<input type="checkbox" name="y"><br>

798 名前:Name_Not_Found 投稿日:2005/05/22(日) 22:24:11 ID:???
そうか、f.y.value ? 1000 : 0 → f.y.checked ? 1000 : 0 だよな。

799 名前:Name_Not_Found 投稿日:2005/05/22(日) 22:24:15 ID:???
<html>
<head>
<script language="JavaScript">
function calc(f){
f.z.value = eval(f.x.value)*500 + (f.y.value ? 1000 : 0)
}
</script>
</head>
<form method="post">
<input type="button" value="計算" onclick="calc(this.form)"><br>
<input type="text" size=10 name="x"><br>
<input type="checkbox" name="y">
<br>
<input type="text" size=10 name="z"><br>
</form>
</html>
これだと、チェックしててもしてなくても結果は変わりません・・・
修正してもらえないですか???  お手数かけてすいません

800 名前:Name_Not_Found 投稿日:2005/05/22(日) 22:26:39 ID:???
f.z.value = parseInt(f.x.value) + (f.y.checked ? 1000 : 0);

801 名前:Name_Not_Found 投稿日:2005/05/22(日) 22:27:58 ID:???
修正も何も目的がはっきりと分からん。あと
><form method="post">
CGIを使うのか?

802 名前:Name_Not_Found 投稿日:2005/05/22(日) 22:37:40 ID:???
整数とも限らないのにparseIntでeval否定する香具師キター!?

803 名前:Name_Not_Found 投稿日:2005/05/22(日) 22:42:34 ID:???
>>800さん これでも、チェックされてもチェックされてなくても
必ず1000の値が返されてしまいます・・・

>>801 したいことを下手な例えでしますと、一つ目のフォームは
500円の機械を何個買うかを決め、二つ目のフォームは 1000円でその機械が
壊れたときのために 保険に入るかどうかを決める!! って感じです。
3つ目のフォームはその合計金額です!! 修正の目的はチェックボックスが
チェックしててもしてなくても結果が変わらないので それを修正したいです。
CGIは使いません。

804 名前:Name_Not_Found 投稿日:2005/05/22(日) 22:47:40 ID:???
>>803
それじゃ>>799のソースの
>f.z.value = eval(f.x.value)*500 + (f.y.value ? 1000 : 0)
これを>>800
f.z.value = parseInt(f.x.value) + (f.y.checked ? 1000 : 0);
に置き換えればOKだが、試してみたかな?
要するにここではチェックされていれば 1000 を足す、されてなきゃ0を足すという
条件文が入っているんだが、ちょっとこれだと何も知らん初心者には分かりづらいかな
? で ture と false のときの条件分岐がされているわけなんだが

805 名前:Name_Not_Found 投稿日:2005/05/22(日) 22:55:15 ID:???
ture って、true やんけw

806 名前:Name_Not_Found 投稿日:2005/05/22(日) 22:58:27 ID:???
>>804さん はい 試したんですが・・・どうしてもうまくいきません。


807 名前:Name_Not_Found 投稿日:2005/05/22(日) 23:02:36 ID:???
>>806
>>804にある変更だけをして試したら、チェックを入れると1000が足され
入れないと足されない結果になったが
ちゃんとチェックボックスの上にあるテキストボックスに数値を入れてる?
1を入れると500、そのときチェックを入れると1500となるが

808 名前:Name_Not_Found 投稿日:2005/05/22(日) 23:07:16 ID:???
いや、うまくいってました!! ありがとうございます!!
<html>
<head>
<script language="JavaScript">
function calc(f){
f.z.value = parseInt(f.x.value) + (f.y.checked ? 1000 : 0);
}
</script>
</head>
<form method="post">
<input type="button" value="計算" onclick="calc(this.form)"><br>
<input type="text" size=10 name="x"><br>
<input type="checkbox" name="y">
<br>
<input type="text" size=10 name="z"><br>
</form>
</html>

809 名前:Name_Not_Found 投稿日:2005/05/22(日) 23:08:14 ID:???
あと、細かいけど0を入れて計算すると0になるが
チェックを入れると1000となる。購入していないのに
壊れたときの保険ってのもどうかな・・・そこも条件文で制御すりゃ良いが
うまくいかないってのは、もしかして保険は1個に対して1000ってこと?
2個だったら2000足されるというもんか?
だとしたら計算式を書き換えないとならんよ

810 名前:Name_Not_Found 投稿日:2005/05/22(日) 23:09:49 ID:???
>>808
って、それでええんかいな?w

811 名前:Name_Not_Found 投稿日:2005/05/22(日) 23:16:32 ID:???
>>809さん こちらの「保険」の例え話が悪かったです・・・すいません。
実際では、保険ではないのでその状況にはなることはないです。
ご心配ありがとうございます!!
>>810さん はい。お手数かけてすいません。 ほんとに助かりました!!

812 名前:Name_Not_Found 投稿日:2005/05/22(日) 23:25:47 ID:???
↓それじゃ、次の患者さん、どうぞ

813 名前:Name_Not_Found 投稿日:2005/05/22(日) 23:55:48 ID:???
Firefox でいう selectedIndex にあたるのって IE だと何ですか?
共通して使える property って無いですか?

814 名前:Name_Not_Found 投稿日:2005/05/23(月) 00:06:56 ID:???
>>813
自分で調査する気がない奴は帰れ。IEのドキュメントの
ありかくらい分かってるべきだ。

…だが問題はそこにあるんじゃないような気もするな。
まあちゃんとした質問がなされたらまた検討したげるよ。

815 名前:Name_Not_Found 投稿日:2005/05/23(月) 00:52:13 ID:???
ちょっと教えてください。
いくつかテンプレートをユーザに選択してもらって、それをプレビューで見るためのScriptを
divにinnerHTMLを流し込む方法によって実現しようかと考えています。

ただ問題があって、テンプレートにはそれぞれCSS外部ファイルが用意されていて、
CSSも一緒に変更してやらなければいけないという問題があります。

JavaScriptおよびDHTMLをうまく使って、CSS外部ファイルを動的に読み込む事って出来ますか?

816 名前:Name_Not_Found 投稿日:2005/05/23(月) 00:57:42 ID:???
>>815
できるよ。

できるとわかったんだから、後は自分で考えなさい。

817 名前:813 投稿日:2005/05/23(月) 00:58:45 ID:???
>>814

そうっすね。すいません。
document.getElementById と document.all を使い分ければいいのでした。

でもどこかに Gecko DOM 使いのための IE DOM 入門とかないかしらん?
とか言ってみるテスト。

818 名前:Name_Not_Found 投稿日:2005/05/23(月) 01:11:45 ID:???
>>817
ぐぐれよとマジレスしてみるテスト。

819 名前:817 投稿日:2005/05/23(月) 01:39:40 ID:???
>>818
決定版、っていう感じの便利なサイトは今の所見つかってないんだけど?

820 名前:Name_Not_Found 投稿日:2005/05/23(月) 01:41:29 ID:???
selectのselectedIndexプロパティは互換なんだから
何か別のところでIEとFireFoxの差が出るようなことをやってる
んじゃないかと思うが。要点を抜き出したサンプルを貼るべきだろ、
そもそもが。

821 名前:Name_Not_Found 投稿日:2005/05/23(月) 02:20:36 ID:???
うん IE でも selectedIndex も getElementById も使えるよな。

822 名前:715 投稿日:2005/05/23(月) 11:39:26 ID:???
話の流れ的に俺が言うのもなんだが、
>divにinnerHTMLを流し込む方法によって実現しようかと考えています。
DOMでやれよ・・・

>CSS外部ファイルを動的に読み込む事って出来ますか?
http://east.portland.ne.jp/~sigekazu/css/javascript3.htm

823 名前:Name_Not_Found 投稿日:2005/05/23(月) 12:02:35 ID:???
よくinnerHTMLを使うことを忌避する人っているけど、標準化されていない以外の理由があるの?
いまやOperaでも実装されている以上、そんなことにこだわっても仕方ないと思うんだけど。

実装の手間やバグの出なささを考えると断然innerHTMLを使うべきだと思う。
現にGoogle Mapsなどでも普通に使われているわけだし。

TABLEでレイアウトをするなという人はまだ筋が通っている気がするけれど、
innerHTMLを使うなというのは消費税撤廃を叫ぶ共○党のイメージ

824 名前:Name_Not_Found 投稿日:2005/05/23(月) 12:31:12 ID:???
innerHTMLって俺はよく使うよ

825 名前:Name_Not_Found 投稿日:2005/05/23(月) 12:48:03 ID:???
> innerHTMLを使うなというのは消費税撤廃を叫ぶ共○党のイメージ

いい例えだ
言っていることは至極まっとうだが、いざそれを実施すると多数の人が不幸になる

826 名前:Name_Not_Found 投稿日:2005/05/23(月) 12:50:45 ID:???
逆に、やたらとinnerHTMLを使えというのは
税金の無駄遣いを減らさず、増税ばかりを考える自○党のイメージ?

827 名前:Name_Not_Found 投稿日:2005/05/23(月) 13:00:23 ID:???
>>826
というか、独自仕様を押し付けるM$と政策を押し付ける○○党が似ているのはある程度必然

828 名前:Name_Not_Found 投稿日:2005/05/23(月) 13:03:06 ID:???
NNとIEの二大政党の誕生ってか・・・

829 名前:Name_Not_Found 投稿日:2005/05/23(月) 13:15:11 ID:???
別にGeckoでもinnerHTMLあるんだから適材適所で使ったら
いいと思うよ。向いてない使い方は避けると。たとえば
少しずつ内容を追加してくときは向いてないよね。あと
ソースinnerHTMLに突っ込んで取り出したら元と同じと
思ってる奴とかは痛いけど(原理理解してない)。

830 名前:Name_Not_Found 投稿日:2005/05/23(月) 13:49:42 ID:???
確かに。
>>815 の場合なんかだと、逆にDOM使ったほうが手間なのは確かだし、
例えば特定の要素だけとったり、その属性のとったりするときは、DOMのが楽。
IEなんか、innerHTMLでしか <object> 要素の内容変えられなかったりするし。
かといって何でもかんでもinnerHTML使うのもイヤだけどね。

しかし、IEはしょうがなとしても、いろいろ作ってると、Operaの実装の方が何かと気に食わなかったりする、
なんだあのどっちつかずな謎仕様は・・・
まあFireFox最強ということで。

831 名前:Name_Not_Found 投稿日:2005/05/23(月) 13:54:45 ID:???
一応innerHTMLではなくDOM使うメリットとして
パフォーマンスがよくなるというのがあるな。
そこまで気にすることかと思わないでもないが。
ttp://www.microsoft.com/japan/msdn/columns/dude/dude100499.asp

832 名前:Name_Not_Found 投稿日:2005/05/23(月) 13:59:04 ID:???
DOM使ったほうがパフォーマンスが遅くなることもありそうな気がする、あくまでも直感だけど
selectのoptionを300個追加とか、実装的に多分innerHTMLの方が速そう。実験せずに書いてスマソ。

833 名前:Name_Not_Found 投稿日:2005/05/23(月) 14:49:09 ID:???
Download Only Member (or Memory) = DOM?

834 名前:Name_Not_Found 投稿日:2005/05/23(月) 15:05:27 ID:???
誰か実測してくれinnerHTMLとDOM。
w3での推奨はDOMだった気もするが

835 名前:Name_Not_Found 投稿日:2005/05/23(月) 15:07:26 ID:???
Dqn Oh Mizuho = DOM?
コレぐらい知っとけ

836 名前:Name_Not_Found 投稿日:2005/05/23(月) 15:14:54 ID:???
>>834
当り前じゃん。DOMはW3Cが取りまとめているもの。innerHTMLは標準にない。でも
適材適所でいいんでは。手元のFreeBSD+Mozで測定したところ、300個のoption追加は
DOM→224msec、innerHTML→41msecとinnerHTMLの圧勝。なお、Pen 600MHzという遅い
マシン。ソースつけとくよ。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function test1() {
var s = document.forms.f0.elements.s0, t1 = new Date().getTime();
for(var i = 0; i < 300; ++i) {
var o = document.createElement('option'); o.text = i;
if(document.all) s.add(o); else s.add(o, null);
}
var t2 = new Date().getTime(); alert('time: ' + (t2-t1));
}
function test2() {
var d = document.getElementById('d0'), t1 = new Date().getTime();
var l = '<select name="s1"><option>X<\/option>';
for(var i = 0; i < 300; ++i) l += '<option>' + i + '<\/option>';
d.innerHTML = l + '</select>';
var t2 = new Date().getTime(); alert('time: ' + (t2-t1));
}
</script></head><body>
<form name="f0" action="#" onsubmit="return false"><p>
<select name="s0"><option>X</option></select><div id="d0"></div></p></form>
<p><a href="javascript:test1()">test1...</test></p>
<p><a href="javascript:test2()">test2...</test></p></body></html>

837 名前:Name_Not_Found 投稿日:2005/05/23(月) 15:15:20 ID:???
Doutei Onani- Man

838 名前:Name_Not_Found 投稿日:2005/05/23(月) 15:17:16 ID:???
Doushite Onnani Motenai ... orz

839 名前:Name_Not_Found 投稿日:2005/05/23(月) 15:19:46 ID:???
MacのIE使ってる香具師おる?あれってラジオボタンとかかっこええよなぁ

840 名前:Name_Not_Found 投稿日:2005/05/23(月) 15:37:20 ID:???
>>836のソースでうちのところだと
IE: DOM: 330ms, innerHTML: 20ms
Fx: DOM: 160ms, innerHTML: 30ms
となった。

function test1() {
var s = document.forms.f0.elements.s0, t1 = new Date().getTime();
var f = document.createDocumentFragment();
for(var i = 0; i < 300; ++i) {
var o = document.createElement('option'); o.text = i;
f.appendChild(o);
}
s.appendChild(f);
var t2 = new Date().getTime(); alert('time: ' + (t2-t1));
}
とすることでIE: 50ms, Fx: 70msまで縮まったが
まだinnerHTMLのほうに分があるな。
ttp://members.jcom.home.ne.jp/jintrick/Personal/documentFragment.html

841 名前:Name_Not_Found 投稿日:2005/05/23(月) 15:37:35 ID:???
>>836
やっぱそうか。実験乙

842 名前:Name_Not_Found 投稿日:2005/05/23(月) 15:52:44 ID:???
>>836 >適材適所
具体的に分かっている人は少ない。
要素オブジェクト(ノードオブジェクト)を新規生成追加 : innerHTML
既存の要素オブジェクト(ノードオブジェクト)の変更 : W3C-DOM

つまり、既存のオブジェクトをinnerHTMLで勝手に書き換えてはいけないが、
新規に限っては、どちらでやっても勝手に追加する事実は同じだから、
速度で圧倒的に有利で、HTMLを書ける人ならメンテナンス可能な
innerHTMLを使うようにする。
特にIEでは、新規生成追加専用の insertAdjacent(HTML|Text|Element)
を使う方が良い場合がある。
特にIEでは、name属性など、HTMLソースの形でなければ生成できないものがあるから、
form関連要素オブジェクトの新規生成には、createElementでさえも、引数として
HTMLソース形式の文字列を与えなければならない場合がある。

843 名前:Name_Not_Found 投稿日:2005/05/23(月) 16:01:58 ID:???
innerHTMLで新たに生成したエレメントはNNだと既存のオブジェクトの後のものとして認識される

844 名前:Name_Not_Found 投稿日:2005/05/23(月) 16:02:54 ID:???
>>842
> 要素オブジェクト(ノードオブジェクト)を新規生成追加 : innerHTML
> 既存の要素オブジェクト(ノードオブジェクト)の変更 : W3C-DOM

これも臨機応変であって、要素オブジェクトの新規生成にcloneNodeメソッドが速かったり、
またノードの大幅な一括変更(特に表示系要素のみの場合)にはinnerHTMLが速いし副作用無いことも多い。

ブラウザが内部でどのように再レンダリングをするのか、ということが考えられれば
バグを出すリスクを減らしつつinnerHTMLを使うことが出来る、ということだろうけれどね。

845 名前:Name_Not_Found 投稿日:2005/05/23(月) 16:27:43 ID:???
>>836
>if(document.all)
をループで使うのは可愛そうなw


846 名前:Name_Not_Found 投稿日:2005/05/23(月) 16:42:49 ID:???
まぁでもinnerHTMLが仕様から削除される可能性も無くは無いんだよな。
>>840とか見てるとその可能性は限りなく0だとは思うが・・・


847 名前:Name_Not_Found 投稿日:2005/05/23(月) 16:48:25 ID:???
二つほど質問させてください。

i.
以下の Script を XHTML 1.0 Strict で、mod_rewrite を使って application/xhtml+xml と
text/html を UA ごとに振り分けて使っています。
text/html では、問題なく表示できるのですが、application/xhtml+xml ではパースエラーが
出てしまいます。
多分、param 要素のところの要素最小化の書き方が問題だと思うのですが、 /> の / は
何かメタ文字で書きかえる必要があるのでしょうか?

document.writeln('<object classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B"
width="132" height="18" codebase="http://www.apple.com/qtactivex/qtplugin.cab"
codetype="video/quicktime">');
document.writeln('<param name="src" value="./hogehoge.mov" />');
document.writeln('<param name="autoplay" value="true" />');
document.writeln('<param name="loop" value="false" />');
document.writeln('<param name="controller" value="true" />');
document.writeln('<embed src="./hogehoge.mov" width="132" height="18" autoplay="true"
loop="1" controller="true" pluginspage="http://www.apple.com/jp/quicktime/download/">
</embed>');
document.writeln('</object>');
※ embed の URI を記述した直後の " は、本来の記述では ダブルクウォートで
  閉じられています。
ii.
外部 js に上記のような(上記以外でも)本体の (X)HTML に値を入力するような Script を
作った場合、その外部 js と本体の HTML の Charset が異なっていると何らかの不具合が
生じるでしょうか。
実際、 UTF-8(withoutBOM) と euc-jp、同じく UTF-8 と iso-2022-jp の組み合わせでは問題は
確認できなかったのですが、どなたか問題が生じたという方はいらっしゃいますか?

848 名前:Name_Not_Found 投稿日:2005/05/23(月) 17:14:24 ID:???
>>847
i.
ヒント '〜/' + '>' もしくは CDATA

ii.
ヒント 内部文字コード

849 名前:Name_Not_Found 投稿日:2005/05/23(月) 17:14:28 ID:???
>>847
とりあえず「/」は統一的に「\/」にするんじゃないのかな。
そしてCharset問題は*このスレでガイシュツ*だが、<script>
タグにcharset書けるんだからちゃんと書けばいいのでは?

850 名前:Name_Not_Found 投稿日:2005/05/23(月) 17:15:42 ID:???
>>846
「innerHTMLが仕様から削除される」ってのはどういうこと?
GeckoとかがinnerHTMLをサポートしなくなるってこと?

>>847
そもそもapplication/xhtml+xmlで送るのなら
document.write/writelnが動くことは保障されていないからやめたほうがいい。
ってか実際にFirefoxやOperaでは動かなかったと思う。
http://linkage.xrea.jp/documents/W3C/XHTML_FAQ/#docwrite

851 名前:Name_Not_Found 投稿日:2005/05/23(月) 17:33:41 ID:???
すばやい回答ありがとうございます。
横着して既存のスクリプトをそのまま XHTML に使いまわしていましたが、
これを期に DOM に書き換えることにします。

また、2の点については、既出ということで失礼いたしました。
現状では .htaccess にコンテントタイプを書き込むと同時に、script 要素の
charset 属性も適宜指定しています。

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

852 名前:Name_Not_Found 投稿日:2005/05/23(月) 19:53:39 ID:???
>>850
結局はブラウザの拡張なんだから消える可能性はあるかもねってこと。
重大な穴とかが見つからない限り無くならないと思うよ

穴が見つかったらM$の場合は「仕様です」って言い張ると思うがな
んで一週間くらい放置プレイ喰らうんだぜきっと。

853 名前:Name_Not_Found 投稿日:2005/05/23(月) 20:21:33 ID:???
http://that3.2ch.net/test/read.cgi/gline/1111038341/

854 名前:Name_Not_Found 投稿日:2005/05/23(月) 20:30:47 ID:???
>>852
W3Cの自称「標準規格」に載ってても消える物は消える。
最後に残るのは事実上標準。

855 名前:Name_Not_Found 投稿日:2005/05/23(月) 20:49:38 ID:???
なんだが、結局のところ使われているAPIのほとんどは標準にあるもので、
そこに少しだけinnerHTMLみたいな非標準のがまざっていると
いう印象だな。DOM関係で今標準にあるけど消えそうなものって
何かある?


856 名前:Name_Not_Found 投稿日:2005/05/23(月) 23:02:20 ID:???
>>836
>>832 > selectのoptionを300個 [ 追加 ]
ということだけど、
>>836 のコードは、innerHTMLの方は [ 追加 ] していないし、
document.all の判別や、無駄に重い obj.add を使うなど、
意図的にDOMの方を遅くしている節がない?

自分が書いて計測したら、DOMだと、DocumentFragment を使えば、
追加していってもそんなに秒数は変わらなかったけど、
innerHTML だと追加するたびに増えていく、という結果がでたぞ。

DOM -> 70 -> 100 -> 80 -> 90 -> 110 -> 100 -> .. [ms]
innerHTML .. 40 -> 100 -> 190 -> 270 -> 340 -> 400 -> .. [ms]

長いけど、以下にソースを書くので許して欲しい。
(※ ソース内で s.innerHTML += .. としてないのは、
    <select> に直接 innerHTML で追加するとおかしな状況になったため)

857 名前:856 投稿日:2005/05/23(月) 23:03:24 ID:???
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="ja"><head><title>???</title>
<script type="text/javascript"><!--
function test0() {
    var d = document;
    var e = d.forms.f0.elements;
    var t = new Date().getTime();    // begin
    var f = d.createDocumentFragment();
    for (var i = 0; i < 300; ++i) {
        var o = d.createElement('OPTION');
        f.appendChild(o);    o.text = i;    o.value = i;
    }
    e.s0.appendChild(f);
    e.t0.value = ( new Date().getTime() ) - t;    // end
}
function test1() {
    var d = document;
    var e = d.forms.f0.elements;
    var s = d.getElementById('d1');
    var t = new Date().getTime();    // begin
    var l = e.s1.innerHTML;
    for (var i = 0; i < 300; ++i)
        l += '<option value="' + i + '">' + i + '<\/option>';
//    e.s1.innerHTML += l;    // <- error
    s.innerHTML = '<select name="s1" id="s1">' + l + '<\/select>';
    e.t1.value = ( new Date().getTime() ) - t;    // end
}    // -->
</script></head><body>

↓つづく

858 名前:856 投稿日:2005/05/23(月) 23:04:58 ID:???
>>857の続き

<form name="f0" id="f0" action="#">
    <fieldset><legend>DOM - appendChild</legend>
        <select name="s0" id="s0"><option>X</option></select>
        <input type="text" name="t0" id="t0" value="">[ms]
        <input type="button" value="test" onclick="test0()"></fieldset>
    <fieldset><legend>innerHTML</legend>
        <span id="d1"><select name="s1" id="s1"><option>X</option></select></span>
        <input type="text" name="t1" id="t1" value="">[ms]
        <input type="button" value="test" onclick="test1()"></fieldset>
</form></body></html>

というわけで、結局は適材適所だね、ってことを言いたかったのだ。 orz

859 名前:Name_Not_Found 投稿日:2005/05/23(月) 23:19:05 ID:???
DocumentFragment 便利だな。

860 名前:Name_Not_Found 投稿日:2005/05/24(火) 01:15:59 ID:???
ほほう。DocumentFragmentのテストは GJ だな。
これでDocumentFragmentがW3C標準じゃなかったら笑えるけど。

どうでもいいが、856の時間が増えていったのは要素を何個ずつ増やした場合なんだろうな

861 名前:Name_Not_Found 投稿日:2005/05/24(火) 01:19:24 ID:???
もちろんDocumentFragmentは標準だからご安心を。てかそれくらい調べるのすぐだろ。
ttp://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-B63ED1A3

862 名前:Name_Not_Found 投稿日:2005/05/24(火) 01:19:42 ID:???
>>860


863 名前:Name_Not_Found 投稿日:2005/05/24(火) 02:02:00 ID:???
>>861
すまん、googleにDocumentFragmentと入れるのがマンドクサかった

>>862
エッチ

864 名前:Name_Not_Found 投稿日:2005/05/24(火) 02:49:34 ID:???
やっぱり標準意識するのはイライラするw
やりたいことができねーw
onmouseoutはあるのにonmouseenterやonmouseleaveがない
やはり機能は豊富なほうがw

865 名前:Name_Not_Found 投稿日:2005/05/24(火) 05:32:47 ID:???
>>864
onmouseover/onmouseoutとの違いは?
単にバブルしない、キャンセルできないだけ?
だったらIEならイベント受け取った要素とsrcElement、
それ以外ならtargetとcurrentTargetが同じときのみ
処理するということで何とかならないかな?

866 名前:865 投稿日:2005/05/24(火) 05:55:49 ID:???
DOMにそってやるならeventPhaseがAT_TARGET(=2)のときのみ処理するという手もあったな。

なぜかGecko DOM Referenceの解説では定数の値が間違っていたりするが。

867 名前:715 投稿日:2005/05/24(火) 08:09:39 ID:???
いやいや俺の適当に言った一言が、思わぬ煽りになって、
建設的な深〜い議論。良い流れじゃない!

以前にも何回か聞いたのですが、
>子ノードを一括登録できるメソットっていうのは、DOMではないのですか?
ここまで誰も話を出さないのだから、>>739で述べた条件ではinnerHTMLが
ほぼ正解で、DOMでの代替手段は用意されていないので、どうしてもDOMで
やりたければ、文字列からDOMツリーに直す関数をシコシコ書け!と言うことで宜しい?

>>842>>844>>856辺りのエロイ人教えて!

868 名前:Name_Not_Found 投稿日:2005/05/24(火) 08:22:32 ID:???
>>867
だからDocumentFragment使うんでしょ。何読んでるんだか。

869 名前:Name_Not_Found 投稿日:2005/05/24(火) 08:24:28 ID:???
Gecko DOM Referenceが一部和訳されてるから
次スレテンプレ>>6に追加してはどうかなと思った。
http://www.mozilla-japan.org/docs/dom/domref/

870 名前:Name_Not_Found 投稿日:2005/05/24(火) 08:41:43 ID:???
らじゃー ただし次テンプレではリンク類は離して貼ることに
なると思われ。連投規制に引っかからなければいいんだけどね。
リンク類の更新はこのスレにも貼ってチェックしてもらおう。

871 名前:Name_Not_Found 投稿日:2005/05/24(火) 09:01:08 ID:???
そうだ、間違えて>>4-10貼ったのは俺だった……、ヘヘスマソ……。

872 名前:715 投稿日:2005/05/24(火) 09:21:03 ID:???
>>868
ん?DocumentFragmentはDocumentオブジェクト使うより軽いのは分かる(>>857付近)が、
俺が>>739で述べたように

 変換ソースがHTMLタグの「 文 字 列 」でしか存在しない場合に、
文字列からノードに一括して変換(若しくは指定ノードに子ノード以下一括登録まで)
できるメソットってあるの?

って言う質問なんだけど・・・・・



873 名前:Name_Not_Found 投稿日:2005/05/24(火) 09:24:41 ID:???
変換ソースが既に文字列で全部あるならinnerHTMLに
決まってるよ。それに反対する奴なんていたか?

文字列を組み立ててinnerHTMLに食わせるような場合は
DOMの方がいいと個人的には思っている。

874 名前:715 投稿日:2005/05/24(火) 10:04:28 ID:???
いや、反対する香具師がいなかったのか、
ただ失笑をかって無視されたのか判断つかんかったもので・・・

もう一つ。
つ〜ことは、この文字列ソースをさらに各要素の値を取り出して大幅に編集し、
それを元にした描写をする場合に、

・文字列を直接弄くって各要素を取り出し、ノードに配置する
・いったんdisplay:noneで描写しておいてそのノードを解析して各要素を取り出し、ノードに配置する
は、下の方が良いのか?

あとinnerHTMLに代入した際に行われる
描写とノード構築の処理は関数・メソットで公開されてないよね?

875 名前:715 投稿日:2005/05/24(火) 10:09:13 ID:???
ちなみにHTMLの文字列型変換ソースは、
>>844の言っている「ノードの大幅な一括変更」(追加)に属すると思う。

876 名前:Name_Not_Found 投稿日:2005/05/24(火) 10:13:47 ID:???
問題になるほど遅いのであれば innerHTML も考えた方が良いだろうが
そうでなければ DOM を使わない理由は無いだろう、と俺は考えている。

IE 6.0 - Javascript - W3C DOM vs. innerHTML
ttp://www.quirksmode.org/dom/innerhtml.html

まぁ現状では問題になるほど遅いことが少なくないが。

で、変換ソースが云々、てのがどういう状況なのかよくわからねーんだけど、
loadXML なり parseFromString なり使えばいいんじゃねーの?

877 名前:Name_Not_Found 投稿日:2005/05/24(火) 10:27:41 ID:???
そんなん"場合によりけり"すぎ。
ドキュメント全部が必要だったり、不特定の文字列なら、DOM使った方が"一般化"できるので便利だし、
特定の決まった文字列があるのなら、"文字列"として扱えばいいんじゃねーの?

あと、display:none とかいったん描写とかいってるけど、別に、例えば、
var temp = document.createElement('DIV');
temp.innerHTML = your_html;
とかしても代入されるから、それで解析?できるんじゃないのか?、とか思ったり何だり。

878 名前:Name_Not_Found 投稿日:2005/05/24(火) 10:42:33 ID:???
適材適所というキーワードがとっくに出てるのにも関わらず
どっちかに勝たせたいというのは宗教戦争だから無視しようね。
「こういう処理はどうするんだろう」的な疑問は別にいいけど。

879 名前:Name_Not_Found 投稿日:2005/05/24(火) 10:51:58 ID:???
XMLをXSLでHTML変換した結果をinnerHTMLで突っ込むってのは適所でOK?

880 名前:715 投稿日:2005/05/24(火) 10:53:18 ID:???
なるほどね。

>loadXML なり parseFromString なり
調べてみます。

>877後半
盲点!初心者臭がなかなか抜けないや。
あるdocumentオブジェクトにノードDIVノード作ってinnerHTMLで導入か。
まあ>>842後半>>868の言ってるように、DocumentFragmentでinsertAdjecantHTMLした方が
早いとかいう修正はあるだろうけど、それなら多分描写しないよね。

881 名前:Name_Not_Found 投稿日:2005/05/24(火) 10:54:58 ID:???
XSLTの出力ってノードツリーで取れないんだっけ?
取れないなら仕方ないけど取れるなら一旦文字列に戻したくは
ないよね、一般論として。

882 名前:715 投稿日:2005/05/24(火) 11:03:05 ID:???
>>878

どっちかに勝たせたいわけじゃないけど、初心者や
おいらみたいな初心者臭の抜けない香具師は、
「適所」においてDOM/innerHTMLのどちらかの方法しか知らなかったり、
どちらも知らず、調べてもソースの執筆者が一方の信者(?)なのか
一方しか知らないのか、問答無用にどちらかを使ってあること(innerHTMLがほとんどだが)
が往々にしてあるようだし、現にちょっとやそっとでは
>>876みたいなソースを見つけ出せないでしょ?

こういう風に盛りあがって色々深い議論がされてるみたいなんで
色々聞いてるだけ。

883 名前:Name_Not_Found 投稿日:2005/05/24(火) 11:42:41 ID:???
質問です。
<html>
<head>
<script type="text/javascript">
function func() {
var ch = "a" ;
// ch++ ;
ch = ch + 1 ; //どちらも駄目・・・
fuga.hoge.value=ch ;
}
</script>
</head>
<body>
<form name="fuga">
<input type=button name=hoge value="test" onclick="func()">
</form>
</body>
</html>
で、ch の値が b になると思ったのですが、意図した結果が得られません。
普通に考えたら、a に 1 足すと b になると思うのですが、こういう場合
どのように記述すべきなのでしょうか?

884 名前:Name_Not_Found 投稿日:2005/05/24(火) 11:45:11 ID:???
>>883
>a に 1 足すと b になると
数値が入る変数と文字そのものを別物とすべし

885 名前:883 投稿日:2005/05/24(火) 11:50:39 ID:???
すみません、具体的にはどのように記述すればよいのでしょうか?
かなり悩んだけど、わかりませんのです。
ずうずうしいようですが、許されるならば、どうかお手本お願いします。

886 名前:715 投稿日:2005/05/24(火) 11:52:04 ID:???
>parseFromString
ググッたらこんなの出た。
【Mozillaでプログラミング(XUL) 】dat落ちしてるっぽい。キャッシュで確認。
649 :デフォルトの名無しさん :04/02/03 21:19
html文書では、XMLHttpRequestのresponseXMLは
何も返さないと思いますが。
html文書をDOMとして得るにはどうすればいいですか?
650 :デフォルトの名無しさん :04/02/04 11:48
>> 649
var URI =HTMLファイルのURI;
var doc = document.implementation.createDocument('', '', null);
doc.load(URI);
doc.addEventListener('load', docLoaded, false);
function docLoaded {
ここからdocを使用する処理を記述
}


887 名前:715 投稿日:2005/05/24(火) 11:52:22 ID:???
652 :デフォルトの名無しさん :04/02/08 18:42
ふーむ、私のお勧めはnsIDOMParserです。
...
var str=httprequestobject.responseText;
var doc=(new DOMParser()).parseFromString(str,"text/html");
alert(doc.documentElement.localName);
〜略〜
792 :デフォルトの名無しさん :04/07/21 00:47
ローカルに保存されたHTMLファイルを読み込み、パースしてDOMとして利用することは可能でしょうか??

var doc = (new DOMParser()).parseFromString(fileContent, "text/html");
alert(doc.title);
とやってみたのですが、1行目でエラーとなります...
793 :デフォルトの名無しさん :04/07/21 03:54
>> 792
実はdomparserのtext/htmlモードは未実装なのです。
かわりに、innerHTMLを使ってください。
794 :デフォルトの名無しさん :04/07/21 03:58
あるいは>> 650とか。


888 名前:Name_Not_Found 投稿日:2005/05/24(火) 11:58:22 ID:???
>>885
ttp://www.math.kobe-u.ac.jp/HOME/taka/jyoron-html/jyoron/node39.html
アスキーコードを使えば何とかなるかと

889 名前:Name_Not_Found 投稿日:2005/05/24(火) 12:00:01 ID:???
>>883 ヤマカンコードはキモい。JavaScriptはCではない。
ch = String.fromCharCode(ch.charCodeAt(0) + 1);
説明はしないから自分で調べな。1つだけヒントだが
「ch = "abcdefg"」のとき「ch + 1」すると何になると思ってた?


890 名前:715 投稿日:2005/05/24(火) 12:03:44 ID:???
>>883

文字列は計算するものではありません。
もっといわゆる「低レベルな」言語なら分かるけどそういう言語がよく分かってるなら、
こういう質問はしないはず。根本的にはaを計算してbを出す必要性は無いはず。

素直にchに”b”を代入すれば?
どうしても計算したければ、アルファベットを配列にして計算すれば?

891 名前:Name_Not_Found 投稿日:2005/05/24(火) 12:06:55 ID:???
>>715
お前の発言がもとでinnerHTMLの話が出てきたわけじゃねーぞ

892 名前:883 投稿日:2005/05/24(火) 12:07:40 ID:???
>>888-889
レスありがとうございます。
>「ch = "abcdefg"」のとき「ch + 1」
これは、bbcdefg になるかなぁ、とか思いましたが、いろいろ試していた結果
abcdefg1 が正解でしょうか。まだ試していないのでわかりませんが。

JavaScript ではコード変換みたいなのが必要になってくるのですね。
詳しくはキーワードをもとに自分で捜していきたいと思います。
本当にありがとうございました。

893 名前:883 投稿日:2005/05/24(火) 12:09:37 ID:???
>>890さんもでした m(_ _)m

894 名前:Name_Not_Found 投稿日:2005/05/24(火) 12:15:27 ID:???
全般に、CやJava(そしてC++も)では、1文字の文字型はその
文字の文字コードの値を持つ整数型なわけで、そういう意味では
>>883 の考えてることも分からなくはない。ただ、これらの言語
では「文字列型」が別にあるのに対し、JavaScriptは(そしてPerl
その他スクリプト言語全般)、文字列だけあって1文字の文字型という
ものが存在しない。だから「1文字の文字型は整数」という扱いも存在
しない。そういう風に考えたらどうかな。

895 名前:Name_Not_Found 投稿日:2005/05/24(火) 12:20:09 ID:???
>>892 とりあえず文字をコードに、コードに1を足して、それをまた文字に変換したサンプルを書いておくね
// で注釈が書いてあって見づらいかもしれんが

<script language="JavaScript">
ch = "a"; // ch に a を文字として代入
x = ch.charCodeAt(ch); // x に ch (文字 a)の文字コードを代入、x には 97 が入る
alert(x); // 文字コードを確認
x = eval(x) + 1; // 文字コード 97 に 1 を足して 98 にする
ch = String.fromCharCode(x); // ch に 文字コード 98 を文字(b) に変換したものを入れる
alert(ch); // 最初 "a" が入った ch には "b" が入っているのが確認できる
</script>

896 名前:Name_Not_Found 投稿日:2005/05/24(火) 12:26:52 ID:???
>>895
おい! charCodeAt(i)のiは「文字列の何文字目か」を表すんだ!
文字コードは数値だからeval()なんか不要だ!そもそも回答する
前に既に出てないかチェックしろ!!!

897 名前:Name_Not_Found 投稿日:2005/05/24(火) 12:29:08 ID:???
>>896
スクリプトを実行してからレスしてくれ
evalも何も、そのまま +1 をやったら 971 になる?みたいだが

898 名前:Name_Not_Found 投稿日:2005/05/24(火) 12:30:19 ID:???
>>896
すまん、evalは要らんかったw

899 名前:Name_Not_Found 投稿日:2005/05/24(火) 12:39:24 ID:???
var w = ['Sun','Mon','Tue','Wed','Thr','Fri','Sat'][now.getDay()];
こういう書き方を解説してくれるところないでsky?
何配列というんでsky?


900 名前:Name_Not_Found 投稿日:2005/05/24(火) 12:40:31 ID:???
>>889
>ch.charCodeAt(0)
って、()の中の0は何の意味があるん?

901 名前:900 投稿日:2005/05/24(火) 12:44:44 ID:???
すまん、解決した。文字列オブジェクトを前につけて、その文字列の何番目をコードにするかってことね

902 名前:Name_Not_Found 投稿日:2005/05/24(火) 13:04:46 ID:???
>>899
配列リテラルのことか?

903 名前:899 投稿日:2005/05/24(火) 13:35:10 ID:???
Array Literalおよび配列リテラルで検索しましたがあまり無いですね。
便利だから使いたいのですが、解説してくれるところないでsky?

904 名前:Name_Not_Found 投稿日:2005/05/24(火) 14:21:05 ID:???
>>903
いちおう、標準規格の訳はこれね。
ttp://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/11_Expressions.html#ArrayLiteral
何が調べたいのかよく分からないが、>>899だったら最初の[...]が配列で、
[now.getDay()」はnowの曜日に応じて0〜6を返すからその番号の要素を取ると
'Sun'〜'Sat'のうち適切なものが取れるということでしょ。

905 名前:Name_Not_Found 投稿日:2005/05/24(火) 14:39:19 ID:???
ありがとうございます。トグルなどに便利ですよね。

906 名前:Name_Not_Found 投稿日:2005/05/24(火) 14:50:46 ID:???
now = new Date(); をせんと now.getDay(); で帰ってくる値がはっきりせんが
それは分かっていて特に問題なし?

907 名前:715 投稿日:2005/05/24(火) 15:05:50 ID:???
>>905
http://www.interq.or.jp/student/exeal/dss/ref/jscript/expression.html#p_arrayliteral

要は、RegExp(正規表現)の"/ /"なんかと同じように、
new Arrayを省略して書ける予約リテラルでしょ?

後半は明示的に変数に代入しなしそのまんま変換してるだけ。
var ar = ['Sun', ......];
var t = now.getDay();
var w = ar[t];
そんなJavascriptでPerlみたいに変態的に極端に省略すると、後任者が困りますよ。
コメントに頼ってバグを作る・・・・
自分の解釈で修正してバグを作る・・・etc

var a, var b;
[a,b]を[a.b]しただけで2次配列の出来あがり。

908 名前:899 投稿日:2005/05/24(火) 15:25:55 ID:???
>変態的
当たってる。ご指摘ありがとうございます。
以後気を付けよう。

909 名前:Name_Not_Found 投稿日:2005/05/24(火) 15:31:21 ID:???
>>899って結局、前の括弧の中の要素を後ろの括弧に入る値で参照して
w にその配列要素を代入しているってことだが、わかりづれぇ〜〜

910 名前:Name_Not_Found 投稿日:2005/05/24(火) 16:36:14 ID:???
質問です。
ページに貼り付けた画像(写真)から、マウスクリックで特定した座標の、
16進数・RGBの色情報を取得し、表に[#ffffff]・[255・255・255]形式で
表示したいのですが、どのようなプログラムを書けばよいのでしょうか。
ご教示をお願いしますぺこ <(_ _)>

911 名前:Name_Not_Found 投稿日:2005/05/24(火) 16:45:03 ID:???
>>910
お気の毒ですがJavaScriptでは画像の中身は扱えません。

912 名前:Name_Not_Found 投稿日:2005/05/24(火) 17:03:27 ID:???
>>911
お気の毒なのかw

913 名前:Name_Not_Found 投稿日:2005/05/24(火) 17:40:31 ID:???
>>911
二次元配列に値を入れとけばいいんじゃねーの?

914 名前:Name_Not_Found 投稿日:2005/05/24(火) 17:55:02 ID:???
>>913
ほー。画像のすべてのピクセルに渡って、RGB値を2次元配列に別に
入れておく。それなら確かにできるが普通そこまでしないだろ…

915 名前:Name_Not_Found 投稿日:2005/05/24(火) 17:55:31 ID:???
>>913
値を入れるのは誰だ
手打ちか?xmlか?
32BitPNGとかだと泣きたくなると思わんのか?
単純なRGB取得ならコーディングでカバーできるだろうが。。

xml化すればいいじゃんと思うならスレ違いだから
その辺よろしく

916 名前:Name_Not_Found 投稿日:2005/05/24(火) 18:02:14 ID:???
> 値を入れるのは誰だ

>>910に決まっとるがな。

917 名前:Name_Not_Found 投稿日:2005/05/24(火) 18:27:35 ID:???
>>916
人じゃなくてプロセスね

918 名前:Name_Not_Found 投稿日:2005/05/24(火) 19:03:38 ID:???
次スレ用テンプレの一部。レビューよろ。
【標準規格・リファレンス】
規格を読まずにどうなってるか分からんとか質問しないこと!

まとめサイト
http://web2ch.s31.xrea.com:8080/?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

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://devedge-temp.mozilla.org/index_en.html

919 名前:Name_Not_Found 投稿日:2005/05/24(火) 19:05:20 ID:???
おなじく。この2つ以外はだいたい機械的に決められるから。
【チュートリアルサイト・サンプルサイト】
規格が読めないならまずはチュートリアル。サンプルサイトも沢山ある。

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

JavaScript basic samples (ショボイとの説あり)
http://www.sumnet.ne.jp/domp/jsbs/

初めてのホームページ講座 JavaScript Dynamic HTML SAMPLES (同上)
http://www.hajimeteno.ne.jp/dhtml/

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

JavaScript深層
http://www.hawk.34sp.com/

(とほほのJavaScriptリファレンスは誤り多数という意見もあり議論中)

920 名前:Name_Not_Found 投稿日:2005/05/24(火) 19:17:10 ID:???
そろそろ次スレのタイトルでも

"innerHTML拒絶者は" + JavaScriptの質問用スレッドvol.37 + "共○党か?"

921 名前:Name_Not_Found 投稿日:2005/05/24(火) 19:20:26 ID:???
まとめサイト
http://web2ch.s31.xrea.com:8080/?JS
リンク切れだよね。

http://web2ch.s31.xrea.com/?JS

922 名前:Name_Not_Found 投稿日:2005/05/24(火) 19:25:15 ID:???
>>921
らじゃー。
>>920
宗教的なスレタイは荒れるだけだから避けたい。そもそも「拒絶」な
人なんていないよ。どれくらいどっちに好みがあるかという程度だけ。

あと、devedgeが復活してるね、よかった。
http://web.archive.org/web/20040822074426/devedge.netscape.com/central/javascript/

923 名前:Name_Not_Found 投稿日:2005/05/24(火) 19:34:35 ID:???
>>922
> どれくらいどっちに好みがあるかという程度だけ。

なにげにいいこと言ったな

924 名前:910 投稿日:2005/05/24(火) 20:01:07 ID:???
レス、ありがとうございます。
JavaScriptでは難しいのですね。
それが分かっただけでも、大変ありがたいです。

XML・・・。まったく知らないです(汗
スレ違いですので、そっちのほうへ逝ってみます。

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

925 名前:Name_Not_Found 投稿日:2005/05/24(火) 20:29:42 ID:???
さらにテンプレのプレビュー。1番に「宗教戦争」入れてみた。
━━━━━JavaScript質問スレ道場訓━━━━━
 一、礼節を重んじ常に努力精進すること
 一、ブラクラに打ち勝つ精神力を持つこと
 一、心身の優れたJavaScriptを学ぶこと
 一、雑草の如く生涯JavaScriptを貫くこと
 一、感謝と反省を忘れないこと
 以上
━━━━━━━━━━━━━━━━━━━━━━

このスレに書き込むことが許されるものは以下のとおり
・JavaScriptとJavaの違いを理解する者
・スクリプトを組むための最低限のHTML・CSSを理解する者
・ユーザーに迷惑となるスクリプトを書かない者
・FAQ・過去ログや関連資料を読むことができる者
・「初心者です」を振りかざさず、質問を分かる日本語で説明できる者
・対象環境や使用技術は質問者の裁量であることを理解する者
・宗教戦争をスルーでき、他人の好みが自分と違っても寛容でいられる者

前スレ http://pc8.2ch.net/test/read.cgi/hp/1110578338/l50
まとめサイト http://web2ch.s31.xrea.com/?JS
FAQ・注意>>1-5、過去ログ・関連資料・関連スレ>>1-50またはまとめサイト

926 名前:Name_Not_Found 投稿日:2005/05/24(火) 20:31:18 ID:???
余計なこと書くと、逆効果かと。

927 名前:Name_Not_Found 投稿日:2005/05/24(火) 21:10:33 ID:???
「宗教戦争」の概要が判りづらいかな

ブラウザ間宗教戦争?
コレもあまりcoolじゃないなぁ・・・

むしろ「事実を語った後に好みを語れるれるやし」の方がまだマシかと思うよ

928 名前:Name_Not_Found 投稿日:2005/05/24(火) 21:14:20 ID:???
うーん、>>927もちょっと分かりづらいし、やっぱり>>926
正しいかも。元に戻しときましょうか。

929 名前:Name_Not_Found 投稿日:2005/05/24(火) 21:16:47 ID:???
>>919
うさのJavaScript講座は?

930 名前:Name_Not_Found 投稿日:2005/05/24(火) 21:33:36 ID:???
http://www.usagi-js.com/
ここね。賛否あればお願いします。

931 名前:もな 投稿日:2005/05/24(火) 21:50:15 ID:???
すみません少し、ご教授くたさいm(__)mhtmlでフレームを使ってて左にメニュー、右にコンテンツがあります。

932 名前:もな 投稿日:2005/05/24(火) 21:50:56 ID:???
で、右のコンテンツ部分にボタンがあって、それをクリックすると、左メニューのフレームを消したり、復活させたりするのをJavaスクリプトでやりたいのです。メニューの表示、非表示をやりたいというけとです。よろしくお願いします。

933 名前:Name_Not_Found 投稿日:2005/05/24(火) 22:02:55 ID:???
すみません少し、ご教授くたさいm(__)mhtmlでフレームを使ってて左にメニュー、右にコンテンツがあります。

934 名前:Name_Not_Found 投稿日:2005/05/24(火) 22:03:10 ID:???
>>932 なんで2レスに分けるんだろ。レスがもったいない。
--- main.html ---
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
<html><head><title>???</title></head>
<frameset id="f0" cols="100,0*">
<frame name="left" src="t2.html">
<frame name="right" src="t1.html">
<noframes><body><p>no frame...</p></body></noframes></frameset></html>
--- t1.html ---
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function ch(s) { parent.document.getElementById('f0').cols = s; }
</script>
</head><body>
<form name="f1" action="#" onclick="return false"><p>
<input type="button" value="show" onclick="ch('100,0*')">
<input type="button" value="hide" onclick="ch('0,0*')">
</p></form></body></html>
--- t2.htmlは何でもよい ---

935 名前:Name_Not_Found 投稿日:2005/05/24(火) 22:12:40 ID:???
>>930
マジにしないでください。しゃれで書いたんです。ごめんなさい…

936 名前:808 投稿日:2005/05/24(火) 23:27:46 ID:???
の書き込みをしたものです!
function calc(f){
f.z.value = parseInt(f.x.value) + (f.y.checked ? 1000 : 0);
} って 3個までしか変数とれないんですか???
例えば、a b c d e f の5個で計算とか可能ですか???


937 名前:Name_Not_Found 投稿日:2005/05/24(火) 23:35:09 ID:???
>>929 うちはちょっと笑ったよw

938 名前:Name_Not_Found 投稿日:2005/05/24(火) 23:36:54 ID:???
>>936
やろうと思えば無限に可能でしょう。
ってーか 「3個までしか変数とれないんですか?」 の意味がわからんw

939 名前:Name_Not_Found 投稿日:2005/05/24(火) 23:39:23 ID:???
「書き込む前にまずgoogleとかで検索しろ」 とか書いてほしい。<次スレの

940 名前:Name_Not_Found 投稿日:2005/05/24(火) 23:51:51 ID:???
>>936 その「a b c d e f」をどのように使うのか説明しなければ
永遠に回答は得られないだろう。
>>939 こんな感じ?
【質問を書く上で】
1)多くの質問は検索すれば瞬時に分かるようなもの。書き込む前にまず
googleで検索すること。検索してないとどう煽られても文句は言えない。
2)ユーザ(閲覧者)に迷惑がかかる性悪スクリプトは回答されない。
 例: 別窓開きまくり、閉じる/戻るのを妨害、全画面占有、etcは最悪。
 答えさせようと「分からねえんだろ」と煽っても無駄(過去スレが証明)。
3)言葉でぐだぐだ書かずにソースを貼る、ただし要点を整理して。
 そのまま貼って動かせると試してもらいやすい(ただし回答者に連結さすな!)
 長い(1レスに入らない)場合はアップロードしてURIを貼る。
4)初心者という言葉は危険なので使わない方がよい。
 初心者を言い訳に自力で調べない/考えない奴が最悪に嫌われる。
5)自分で調べたこと/試したこときちんと書く(調べもしない奴は最低)。
 ただ「動きません」「エラーです」は何も情報がないため嫌われる。
 エラーは「どの行で何のエラー」を書く(ブラウザをそのように設定すれ)。
 OS、ブラウザ、バージョン、うまく行かない条件を明記しエラー再現可能に。
6)どういう時にどういう動作をさせたいのかを脳内にとどめずきちんと書く。
 例:「自動ポップアップしたい」←どういう場合(マウスオーバー、クリック、
 ボタン押し、select選択)に何(別窓、レイヤー、その他)が出るのか書け!
7)質問はまっとうな(他人に理解できる)日本語で。
 前項の例に限らず、他人に理解できない質問文は煽られるだけで時間の無駄

941 名前:Name_Not_Found 投稿日:2005/05/25(水) 00:04:19 ID:???
>>940
いいねえ。
「google"等"で検索〜」 の方がいいかな?
あと、煽る、っつーか無視するんじゃないかと思うわ。(笑

942 名前:Name_Not_Found 投稿日:2005/05/25(水) 00:06:08 ID:???
>>936
言うてることがよう分からんが、とりあえずその calc(f) においては
もう f は引数で使われているから、それ以外の予約語以外の文字列なら
可能な限り変数として扱えるよ

943 名前:808 投稿日:2005/05/25(水) 00:33:06 ID:???
<html>
<head>
<p>料金表</p>
<script language="JavaScript">
function calc(f){
f.g.value = parseInt(f.a.value)*22000+parseInt(f.b.value)*20000+parseInt(f.c.value)*5000+(f.d.checked ? 2000 : 0)+parseInt(f.e.value)*20000;
</script>
</head>
<form method="post">
Top以外(1ページあたり)・・・22,000円×<input type="text" size=4 name="a"><br>
テンプレートページ・・・20,000円×<input type="text" size=4 name="b"><br>
テキストのみ・・・5,000円×<input type="text" size=4 name="c"><br>
ロゴデザイン・・・2,000円<input type="checkbox" name="d"><br>
Flash>movie・・・20,000円×<input type="text" size=4 name="e"><br>
<input type="text" size=100 name="g"><br>
<input type="button" value="計算" onclick="calc(this.form)"><br>
</form>
</html>です!! 明らかな失敗はありますか??

944 名前:Name_Not_Found 投稿日:2005/05/25(水) 00:35:49 ID:???
明らかに括弧が足りないな

945 名前:Name_Not_Found 投稿日:2005/05/25(水) 00:37:10 ID:???
そりゃかっこ悪いというか、カッコウが鳴くというか

946 名前:Name_Not_Found 投稿日:2005/05/25(水) 00:41:12 ID:???
>>943
なんか、使いにくいフォームやなぁ
せめて初期値でも入れておいたら?
<input type="text" size=4 name="c" value="0">とか
あと、必ず計算結果が入るだけのテキストボックスなら
<input type="text" size=100 name="g" readonly> と読み取り専用の属性を入れておくとか
細かいが工夫をすると扱うのも楽

947 名前:808 投稿日:2005/05/25(水) 00:53:22 ID:???
script language="JavaScript">
function calc(f){
f.g.value = parseInt(f.a.value)*22000+parseInt(f.b.value)*20000+parseInt(f.c.value)*5000+(f.d.checked ? 2000 : 0)+parseInt(f.e.value)*20000;
}
</script>
</head>
<form method="post">
Top以外(1ページあたり)・・・22,000円×<input type="text" size=4 name="a" value="0"><br>
テンプレートページ・・・20,000円×<input type="text" size=4 name="b" value="0"><br>
テキストのみ・・・5,000円×<input type="text" size=4 name="c" value="0"><br>
ロゴデザイン・・・2,000円<input type="checkbox" name="d"><br>
Flash>movie・・・20,000円×<input type="text" size=4 name="e" value="0"><br>
<input type="text" size=100 name="g" readonly><br>
<input type="button" value="計算" onclick="calc(this.form)"><br>
</form> うまくできた上に、扱いやすくなりました! ありがとうございます!

948 名前:Name_Not_Found 投稿日:2005/05/25(水) 00:57:42 ID:???
>>947
>script language="JavaScript">
明らかにかっこ・・・もうええかw

949 名前:Name_Not_Found 投稿日:2005/05/25(水) 01:27:16 ID:???
>>941 「等」入れましょう。無視?絶対誰か煽ると思う…

新スレは975超えたら立てる予定。

950 名前:Name_Not_Found 投稿日:2005/05/25(水) 05:14:12 ID:???


951 名前:751 投稿日:2005/05/25(水) 07:36:49 ID:???
>>925>>927
・宗教戦争をスルーでき、他人の好みが自分と違っても寛容でいられる者

・InnerHTML/DOMの使い分けは、適材適所・人それぞれ。
 宗教戦争に陥らず、他人の好みが自分と違っても寛容でいられる者

これなら分かりやすいが長いかな?

952 名前:Name_Not_Found 投稿日:2005/05/25(水) 07:38:31 ID:???
なんで宗教戦争という言葉を使いたがるの?
ウマイこと言ってるとでも思ってんの?

953 名前:Name_Not_Found 投稿日:2005/05/25(水) 07:45:47 ID:???
>>951

・プログラミングは人それぞれ。自分の好みと違うものを見ても寛容でいられる者


954 名前:Name_Not_Found 投稿日:2005/05/25(水) 07:47:03 ID:???
思想の違いから来る対立だからじゃない?
いいか悪いかは別として、他にウマイ言い方あったら言ってみてよ。

しかし 「宗教戦争」 は innerHTML/DOM に限らず、他にもあるからなあ。
parseInt と eval とかもこのスレででてきたし。
他にもいろいろありそうな希ガス

955 名前:Name_Not_Found 投稿日:2005/05/25(水) 07:54:14 ID:???
つーか、質問者じゃなくて回答者のマナーだなそれw

寛容するのはいいけど、
よりスマートなスクリプトの書きかたがあったら教えて欲しい気はするね。

956 名前:751 投稿日:2005/05/25(水) 07:57:10 ID:???
>>936

function iFedUPWithSuchaQuestion(motherf,cker){
var you, var did, var know, var clearly, var nothihng, var about, var Jav, var ascript;
var structure, var and, var grammar;
var why, var dont;
you="crazy";
var search, var for, var the; var site, var which, var gives;
you = "dump";
the = "";
var information, var all;
you =motherf*cker;
var want;
and ="connection";
var leran, var it;
}
こんな感じにいくつでも規則にのっとればどんな名前でも変数を作れるよ。
この関数をしっかり読んで勉強してください。

957 名前:Name_Not_Found 投稿日:2005/05/25(水) 08:04:08 ID:???
異論もあるし今回は「宗教戦争」は入れない方向で。しかし言葉は
変えてもいいんだけど「宗教戦争」は現に存在するでしょ。
「相手を殲滅しようという」「根拠レスな信念に基づく」「喧嘩」。
不毛だから洩れは「宗教戦争」というマイナスイメージな言葉で
わざと呼んでいる。

958 名前:751 投稿日:2005/05/25(水) 08:13:28 ID:???
「意見の対立」位で押さえれば?

・プログラミング手法は人それぞれ。意見が対立しても寛容でいられる者

それと何も知らない人がinnerHTMLとかevalと書いただけで
食って掛かられた時の為に、どういう争点で対立しているのか
分かりやすい説明をしてるとこのURLなんかを天婦羅で揚げといた方が良いのでは?



959 名前:Name_Not_Found 投稿日:2005/05/25(水) 08:43:58 ID:???
CSSスレみたいに「議論はよそで」にしちゃうとか

960 名前:Name_Not_Found 投稿日:2005/05/25(水) 09:01:40 ID:???
>>959 議論できないスレになるなら洩れ来ないよ。
>>958 そうだねえ、「手法」というより「スタイル」「嗜好」かな。適
当なURIは存在してないように思う。とりあえず書いてみたけど、急が
ず次スレ内で時々貼って更新して行くんでどうかな。

【よくある主張の対立:他人の嗜好は尊重。得失の議論は歓迎】
・IE専用/アンチIE/クロスブラウザ:「○○は不要」「○○だけであと
 は無視」は不毛。質問者が分かって選択していれば尊重する。無知か
 らIE専なのは指摘してあげると親切。
・標準準拠 vs 使えればよい:標準はブラウザが変わっても維持される
 可能性大。非標準機能も得失を分かった上で使うならよい。
・MS vs アンチMS:MS固有の情報はMSのサイトで見ないと分からないが、
 そこだけ見ているとIE専になる。あとは上2件と同様。
・別窓、イベント抑止など:一般には迷惑スクリプトだが質問者に正当
 な理由があることも。尋ねて分かってないようなら煽っても可(w
・innerHTML vs DOM:それぞれに長所/弱点があるので理解した上で選
 択するべき。一概にどちらは駄目、とは言えない。
・eval():数値化→eval(x)⇔parseInt(x)/parseFloat(x)、変数参照
 →eval(v)⇔window[x]等、代替手段があることが多い。適切に選択を。
 必要な場合(例:まとまったコード文字列の評価)には使うのがよい。
・on属性 vs addHandler()等:ハンドラが1つだけと分かっていれば
on属性で簡単にハンドラを設定もあり。上書きが心配ならaddXXX()。
・JavaScript vs PHP等:サーバ側とJSのどちらが適切かという議論は
 ありだが、JSスレなので基本的にはJSでの方法を検討。

961 名前:Name_Not_Found 投稿日:2005/05/25(水) 09:11:06 ID:???
…まぁ来なくてもいいけどね

962 名前:751 投稿日:2005/05/25(水) 09:37:25 ID:???
>>960いいんじゃない?
「得失」だと分かりにくいんで「損得」でお願いします。

963 名前:Name_Not_Found 投稿日:2005/05/25(水) 10:47:40 ID:???
ノードの値を移し変える時

a.nodeValue = b.nodeValue;

これって危険かね?createTextしてappendChildするのが煩雑で。
なにかスマートで安全なやり方とかある?
それかinsertAdjacentTextか・・・

964 名前:Name_Not_Found 投稿日:2005/05/25(水) 11:03:45 ID:???
>>956
それJavaScriptだとエラーになるんだけど……
JScriptだとOKなの?

>>957
aがテキストノードであることが保障されているのなら全然問題はないでしょ。
それとも保障できないから危険だと思っているのかな?

まあinnerHTMLと同じで適材適所ってことでよくない?

965 名前:964 投稿日:2005/05/25(水) 11:05:37 ID:???
× >>957
>>963

ちなみに俺ならテキストノードのdataプロパティを使うかもしれない。

966 名前:Name_Not_Found 投稿日:2005/05/25(水) 11:12:18 ID:???
>>956
ひどすぎ。構文として間違ってるがな。

967 名前:Name_Not_Found 投稿日:2005/05/25(水) 11:22:17 ID:???
>>963
insertAdjacentTextはIE専だから、むしろa.nodeValue = の方が
いいと思うよ。aがテキストノードでない場合は無視されることに
なっているので、危険ということもないでしょ(まあ意図した効果
にはならないだろうけど)。

968 名前:751 投稿日:2005/05/25(水) 11:33:31 ID:???
function iFedUPWithSuchaQuestionAndMYSELF(motherf,cker){
var you, did, know, clearly, nothihng, about, Jav, ascript;
var structure, and, grammar;
var why, dont;
you="crazy";
var search, fo,r, the, site, which, gives;
you = "dump";
the = "";
var information, all;
you =motherf*cker;
var want;
and ="connection";
var learn,it;

var I,m, so, enbarrasss, because, who, really, understand;
it = "JavascriptRegulation";
var is, ME;
ME="real" + motherf*cker;
}

スマソ

969 名前:Name_Not_Found 投稿日:2005/05/25(水) 11:46:48 ID:???
>>936 >>943 >>947
これって calc の中って変数の宣言がされていなくて
フォーム内のテキストボックス(オブジェクト)の値同士の計算を
結果を表示するテキストボックスに与えている仕組みだよね?
要するに変数の定義じゃなく参照するテキストボックスの name が使われているってことで
a b c d e は変数ではないってことなんだが

970 名前:Name_Not_Found 投稿日:2005/05/25(水) 11:49:24 ID:???
>>969
そうだよ。でも既に質問者は満足して帰ってしまったと思われ…
解説してあげたければ質問者がまだいるうちに言わないと。

971 名前:Name_Not_Found 投稿日:2005/05/25(水) 12:11:07 ID:???
>>967
ありがと。insertAdjacentTextはIE専なんだ。

いろいろやってみたけど、
入れ物タグが生成物(まだテキスト値が入ってない)だと、
そのままnodeValueに入らないね。
(エラーが出なくてもnullのまま)
insertAdjacentText("afterBegin","値”)だと
firstChild.nodeValueに入るね。

まあ、createTextしてappendChildするよ。

972 名前:もな 投稿日:2005/05/25(水) 14:00:21 ID:RvzlxA9b
>>936
ありがとうございました。
すみません、2レスに分けたのは、携帯からの入力だったので、なぜか少しでも
長文になると、上手く送信されないというのが、その理由です。
ありがとうございましたm(__)m

973 名前:Name_Not_Found 投稿日:2005/05/25(水) 16:58:36 ID:???
地震予測スクリプトまだですか〜。
(((( ;゚Д゚)))ガクガクブルブル ...なんですが....

974 名前:Name_Not_Found 投稿日:2005/05/25(水) 17:10:09 ID:???
alert('地震が' + Math.floor(100000*Math.random()) + '日後に来ます!');

975 名前:Name_Not_Found 投稿日:2005/05/25(水) 17:12:24 ID:???
またそれか

976 名前:Name_Not_Found 投稿日:2005/05/25(水) 17:19:23 ID:???
971だけど。
ノード値を移して、表を作ってます。
表は作れたのですが、<TH>を入れてみたら、
先程まで作ることが出来た表のinsertCell()でクラッシュします。
原因がわかりません。ソースを載せますが、クラッシュしますので気をつけて。

var test_fragment = document.createDocumentFragment();
var table = test_fragment.createElement("table");
table.setAttribute("border","1");
test_fragment.appendChild(table);


var th_tr = table.insertRow(); //この部分を加えたら、おかしくなった。
//var tHeader = th_tr.appendChild(document.createElement("th")); この部分はエラーと関係ない

for(i=0;i<source_childNodes.length;i++ ){
  //source_childNodesはソースとなるDocumentFragmentの指定階層の子ノード群

var table_r = table.insertRow();
alert(table_r.outerHTML);         //このouterHTMLは正常。
var title = table_r.insertCell();   //*ここで強制終了。
title.appendChild(document.createTextNode(i));
var content = table_r.insertCell();
content.insertAdjacentText("afterBegin",source_childNodes[i].tagName);
}


977 名前:Name_Not_Found 投稿日:2005/05/25(水) 17:19:25 ID:???
新スレ
http://pc8.2ch.net/test/read.cgi/hp/1117009013/l50
残りのテンプレはバラバラに貼るので少々お待ちを。

978 名前:Name_Not_Found 投稿日:2005/05/25(水) 17:28:49 ID:???
>>976
insertRow()、insertCell()は規格上は「何行目」「何カラム目」を
指定しないといけないので、多少面倒でも指定してみたらどうかな。
ドキュメントで省略可能と書かれていても実際にやるとコケルとか
経験あるよ。

979 名前:Name_Not_Found 投稿日:2005/05/25(水) 18:01:15 ID:???
>>976
新スレの5番にサンプル貼ってみたがこういう方がよくないかな。

980 名前:Name_Not_Found 投稿日:2005/05/25(水) 18:06:47 ID:???
>>978

色々やってみたけど、
どうやら
var th_tr = table.insertRow(); //この部分を加えたら、おかしくなった。
に<TD>をいれてやらなければいけないようだ。
for文の前に、
var th_td = th_tr.insertCell();
したら直った。

でも<TR>に<TD>を作らなしに次の<TR>に<TD>を作ったら
クラッシュするほど怒るかな、ホント!!
<TR>に<TH>入れてるのにね!

981 名前:Name_Not_Found 投稿日:2005/05/25(水) 18:11:17 ID:???
>>980
ああなるほど! まあバグなんだろうね。ただし、TRの中に
1個もTH/TDがないっていうのはHTMLとして正しくないから
死なれても文句は言えないのかもよ。

982 名前:Name_Not_Found 投稿日:2005/05/25(水) 18:11:43 ID:???
新スレ
http://pc8.2ch.net/test/read.cgi/hp/1117009013/l50
残りのテンプレはバラバラに貼るので少々お待ちを。

983 名前:980 投稿日:2005/05/25(水) 18:24:52 ID:???
>>979 新スレ5
なるほどね。
var th_tr = table.appendChild(document.createElement("tr"));

なら<TD>無くても、OKでした。

つまり、<TR>はinsertRow()で作った場合、insertCell()しないと、
次で<TR>の下に<TD>を作るとクラッシュするんだね。

>>981
THを作ってもダメだったよ。
//var tHeader = th_tr.appendChild(document.createElement("th")); この部分はエラーと関係ない
書いてあるでしょ。


984 名前:980 投稿日:2005/05/25(水) 18:40:18 ID:???
×次で<TR>の下に<TD>を作るとクラッシュするんだね。
○次でinsertRow()して、その下にinsertCell()するとクラッシュするんだね。

appendChildすれば、クラッシュしないね。

insertRowは、そうするとTHをappendChildしたかに関わらず、
下に何らかの形で<TD>を作らないと、
次でinsertRow()して、その下にinsertCell()するとクラッシュするんだね。


985 名前:Name_Not_Found 投稿日:2005/05/25(水) 19:05:06 ID:???
insertRow()、insertCell()を使えば、<TBODY>を勝手に生成してくれるし、
以後の<TR><TD>生成は、<TBODY>を気にせずに<TABLE>から
直でコントロールできるのがいいよね。
でも、その点が今回は知らんが、色々と問題になってくるのでは?;

986 名前:Name_Not_Found 投稿日:2005/05/25(水) 19:11:41 ID:???
水を差すようで悪いが
何故新スレのほうで突っ込みを入れたのか
理解に苦しむ・・・

987 名前:Name_Not_Found 投稿日:2005/05/25(水) 20:32:46 ID:???
もっと人がいれば、話題繋ぎに新スレに引っ張りたかったんだろうけど
水曜は、みなさん週中で遊んでるのかね?忙しいのかね?

それか、父さん水曜だから珍しく仕事片付けちゃうぞ。のノリですか?

とにかく、今話題を巻いてもスレをまたぐ可能性があるから
様子見ってとこかな?

988 名前:Name_Not_Found 投稿日:2005/05/25(水) 20:50:03 ID:???
ホント人少ないですね… テンプレが連続してるのをやめようと思った
のだけど、誰もいなくて結果的に連続になってしまったorz

新スレ
http://pc8.2ch.net/test/read.cgi/hp/1117009013/l50


989 名前:Name_Not_Found 投稿日:2005/05/25(水) 21:45:48 ID:???
>>988
お疲れ様です

990 名前:Name_Not_Found 投稿日:2005/05/25(水) 21:55:03 ID:???
>>988

テンプレはもう終わり? カキコしても平気?

991 名前:Name_Not_Found 投稿日:2005/05/25(水) 23:07:43 ID:???
消費すれ

992 名前:Name_Not_Found 投稿日:2005/05/25(水) 23:21:30 ID:???
           ≡ ≡ ≡ 
     〃 ̄ヽ 三 ≡ ≡ 
   r'-'|.|  O |  三 ≡ ≡          _,,..,,,,,,_
   `'ーヾ、_ノ 二 ≡ ≡     ___ ノ ,' 3  `ヽーっ
      | ,|             /  (( /   ⊃  ⌒_つ
     | ,|            ./      `''ー---‐'''''"  |
     | ,|           | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|  /
   ,-/ ̄|、          .|_________|/   
   ー---‐'
           ≡ ≡ ≡ 
     〃 ̄ヽ 三 ≡ ≡ 
   r'-'|.|  O |  三 ≡ ≡             _,,..,,,,,,_
   `'ーヾ、_ノ 二 ≡ ≡     _____ノ , ' 3  `ヽ
      | ,|             /    (( /   ⊃ ⌒ノ
     | ,|            ./        `''ー---‐'''U|
     | ,|           | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|  /
   ,-/ ̄|、          .|_________|/   
   ー---‐'
           ≡ ≡ ≡ 
     〃 ̄ヽ 三 ≡ ≡ 
   r'-'|.|  O |  三 ≡ ≡              _,,..,,,,
   `'ーヾ、_ノ 二 ≡ ≡     ______ ノ ,' 3 `ヽ
      | ,|             /      (( /   ⊃ ノ
     | ,|            ./          `''ー┐;''U'' 
     | ,|           | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄| U
   ,-/ ̄|、          .|_________|/   
   ー---‐'

993 名前:Name_Not_Found 投稿日:2005/05/25(水) 23:32:37 ID:???
>>990
テンプレは終わったけど、何というか、テンプレを普通の書き込み
の中に混ぜて入れたかった(なぜかというと「テンプレが冒頭に集中」
というのはうるさい感じがするので避けたかった)。だからさっさと
書き込んで欲しかったのだが(w

994 名前:Name_Not_Found 投稿日:2005/05/25(水) 23:38:18 ID:???
テンプレはまとまってた方がいい

995 名前:Name_Not_Found 投稿日:2005/05/25(水) 23:44:34 ID:???
>>994
同意。散らばってると読みづらいよ。

996 名前:Name_Not_Found 投稿日:2005/05/25(水) 23:50:47 ID:???
じゃあ漏れも

997 名前:Name_Not_Found 投稿日:2005/05/26(木) 03:11:31 ID:???
握りに限るってか

998 名前:Name_Not_Found 投稿日:2005/05/26(木) 03:59:17 ID:???
一まとめされてこそのテンプレなんだが

999 名前:Name_Not_Found 投稿日:2005/05/26(木) 04:28:49 ID:???
999

1000 名前:Name_Not_Found 投稿日:2005/05/26(木) 04:29:47 ID:???
1000get

1001 名前:1001 投稿日:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。


戻る

偽Dat2HTML LO v1.0b13 Converted.
無料レンタル無料ホームページ無料オンラインストレージ