JavaScript の質問用スレッド vol.42

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

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

前スレ http://pc8.2ch.net/test/read.cgi/hp/1123824815/l50
まとめサイト http://web2ch.s31.xrea.com/?JS
過去スレ全集 http://user.ftth100.com/mirrorhenkan/javascript/
FAQ・注意・過去ログ・関連資料・関連スレ>>1-50またはまとめサイト
2Name_Not_Found:2005/10/12(水) 22:50:44 ID:???
【質問を書く上で】
1)ユーザ(閲覧者)に迷惑がかかる性悪スクリプトは回答されない。
 例: 別窓開きまくり、閉じる/戻るのを妨害、全画面占有、etcは最悪。
 答えさせようと「分からねえんだろ」と煽っても無駄(過去スレが証明)。
2)言葉でぐだぐだ書かずにソースを貼る、ただし要点を整理して。
 そのまま貼って動かせると試してもらいやすい(ただし回答者に連結さすな!)
 長い(1レスに入らない)場合はアップロードしてURIを貼る。
3)初心者という言葉は危険なので使わない方がよい。
 初心者を言い訳に自力で調べない/考えない奴が最悪に嫌われる。
4)自分で調べたこと/試したこときちんと書く(調べもしない奴は最低)。
 ただ「動きません」「エラーです」は何も情報がないため嫌われる。
 エラーは「どの行で何のエラー」を書く(ブラウザをそのように設定すれ)。
 OS、ブラウザ、バージョン、うまく行かない条件を明記しエラー再現可能に。
5)どういう時にどういう動作をさせたいのかを脳内にとどめずきちんと書く。
 例:「自動ポップアップしたい」←どういう場合(マウスオーバー、クリック、
 ボタン押し、select選択)に何(別窓、レイヤー、その他)が出るのか書け!
6)質問はまっとうな(他人に理解できる)日本語で。
 前項の例に限らず、他人に理解できない質問文は煽られるだけで時間の無駄
3Name_Not_Found:2005/10/12(水) 22:55:11 ID:CyRWCaGj
【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")
 を使えばできる。古いブラウザだと隠しフレームに読むなどのワザが必要。
4Name_Not_Found:2005/10/12(水) 22:55:50 ID:CyRWCaGj
【主張の対立:他人の嗜好は尊重。損得の議論は歓迎】
・仕様を読む:回答者なら仕様の該当部分は読んでいるべき。質問者でも
 仕様を読まずうだうだ書く奴は注意されて当然。読み間違いは生温く指摘。
・英文文書:翻訳の努力を惜しむべからず。 読めないなら和訳を探し、
 なければあきらめよう。翻訳サイトを知っている人はうまく誘導してあげて。
・IE専用/アンチIE/クロスブラウザ:「○○は不要」「○○だけであと
 は無視」は不毛。質問者が分かって選択していれば尊重する。無知か
 らIE専なのは指摘してあげると親切。
・標準準拠 vs 使えればよい:標準はブラウザが変わっても維持される
 可能性大。非標準機能も損得を分かった上で使うならよい。
・MS vs アンチMS:MS固有の情報はMSのサイトで見ないと分からないが、
 そこだけ見ているとIE専になる。あとは上2件と同様。
・別窓、イベント抑止など:一般には迷惑スクリプトだが質問者に正当
 な理由があることも。尋ねて分かってないようなら煽っても可(w
・innerHTML vs DOM:それぞれに長所/弱点があるので理解した上で選
 択するべき。一概にどちらは駄目、とは言えない。
・on属性 vs addXXX():ハンドラが1つだけと分かっていればon属性
 で簡単にハンドラを設定もあり。上書きが心配ならaddXXX()。
5Name_Not_Found:2005/10/12(水) 22:56:21 ID:???
【標準規格・リファレンス】
規格を読まずにどうなってるか分からんとか質問しないこと!

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

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

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

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_en
try.asp

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

ECMAScriptチュートリアル
http://www.axis.t.u-tokyo.ac.jp/~shunak/ecmascript/

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

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

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

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/
7Name_Not_Found:2005/10/12(水) 22:58:33 ID:CyRWCaGj
【検索】
「キーワード『…』で検索しろ」「ぐぐれ」と言われた場合はこちらへ
http://www.google.co.jp/

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

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

/* CSS・スタイルシート質問スレッド【47px】 */
http://pc8.2ch.net/test/read.cgi/hp/1126795599/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
8lexa:2005/10/12(水) 23:11:10 ID:???
htmlのヘッダーで、stylesheetを複数読み込む場合に、
aa.cssで、dvi.hogeが定義されていなければ
bb.cssを読み込む、または、bb.css内で、dvi.hogeを
定義したいのですがどのようにすれば良いでしょう?
style sheetで制御構文がないようなので、
javascriptでdocument.styleSheetsを中身を判断すれば
よさそうなのかな。。。というところまで調べましたら
よくわかりません。
ブラウザは、firefoxと、IE6で動作させたいです。
9Name_Not_Found:2005/10/12(水) 23:38:05 ID:???
え?

+JavaScript の質問用スレッド vol.42 +
http://pc8.2ch.net/test/read.cgi/hp/1129074823/
10Name_Not_Found:2005/10/13(木) 03:12:07 ID:???
人当たりよく親切ぽく説明してくれるけど内容は間違いだらけで動かない
→論外だが、オモロイw

キツく煽られるけど内容は正確でちゃんと動く
→2流

人当たりよく親切ぽく説明してくれ内容は正確でちゃんと動く
→ホンモノ、人の上に立てるヤシ
11Name_Not_Found:2005/10/13(木) 17:15:31 ID:???
他人には3.を要求しつつ自らは三流以下
>>10
12Name_Not_Found:2005/10/13(木) 17:21:58 ID:???
をコピペするヤシ
13Name_Not_Found:2005/10/14(金) 07:52:10 ID:???
JavaScriptって面白いですか?
14Name_Not_Found:2005/10/18(火) 00:08:08 ID:???
後発重複だぜ。削除依頼済み。

+JavaScript の質問用スレッド vol.42 +
http://pc8.2ch.net/test/read.cgi/hp/1129074823/
15Name_Not_Found
javascriptファイルから別のjavascriptファイルにリンクして呼び出す方法はあるのかな。

バリュクリの広告コードをジャバスクリプトファイル化しようとして
はたと困ってしまった。呼び出す部分はdocument.writeで書き出したら
いいのではと思ったけど、うまくいかないよ。