Name_Not_Found<>sage<>2011/02/25(金) 00:25:09.23 ID:???<> ━━━本スレに書く事を許される者は以下の通り━━━━━
 一、正しい(validな)HTMLとは何か知っており書ける者
 一、JavaScriptはJavaとは別物であると知っている者
 一、自ら学んでJavaScriptコードを書く意思を持つ者
 一、ユーザに迷惑となるスクリプトを書かない者
 一、質問を分かる日本語できちんと説明できる者
 一、トラブルを再現する最小限のサンプルを貼れる者
 一、テンプレ+FAQ>>2-10/過去ログ/関連資料を読める者
━━━━━━━━━━━━━━━━━━━━━━━━━━━
自力で書く気がない人は他のスレへ(テンプレ末尾参照)。
前スレhttp://hibari.2ch.net/test/read.cgi/hp/1295265321/
[必読]過去スレ全集 http://www2.atpages.jp/mirror/2ch/javascript/
      (閲覧のみ) http://usamimi.info/~mirrorhenkan/2ch/javascript/
      (閲覧のみ) http://wing2.jp/~mirrorhenkan/2ch/javascript/
[必読]ガイド https://developer.mozilla.org/Ja/JavaScript
(GuideをReferenceに→Netscape版言語仕様。多くの実装が準拠:ECMA-262.ed3)
FAQ・注意・過去ログ・仕様書・関連資料・関連スレ>>1-7 <>+ JavaScript の質問用スレッド vol.84 + Name_Not_Found<>sage<>2011/02/25(金) 00:25:52.73 ID:???<> 【質問を書く上で】

1)「何を、いつ、誰が、どこに、なぜ、どのように」動作させたいのかを
 簡潔に説明してください。ただ「動きません」ではわかりません。
 脳内おれおれ用語は混乱のもと。一般的な用語を使うようにしてください。

2)調べたこと・試したことを書いてください。
 OS、ブラウザ、バージョンを必ず明記しましょう。
 質問箇所(行数、エラー内容)を簡潔に。
 何のエラーかわからなければ、エラーメッセージをコピペ。
 各ブラウザのJSコンソールを活用しよう。

3)うまく説明できない時は、ソースを貼ると回答されやすいです。
 要点を整理して、エラーが再現するソースを貼ってください。
 1レスで収まらない場合は、アップロードしてください。
 http://jsbin.com/ や http://jsdo.it/ なども活用してください。

4)閲覧者の迷惑になる質問は回答されません。
 別窓を多数開く、閉じる・戻る・クリックを妨害、画面占有、など。
 「分かんねえの?」と煽っても無駄です。

5)「初心者なので」「初心者だから」「初心者ですみません」とか
 書かない方が無難です。
 知らない、できない、わからない、まちがい、は誰にでもありますから。 <> Name_Not_Found<>sage<>2011/02/25(金) 00:26:33.46 ID:???<> 【FAQその1】
Q1. 開いた別窓/フレームの内容にアクセスできないのですが…
A1. ページ内容が別サーバの場合セキュリティ制約により絶対無理です。
Q2. JavaScriptでローカルファイルを読み/書きたいのですが…
A2. Webではセキュリティ制約により絶対無理です。できたら恐ろしいことに…
Q3. 同じタグの中でonclick="foo()"とonclick="bar()"を同時に使いたいのですが…
A3. セミコロンで複数の文を区切れます。onclick="foo();bar();"としましょう。
Q4. document.write(...)でページ内容を追加したいのですが…
A4. 一度ページ表示完了後にwrite()すると内容はクリアされちゃいます。
  部分的に内容変更するには(1)他フレーム/iframe/別窓への表示、
  (2)textarea等への表示、(3)DOMでノード挿入、(4)innerHTMLのどれかで。
  innerHTMLは非標準ですがIE、Opera、Safari、Gecko(N6/N7/Firefox等)で対応済。
Q5. table/tbody/tr要素のinnerHTMLを書き換えるのがうまく行かないのですが…
A5. IEはそれらの要素のinnerHTMLは変更不能。DOMを使って書き換えるか
  <div><table>...</table></div>とでもしてdivのinnerHTMLを書き換えましょう。
Q6. DOMでtable要素にtr要素を追加しても表示されないのですが…
A6. DOMでは(XHTML 1.x除く)tbody要素にtr要素を追加する必要があります。
  tbody要素はtbodyタグを書いていなくても自動的に作成されます。
  またはtable.insertRow()/tbody.insertRow()を使いましょう。
Q7. 変数w1、w2…を順にループで(番号をiに入れて)設定/参照したいのですが…
A7. グローバル変数はwindowのプロパティだからwindow['w'+i]を読み書きすれ。
Q8. フォーム部品名を変数にした「...myform.変数名.value」が動きません…
A8. 「document.forms.myform.elements[変数名].value」でどぞ。
  JavaScriptでは一般に「obj.x」と「obj['x']」は同じ意味です。
Q9. Aタグのonclickで動作指定してるのですが時々動きません…
A9. 「onclick="...;return false"」としないとページ移動しちゃうから。 <> Name_Not_Found<>sage<>2011/02/25(金) 00:27:10.74 ID:???<> 【FAQその2】
Q10. CSSで設定した背景色がe.style.backgroundColorで取得できないのですが…
A10. 取得には document.defaultView.getComputedStyle() を使う必要あり。
  IEでは要素オブジェクトのプロパティcurrentStyleを使う。
Q11. 100*1.15の結果が114.999…998となってしまうのですが…
A11. コンピュータの実数計算は全て近似値だと思え。誤差が嫌なら整数で計算。
Q12. 任意のデータをサーバ(別鯖ではない)から取り寄せたいのですが…
A12. IE7/Gecko/Opera/Safariのnew XMLHttpRequest()、IEの
  new ActiveXObject("Msxml2.XMLHTTP.6.0") (または"Msxml2.XMLHTTP.3.0")
  を使えばできます。古いブラウザだと隠しフレームに読むなどのワザが必要。
Q13. setAttribute("class","foo")、setAttribute("onclick","bar()")が動きません…
A13. IEではそれは不可。「obj.className="foo"」「obj.onclick=bar」でどぞ。
  複数の関数を呼びたいときは obj.onclick=function(){foo();bar();};
  という風に無名関数を作りましょう。中に書かれたコードが実行されます。
Q14. タイマーやイベントハンドラに設定するコードにthisを含めたいのですが
  「"...this..."」とか「function(){...this...}」ではうまく行きません。
A14. それらが実行されるときはthisは別のもの(window等)を指してしまってる。
  「function(x){return function(){...x...};}(this)」のようにthisを別の変数に
  束縛しその変数を使って。循環参照によるメモリリーク問題あり(この項記述検討中)
Q15. 文字列の置き換えをするときにコードを使いたい(Perlのs///e)のですが…
A15. string.replace(/.../,function(str,p1,p2,...,offset,s){...})としましょう。
  正規表現にマッチした文字列がreturnで返された文字列に置き換えられます。
  各引数はstrがマッチした部分文字列、p1,p2,...が1番目、2番目、…の()の中身、
  offsetがマッチした位置、sが置き換え前の文字列全体になります。 <> Name_Not_Found<>sage<>2011/02/25(金) 00:27:37.97 ID:???<> 【FAQその3】
Q16. input type="file"の値を設定(参照)できないのですが…
A16. セキュリティ制約のため設定は絶対に不可。参照はブラウザにより不可。
Q17. getElementById('ID名')や$('ID名')で要素が取れないのですが…
A17. コード実行時点でHTMLがそこまで読まれてない。onload中でやるとか。

【主張の対立:他人の嗜好は尊重。損得の議論は歓迎】
・仕様を読む:回答者なら仕様の該当部分は読んでいるべき。質問者でも
 仕様を読まずうだうだ書く奴は注意されて当然。読み間違いは生温く指摘。
・英文文書:翻訳の努力を惜しむべからず。 読めないなら和訳を探し、
 なければあきらめよう。翻訳サイトを知っている人はうまく誘導してあげて。
・IE専用/アンチIE/クロスブラウザ:「○○は不要」「○○だけであと
 は無視」は不毛。質問者が分かって選択していれば尊重する。無知か
 らIE専なのは指摘してあげると親切。
・標準準拠 vs 使えればよい:標準はブラウザが変わっても維持される
 可能性大。非標準機能も損得を分かった上で使うならよい。
・MS vs アンチMS:MS固有の情報はMSのサイトで見ないと分からないが、
 そこだけ見ているとIE専になる。あとは上2件と同様。
・別窓、イベント抑止など:一般には迷惑スクリプトだが質問者に正当
 な理由があることも。尋ねて分かってないようなら煽っても可(w
・innerHTML vs DOM:それぞれに長所/弱点があるので理解した上で選
 択するべき。一概にどちらは駄目、とは言えない。
・on属性 vs addXXX():ハンドラが1つだけと分かっていればon属性
 で簡単にハンドラを設定もあり。上書きが心配ならaddXXX()。 <> Name_Not_Found<>sage<>2011/02/25(金) 00:28:37.78 ID:???<> ECMA-262 ed.3
→ ttp://www.ecma-international.org/publications/standards/ECMA-262.HTM
→ ttp://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/ (和訳)
W3C Document Object Model Technical Reports
→ ttp://www.w3.org/DOM/DOMTR
JavaScript 1.5 ガイド / リファレンス (Netscape/Mozilla)
→ ttp://developer.mozilla.org/ja/docs/Core_JavaScript_1.5_Guide (和訳)
→ ttp://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference
→ ttp://developer.mozilla.org/ja/docs/Core_JavaScript_1.5_Reference (和訳)
JSON (JavaScript Object Notation)
→ ttp://www.json.org/json-ja.html
→ ttp://jsgt.org/ajax/ref/test/json/test1.htm
E4X (ECMAScript for XML)
→ ttp://www.ecma-international.org/publications/standards/Ecma-357.htm
→ ttp://www.ne.jp/asahi/nanto/moon/specs/ecma-357.html (和訳)
Mozilla Gecko DOM Reference, Netscape devedge
→ ttp://developer.mozilla.org/en/docs/Gecko_DOM_Reference
→ ttp://developer.mozilla.org/ja/docs/Gecko_DOM_Reference (和訳)
→ ttp://devedge-temp.mozilla.org/central/javascript/index_en.html
MSDN Library JScript / DHTML (現在日本語版は古杉)
→ ttp://msdn.microsoft.com/ja-jp/library/z688wt03%28VS.80%29.aspx
→ ttp://msdn.microsoft.com/ja-jp/library/cc409720.aspx <> Name_Not_Found<>sage<>2011/02/25(金) 00:28:59.62 ID:???<> 【チュートリアルサイト・サンプルサイト】
規格が読めないならまずはチュートリアル。サンプルサイトも沢山ある。
(以下は精選すべきとの議論あるが進んでいないので玉石混淆)
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
→ http://www.openspc2.org/JavaScript/
【関連スレ】
板違い、スレ違いに注意!サーバ側での処理はWebProg板へどぞ!
Webサイト制作初心者用質問スレ part222
→http://hibari.2ch.net/test/read.cgi/hp/1291304974/
CSS初心者スレッド=9th=
→http://hibari.2ch.net/test/read.cgi/hp/1287470663/
役に立つ書籍は? 4冊目
→ http://hibari.2ch.net/test/read.cgi/hp/1172823674/l50
1行javascriptプログラミング
→ http://hibari.2ch.net/test/read.cgi/hp/1066750037/l50
WSH(・∀・)スレッド! Part 4
→ http://hibari.2ch.net/test/read.cgi/tech/1243095768/l50
【誰か】jQueryのここがわからない【助けて】
→ http://hibari.2ch.net/test/read.cgi/tech/1229881548/ <> Name_Not_Found<>sage<>2011/02/25(金) 00:29:28.06 ID:???<> テンプレここまで <> Name_Not_Found<>sage<>2011/02/25(金) 02:34:17.98 ID:???<> いやー相変わらずテンプレ長いなw
<> Name_Not_Found<>sage<>2011/02/25(金) 07:10:02.58 ID:???<> スレ建ておつかれ様でした、ありがとうございました。

ではさっそく。(1)テンプレ廃止(>>1 のみにする)案に賛成の人、
(2)何らかの整理をして減らす提案のある人、ぜひご意見を。

個人的には >>2 が簡潔になったので、次はFAQ類(>>3-5)を整理
してできれば1レスに減らしたいと感じる。 <> Name_Not_Found<><>2011/02/25(金) 07:14:50.24 ID:qoYLfFul<> >>10
むしろ>>2が最初でいいかもしれんね
こんなこと言うと怒られそうだけど>>1はちょっと説教くさい気が… <> Name_Not_Found<>sage<>2011/02/25(金) 11:40:46.08 ID:???<> 連投規制に引っ掛かったから少なくとも>>1-5までにまとめてほしい <> Name_Not_Found<>テンプレ議論<>2011/02/25(金) 17:20:33.25 ID:???<> FAQは@wikiでも借りてそこにうつすとかする?
するんだったら自分がwiki借りてきます <> Name_Not_Found<>sage<>2011/02/25(金) 17:24:06.68 ID:???<> どうせ誰も読まない <> Name_Not_Found<><>2011/02/25(金) 17:42:35.11 ID:+Y3UglGU<> すいません
JQUERYを、ダウンロードしたいです
サイトいって、ダウンロードを、クリックしたのですが、ソースコードが、でます。
ダウンロードをできません。
どうしたらよいでしょう? <> Name_Not_Found<>sage<>2011/02/25(金) 17:44:58.51 ID:???<> ダウンロードできないならコピペすればいいじゃない <> Name_Not_Found<>sage<>2011/02/25(金) 17:46:08.35 ID:???<> >>15
いや、JavaScriptファイルはただのテキストファイルだし
コードが表示されてるならそれで十分なわけだが。 <> Name_Not_Found<>sage<>2011/02/25(金) 17:51:57.64 ID:???<> コードが表示されたならCtrl+S(ページを保存)を押せば良い <> Name_Not_Found<><>2011/02/25(金) 17:54:24.52 ID:+Y3UglGU<> なるほど。
しらなかった
恥ずかしい
<> Name_Not_Found<>sage<>2011/02/25(金) 19:10:10.91 ID:???<> FAQ とリンクをまとめてみた。
http://jsbin.com/usoca5/2 <> Name_Not_Found<>sage<>2011/02/25(金) 19:23:53.75 ID:???<> 思ったけどFAQをテンプレとして貼るのって無駄だよね
全部網羅するのは不可能だし、たった17個しかないから役に立ってるのか疑問 <> Name_Not_Found<>sage<>2011/02/25(金) 19:26:48.83 ID:???<> テンプレは >>1-2>>7の関連スレだけでいい気がする。
リファレンスやFAQは随時更新されるものだから、余所にあっても問題ないし。 <> 21<>sage<>2011/02/25(金) 19:31:43.73 ID:???<> あとFAQの内容が更新されてないから内容が古すぎる、
IEでは不可とか書いてあるけどIE7以降は可だったり(Q13)するからバージョンも併記しないと勘違いの元 <> Name_Not_Found<>テンプレ議論<>2011/02/25(金) 19:37:13.27 ID:???<> >>20
jsbinいいな、編集できるし、コードもアップできるし
と思ったが、テキストがエンティティ化されとる… <> 20<>sage<>2011/02/25(金) 19:39:59.04 ID:???<> >>24
すまん。なんとかしたかったんだが、日本語を入力すると化けるんだ。
document.documentElement.outerHTML でコード出力して編集させるとか面倒だよな…。 <> 20<>sage<>2011/02/25(金) 19:45:02.77 ID:???<> 暫定措置として、http://codepad.org/ZmhQ3lpV にエンティティ化前のHTMLソースをUPしておいた。 <> Name_Not_Found<>sage<>2011/02/26(土) 00:26:10.93 ID:???<> みんなjavascript作るとき、何かソフト使ってる?
自分はメモ帳使ってるんだけど、何かいい補助ソフトあるか探してます <> Name_Not_Found<><>2011/02/26(土) 00:26:59.66 ID:jifL/jd7<> わざわざ乙です
なんかいい方法が見つかるといいな

ただjsbinがマルチバイト対応してないとなると
質問や回答でも困ることがあるやも知れんね <> Name_Not_Found<>sage<>2011/02/26(土) 00:28:38.35 ID:???<> >>27
NetBeans <> Name_Not_Found<><>2011/02/26(土) 00:39:01.02 ID:jifL/jd7<> >>27
普段使いのテキストエディタはmi、EmEditor、vim
JSだけの開発じゃないときはeclipseも使うなあ

ちょっとした色分けと、入力・インデント支援があった方がいいと思う

メモ帳やテキストエディットだと、ちょっと使いづらい
というか、ながらく使ってない <> Name_Not_Found<>sage<>2011/02/26(土) 00:40:19.01 ID:???<> 色分け、支援があるとイージーミス減るからな <> Name_Not_Found<>sage<>2011/02/26(土) 00:42:24.75 ID:???<> eclipseって補完機能ある? <> 20<>sage<>2011/02/26(土) 01:02:34.26 ID:???<> jsFiddle を使ってみた。
http://fiddle.jshell.net/vSqKr/5/show/

日本語も通るし、案外いいかも。編集したい時は "show/" を URL から削ればいい。 <> 20<>sage<>2011/02/26(土) 01:18:37.04 ID:???<> >>23
> IEでは不可とか書いてあるけどIE7以降は可だったり(Q13)するからバージョンも併記しないと勘違いの元
間違っていたらすまないが、その修正は IE8 からではなかったかな。
http://fiddle.jshell.net/vSqKr/6/show/#Q13 に参考URLも載せたので、間違っていたら適宜修正して欲しい。 <> Name_Not_Found<>sage<>2011/02/26(土) 01:47:00.54 ID:???<> 関数とかにリンク当てたいけどいじっても大丈夫なのこれ <> Name_Not_Found<>sage<>2011/02/26(土) 01:50:28.47 ID:???<> 元のは削除されないしいいんじゃない <> Name_Not_Found<>sage<>2011/02/26(土) 01:59:09.80 ID:???<> バージョン管理されてるのかありがと <> Name_Not_Found<>sage<>2011/02/26(土) 02:21:29.60 ID:???<> http://fiddle.jshell.net/vSqKr/9/show/
目がかすんできたt <> Name_Not_Found<>sage<>2011/02/26(土) 07:04:57.59 ID:???<> >>32
プラグイン次第 <> Name_Not_Found<>sage<>2011/02/26(土) 10:08:31.17 ID:???<> FAQを別サイトに置いたら絶対今よりメンテしなくなると思うけど、
とりあえず2〜3スレくらいの間試すのもいいかと思う。個人的には
1レスに圧縮したFAQなら入れておいていいと思うんだけどな。

>>1 をやめて>>2>>1 にするというのはどうなんだろう。
今のはJavaと区別つかない人や自分で書く気がない人に
「よそへ行け」というのに便利だけど。 <> Name_Not_Found<>sage<>2011/02/26(土) 10:14:03.13 ID:???<> >FAQを別サイトに置いたら絶対今よりメンテしなくなると思うけど
これは100%そうなる、断言する。

過去スレ全集をあげてるのもここ1年以上俺一人だけで
しばらく放置してても誰一人あげようとしない。
てことで今から83まであげてきます・・・(´;ω;`)ぶわっ <> Name_Not_Found<>sage<>2011/02/26(土) 10:20:53.96 ID:???<> てことで79〜83まで補完完了。
誰でもできるから気づいたらアップロードしてね! <> Name_Not_Found<>sage<>2011/02/26(土) 11:09:56.18 ID:???<> これは乙じゃなくてポニーテル <> Name_Not_Found<><>2011/02/26(土) 12:39:40.04 ID:hfiQkurk<> >>41
これは乙じゃなくてモーニングスターの鎖 <> Name_Not_Found<><>2011/02/26(土) 14:03:46.18 ID:p66DJRdR<> よろしくお願いします
更新するたびにランダムでテキストが表示されるJavascriptを
外部の.jsから読み込んでいます
var msg = new Array();
msg[0] = '';
msg[1] = '';
msg[2] = '';
msg[3] = '';
msg[4] = '';
var no = Math.floor(Math.random() * msg.length);
document.write(msg[no]);
この項目を100とか500に増やしたいんですが、
そこまで増やすと処理が重くなってしまいますか?
大して問題ないでしょうか? <> Name_Not_Found<>sage<>2011/02/26(土) 14:06:18.09 ID:???<> なぜやってみない…… <> Name_Not_Found<>sage<>2011/02/26(土) 14:22:00.60 ID:???<> 環境によるとしかいいようがないが、500程度なら気にしないな <> Name_Not_Found<>sage<>2011/02/26(土) 14:22:21.80 ID:???<> 項目分メモリ消費量が増えるだけだろ・・・ <> Name_Not_Found<>sage<>2011/02/26(土) 14:30:50.65 ID:???<> 更新するたびにって考えると無駄が大杉
いっそHTMLに書いて、選択すべし <> Name_Not_Found<>sage<>2011/02/26(土) 15:30:14.02 ID:???<> FAQ、プレーンテキストみたいで味気ないよー。
Web制作板なんだからもうちょっと装飾してよ。 <> Name_Not_Found<>sage<>2011/02/26(土) 15:39:52.78 ID:???<> カラフルにしよか <> Name_Not_Found<>sage<>2011/02/26(土) 16:00:30.57 ID:???<> もともとテンプレに入れていたFAQなんだから別にそのままでいいと
思うよ。FAQをテンプレから削りたい人は色とかつけて元に戻せなく
したいのかも知れないけど。 <> Name_Not_Found<>sage<>2011/02/26(土) 16:05:59.25 ID:???<> >>46
自分の環境だけでは何とも言えないので・・・
こういう処理が一般的に負荷がどの程度のものなのか理解してないので
質問させていただきました

>>47
気にしなくて大丈夫そうですか
<> Name_Not_Found<>sage<>2011/02/26(土) 16:06:12.52 ID:???<> body内にbody書くなよw <> Name_Not_Found<>sage<>2011/02/26(土) 16:15:52.91 ID:???<> リビジョン8の時にあった関数リンクが9には消えてる・・・
複数人同時編集はまずいな <> Name_Not_Found<>sage<>2011/02/26(土) 16:54:07.99 ID:???<> >>45
まだ半人前なので的外れな回答かもしれないけど、msg1.txt、msg2.txt・・・とメッセージ毎の
ファイルを作って、Ajaxで目的のメッセージファイルをロードするのとかはどうかな? <> 20<>sage<>2011/02/26(土) 19:59:14.67 ID:???<> >>38 をベースに更新した。(rev10, 11 でバージョンダウンしている感じなんだが、どんな意図で編集されたかわからなかったので保留した。)
http://fiddle.jshell.net/vSqKr/13/show/

・コード部分をシンタックスハイライトさせて、サンプルコードをいろいろ追加してみた。
・サンプルは一応、循環参照しないコードにしておいた。
・mootools.js (未使用) を include していたので解除した。

>>35,38
乙です。document.write のリンクがおかしいのと Q13 が消えていたので直しておきました。

>>50
俺はデザインセンスがないので、センスある人が着飾ってくほしい。言い出しっぺの法則でよろしく。 <> 20<>sage<>2011/02/26(土) 20:11:17.85 ID:???<> 配色は好みがあるので何ともいえない(ライブラリのでフォルの配色から変えてない)が、CSS で決めているのでセンスある人がいじればいいと思う。
HTML に手を入れなければ修正は簡単だろうし。 <> Name_Not_Found<>sage<>2011/02/26(土) 20:13:57.64 ID:???<> ええね、乙 <> Name_Not_Found<>sage<>2011/02/26(土) 22:03:45.92 ID:???<> それでこの20さんはずっと管理できるの?
作るだけ作って放置するならないほうがマシだよ <> Name_Not_Found<>sage<>2011/02/26(土) 22:21:41.84 ID:???<> 一人で管理できるわけないだろう。誰でも編集できる場所にUPした意図がわからない? <> Name_Not_Found<>sage<>2011/02/26(土) 22:24:39.50 ID:???<> いや、だから誰でも編集できるから悪戯に改変できるでしょ
それを元に戻したり規制したりするのが管理者の役目なわけだ
それを継続できるのかって話、わかる? <> Name_Not_Found<>sage<>2011/02/26(土) 22:25:40.37 ID:???<> wikiでもそうだけど
誰でも書き換えられる=管理者がいない
わけじゃないからなw <> Name_Not_Found<>sage<>2011/02/26(土) 22:29:31.76 ID:???<> 使えなくなるまで使えばいい、wikiなんかそんなもんだし <> 20<>sage<>2011/02/26(土) 22:40:50.69 ID:???<> ちょっと待て。いつの間に俺が管理者ということになってるんだ。

>>62-63 は「始めに書いた人が永続的に管理する義務を負う」イメージがあるようだが、>>3-4 を書いた人だって定期的にここに来てFAQを管理しているわけじゃないだろう。(実際、情報が古すぎると思った)
始めに書いた人と更新する人が別だっていいし、現実的に一人の人が更新し続けられるとも思えない。

Wiki だって管理する人がいるから成立すシステムなのはわかるが、同じ人が永続的に管理する義務を負わないと思う。
もし同じ人が更新し続ける義務を負うなら、Wiki にしないで一人の個人サイトを公開する方が信頼性が高いだろう。
それでも Wiki にするのは俺がそうであるように一人で管理し続けられない人が集まっているからだと思う。 <> Name_Not_Found<>sage<>2011/02/26(土) 22:47:47.91 ID:???<> 更新=管理じゃないってば
根本的な管理が継続できるのかって話
それができないならわざわざ外部のサービスに頼る必要もないでしょ
本スレにいままでどおり載せればいいだけ <> Name_Not_Found<>sage<>2011/02/26(土) 22:51:05.36 ID:???<> 思いつきだけでやって>>41みたいに放置になるだろうなw
FAQを別サイトに置くと今までよりも既出質問に対するレスをする手間が増えると思うんだが
そこまで固執する意味は何? <> Name_Not_Found<>sage<>2011/02/26(土) 22:54:58.15 ID:???<> datファイルをアップロードするだけでも何ヶ月も忘れられる現状を見ると、たしかにFAQでも外部サイトはどうなんだろうと思ってしまうね。
ファイル1つアップロードするよりFAQを編集する手間の方が遥かにかかるだろうし。 <> Name_Not_Found<>sage<>2011/02/26(土) 23:00:10.85 ID:???<> 何が言いたいのかよく分からないがスレを消費するぐらいの頻度でFAQを編集するつもりなのかい? <> Name_Not_Found<>sage<>2011/02/26(土) 23:05:32.52 ID:???<> アクセス解析握ってるやつが管理人
これ常識 <> Name_Not_Found<>sage<>2011/02/26(土) 23:16:53.17 ID:???<> テンプレてこのスレでは結構重要な部分だと思うけどな

たとえば2chは機能しててテンプレサイトが見られないor機能してないって状況も
この先必ず発生するだろうけどそういうリスクも考えた?
そういうことも考えられないならプログラマとして致命的だよ <> 20<>sage<>2011/02/26(土) 23:22:02.97 ID:???<> FAQ を別にしてみたのは「テンプレ長い」という意見が散見されたので試してみただけ。
実際やってみて現状維持を良しとする人が多数派だったのは意外だったが…。
ほとんどの人が求めていないようなのでもう止めることにする。

ただ、現在の FAQ が管理できているとは思わない。そこで打開策を求める展開を少し期待してた。 <> Name_Not_Found<>sage<>2011/02/26(土) 23:22:55.41 ID:???<> 数レスに収まる程度のFAQなんて範囲狭くてほとんど役に立ってないし、無いほうがマシ
保守気取ってるつもりなら自分でFAQ更新してスレ立ててくれ <> Name_Not_Found<>sage<>2011/02/26(土) 23:25:30.50 ID:???<> いつまでも長引かせて質問が流れるから帰って迷惑だったな
そういうのはこっそり作ってこっそりテンプレに追加しとくもんだ <> Name_Not_Found<>sage<>2011/02/26(土) 23:39:19.03 ID:???<> >>3-5 は不要な気がしてきた。 <> Name_Not_Found<>sage<>2011/02/26(土) 23:48:56.54 ID:???<> 理解してる側からしたら不要だろうね
だが回答するときに安価ひとつで回答できるのはありがたい
未だにというか今後も同じような質問が繰り返されるからね <> Name_Not_Found<>sage<>2011/02/26(土) 23:51:08.28 ID:???<> >>34みたいにリンクひとつでいいじゃない <> Name_Not_Found<>sage<>2011/02/26(土) 23:55:52.66 ID:???<> 上で管理しないものは不要といわれているが、>>3-5 も管理されている感じはしないな。
誰も更新しようとしてない気がする。 <> Name_Not_Found<>sage<>2011/02/26(土) 23:57:41.08 ID:???<> おい、そこループさせてんじゃねーよ
てめーはバグか <> Name_Not_Found<>sage<>2011/02/27(日) 00:03:15.03 ID:???<> >>79
Σ(゚Д゚) おまえが俺たちをプログラムしたのか <> Name_Not_Found<>sage<>2011/02/27(日) 02:58:09.03 ID:???<> 面白いスレだなここ <> Name_Not_Found<>sage<>2011/02/27(日) 08:35:55.47 ID:???<> 過去スレ全集を見れば分かるように、FAQは更新/メンテされているよ。
数スレ〜10スレに1回くらいの頻度かと思うけど。
というか、過去スレ全集見ればすぐ分かるのになぜ確認しないのかと… <> Name_Not_Found<><>2011/02/27(日) 09:37:59.75 ID:qZaQmnAw<> きっとあなたが過去スレ見てくれると信じてた <> Name_Not_Found<>sage<>2011/02/27(日) 12:21:35.79 ID:???<> popstateって何をしたら発生するイベント? <> Name_Not_Found<>sage<>2011/02/27(日) 12:25:10.10 ID:???<> 10スレに1回の更新でメンテされてるっていえるん? <> Name_Not_Found<>sage<>2011/02/27(日) 12:30:30.75 ID:???<> 質問です。
インラインフレームの中に作ったメニュー画面内で、
ページ移動先にある[戻る]ボタン押すと直前のページ位置に戻るようにしたいのですが

<input type="button" value="戻る" onclick="self.history.back()">

のようにしてhistory.backを実行させるとIE, Opera, Safariでは期待通りの動きをするのですが、
Firefoxでは何の反応もしません。何故でしょうか?
<> Name_Not_Found<><>2011/02/27(日) 13:46:40.68 ID:Zr9/E6nS<> >>86
うごくよ? <> Name_Not_Found<>sage<>2011/02/27(日) 14:27:59.76 ID:???<> >>84
http://www.whatwg.org/specs/web-apps/current-work/multipage/history.html#event-popstate
https://developer.mozilla.org/en/DOM/window.onpopstate
http://webtech-walker.com/archive/2011/01/21123625.html
<> Name_Not_Found<>sage<>2011/02/27(日) 17:15:31.07 ID:???<> >>82
更新頻度もあるが、全体的に内容が古くないか?
>23のような指摘があってもスルーされていた事が何度もあったように思うが。
A14 の循環参照は特に酷い。http://msdn.microsoft.com/ja-jp/library/bb250448%28v=vs.85%29.aspx のことだろうが、5年もの間 (この項記述検討中) のまま。 <> Name_Not_Found<>sage<>2011/02/27(日) 17:16:20.38 ID:???<> まだやってたのか <> Name_Not_Found<>sage<>2011/02/27(日) 17:23:07.05 ID:???<> 他の人の反応見てれば自明だろ。誰も関心がないから内容が古い。ようするに不要。 <> Name_Not_Found<>sage<>2011/02/27(日) 17:33:08.55 ID:???<> この部分が古いから書き直しましたって言って貼ってくれれば、次スレから更新されるよ
どうせ問題が発生するまで誰もいじらないんだから、不満があるなら黙ってパッチを送ればいいんだよ <> Name_Not_Found<>sage<>2011/02/27(日) 17:45:15.08 ID:???<> >>92
そういうことじゃなくて今まで管理できていなかったんだから、今後も管理継続できる見込みがないだろう、という話。>>62 と同じ。 <> Name_Not_Found<>sage<>2011/02/27(日) 17:49:24.26 ID:???<> wikiのシステムと勘違いしてないか <> Name_Not_Found<>sage<>2011/02/27(日) 17:52:14.47 ID:???<> 簡単に改変できるわけではないが、更新されなかったのは事実だな <> Name_Not_Found<>sage<>2011/02/27(日) 18:01:48.49 ID:???<> 正直、指摘できる点はいくつかあるんだが、「おまえがメンテしろ」といわれたら断る。他の人も同じなのかもね。 <> Name_Not_Found<>sage<>2011/02/27(日) 18:16:12.41 ID:???<> テンプレ議論が進まない理由はそれか <> Name_Not_Found<>sage<>2011/02/27(日) 18:37:01.69 ID:???<> 更新すればするほど文字数が増えて1レスに収まりきらなくなって分割されてどんどんスレ立てが面倒に <> Name_Not_Found<>sage<>2011/02/27(日) 19:59:50.74 ID:???<> この際、まず現在のFAQの各項目で残すもの削除するものを
皆で投票するとかどうだろうか。 <> Name_Not_Found<>sage<>2011/02/27(日) 20:03:33.74 ID:???<> それFAQっていうのか… <> Name_Not_Found<>sage<>2011/02/27(日) 23:00:29.74 ID:???<> 下記手順の4と5で結果が異なる理由と、
5にも変更を反映させるための方法(3のスクリプト)を教えて下さい。
IE6, FireFox3.6ともに以下結果となってます。

1.下記のような構成のページを作成し、
  全てのページを表示してブラウザにキャッシュさせる。
2.default.cssの内容を変更する。
3.main1.htmlの中で location.reload(true)を呼び出す。
  → default.cssに対する変更が反映される。
4.main2.htmlを表示(アンカータグクリック)する。
  → default.cssに対する変更が反映される。
5.main3.htmlを表示(アンカータグクリック)する。
  → default.cssに対する変更が反映されない。

main1.html(フレームなし)
  default.css

main2.html(フレームなし)
  default.css

main3.html(フレームあり)
  frame1.html
    default.css
  frame2.html
    default.css <> Name_Not_Found<>sage<>2011/02/28(月) 00:09:34.58 ID:???<> ヘッダにCache-Control: no-cache付けたらいいと思うよ <> Name_Not_Found<>sage<>2011/02/28(月) 07:20:46.08 ID:???<> >>102
すみません。記載が足りませんでした。
目的ですが、
通常はdefault.cssをクライアントキャッシュに格納し、
更新の発生したタイミングでキャッシュに反映しようとしてます。
フレームでないとできるのに、フレームだとできない状況です。 <> Name_Not_Found<><>2011/02/28(月) 09:11:16.37 ID:/kwXhIuG<> jqueryXMLでの結果を配列に入れたくて

hairetsu = new Array();
function xmlParser(xml) {
$(xml).find("data").each(function () {
hairetsu.push ($(this).find("name").text() );
});
}
このようにしたのですがOSXのsafariではちゃんと入ったけど
winのFFやIE、safariではうまくいきません。
どうすればhairetsuにデータを入れることができますか? <> Name_Not_Found<>sage<>2011/02/28(月) 12:40:19.04 ID:???<> FAQの整理案を作ってみたのでご意見を。

Q1、Q2→統合(似た内容なので1つで書けるかと)
Q3→削除(そんな質問めったにないし説明も簡単)
Q4→短く(クリアされることまで言えば十分)
Q5、Q6→統合(関連した内容なので1つで書けるかと)
Q9→削除(あまり無い質問だと思う)
Q10→残す
Q11→削除(あまり無い質問だと思う)
Q12→短く(今ならXHRでぐぐれで十分では)
Q13→短く(複数呼びたいとかは不要ではないかと)
Q14→循環参照リーク云々を削除して短く
Q15→削除(あまり無い質問だと思う)
Q16→残す
Q17→残す

これで9項目1レスにできないかなと。いかでしょ。 <> Name_Not_Found<>sage<>2011/02/28(月) 14:03:37.65 ID:???<> >>105
>>3-5って入れとこうぜ <> Name_Not_Found<>sage<>2011/02/28(月) 14:14:36.90 ID:???<> 続きはwebでみたく併用したらいいんじゃねの、 <> Name_Not_Found<><>2011/02/28(月) 15:23:43.77 ID:ijXD6pjr<> >>104
とりあえず
・XMLファイルが読めていないのか
・読めてはいるけどパース出来ていないのか
・パースも出来ているけどhairetsuにpush出来ていないのか

に切り分けてみようよ <> Name_Not_Found<>sage<>2011/02/28(月) 17:04:38.63 ID:???<> 多少 >>105 と変えたけどFAQ >>3-5 を9個に整理してみますた。
【主要FAQ】(全部は http://fiddle.jshell.net/vSqKr/13/show/ )
Q1. 別窓・フレーム内容やローカルファイルを読み書きしたいのですが…
A1. 別サーバのページやファイルの内容はセキュリティ制約でアクセス不可です。
Q2. document.write(...)でページ内容を追加したいのですが…
A2. 一度表示完了後にwriteするとページ内容が消去されます。DOM等別手段を。
Q3. table内容のinnerHTMLやDOMでの変更がうまく行かないのですが…
A3. IEではtable/tbody/trのinnerHTML書き換え不可です。DOMを使いますが、
  DOMの場合tableの直下にはtbody要素が(作らなくても)あることに注意。
Q4. フォーム部品名を変数にした「...myform.変数名.value」が動きません…
A4. 「document.forms.myform.elements[変数名].value」でどぞ。
  JavaScriptでは一般に「obj.x」と「obj['x']」は同じ意味です。
  グローバル変数はwindowのプロパティなので「x」と「window['x']」も。
Q5. CSSで設定した背景色がe.style.backgroundColorで取得できないのですが…
A5. 取得には document.defaultView.getComputedStyle() を使う必要あり。
  IEでは要素オブジェクトのプロパティcurrentStyleを使う。
Q6. setAttribute("class","foo")、setAttribute("onclick","bar()")が動きません…
A6. IEではそれは不可。「obj.className="foo"」「obj.onclick=bar」でどぞ。
Q7. タイマーやイベントハンドラに設定するコードにthisを含めたいのですが
  「"...this..."」とか「function(){...this...}」ではうまく行きません。
A7. 実行時にthisが別のものを指してしまってる。以下のようにthisを束縛保存。
  「function(x){return function(){...x...};}(this)」
Q8. input type="file"の値を設定(参照)できないのですが…
A8. セキュリティ制約のため設定は絶対に不可。参照はブラウザにより不可。
Q9. getElementById('ID名')や$('ID名')で要素が取れないのですが…
A9. コード実行時点でHTMLがそこまで読まれてない。onload中でやるとか。 <> Name_Not_Found<><>2011/02/28(月) 17:23:23.36 ID:aeImGtQ0<> <script src="jquery.js" type="text/javascript"></script>
<script src="script.js" type="text/javascript"></script>
</head>
<body>
<div id="abc"><p>abc</p></div>
</body>

以下script.js
$(function($){
var abc = document.getElementById("abc");
alert(abc.width); // undefined
alert($("#abc").width()); // 0
})

div要素のwidth,heightの値を取得したいのですが、undefinedや0と表示されてしまいます。
jQueryで出来ればそちらでもいいのですが、どのようにすればwidth,heightを取得できるのでしょうか?
宜しくお願いします。 <> Name_Not_Found<>sage<>2011/02/28(月) 17:25:24.45 ID:???<> >>110
http://fiddle.jshell.net/vSqKr/13/show/#Q10 か element.scrollHeight か element.clientHeight か element.offsetHeight か... <> Name_Not_Found<>sage<>2011/02/28(月) 17:26:03.89 ID:???<> >>109
自分はそんな感じでいいと思う、

>>110
$("#abc").css("width") <> Name_Not_Found<>sage<>2011/02/28(月) 17:37:09.88 ID:???<> SafariのdefaultViewはwindowと違うものだけどFirefox,Opera,Chrome,IE9のdefaultViewはwindowなんだね。
ややこしい <> Name_Not_Found<>sage<>2011/02/28(月) 17:39:27.49 ID:???<> そうすると、改訂テンプレ案としては

>>1 >>2 >>109 >>6 >>7

の5ページ? 現在の>>5 の後半はうるさいから無くてもいいかな。
リンク類 >>6-7 をもうちょっと整理できると嬉しいよね。 <> Name_Not_Found<>sage<>2011/02/28(月) 17:52:41.51 ID:???<> >>6 の E4X (ECMAScript for XML)
これ何に使われてるのか分からない
Chrome, IE9でもサポートされてないし載せる意味あるん? <> Name_Not_Found<>sage<>2011/02/28(月) 17:56:08.15 ID:???<> >>6 は http://fiddle.jshell.net/vSqKr/13/show/ と重複しているから省略しようと思えば出来るが…。
そもそも、http://fiddle.jshell.net/vSqKr/13/show/ は使う方向でいいのか。散々、問題点が指摘されていたようだが。 <> Name_Not_Found<>sage<>2011/02/28(月) 17:57:51.49 ID:???<> >>108
XMLファイルは読めています。配列Aの名前を変えると1.2.3とも表示されないので配列にも情報は入っている?と思いますが
入っているなら3.でも表示出来そうなものですがよく分かりません・・・

<script type="text/javascript">
hairetsu = new Array();//A

function xmlParser(xml) {
$(xml).find("data").each(function () {
hairetsu.push ($(this).find("name").text() );
   document.write(hairetsu);//1.欲しい情報は出てきますが何度もリピートしループしています
});
document.write(hairetsu);//2.本来の欲しい情報が出てきます。
}
document.write(hairetsu);//3.何も出てきません
</script>
javascriptには「ブロックスコープが存在しない」と書いてあるサイトもあるし
jqueryが特殊なのか?OSXサファリだけで何故うまくいったのか?とか
クロージャというのが怪しいと思い色々やってもうまくいきませんでした <> Name_Not_Found<>sage<>2011/02/28(月) 18:00:33.44 ID:???<> 2,3は同期・非同期についてぐぐれ
1はようわからん。 <> Name_Not_Found<>sage<>2011/02/28(月) 18:26:58.89 ID:???<> >>116
誰でも編集できるけどwikiと違って最新のものが表示されるわけではないから、荒らされても問題ないし>>62
更新は過去ログ上げるほどの頻度でする必要もないし>>68
装飾ができる、文字数を気にせず書けるからむしろ更新しやすいし、使いやすい
>>67>>77
>>70はブログか何かと勘違いしてるだけだし
ぶっちゃけどーでもいい <> Name_Not_Found<>sage<>2011/02/28(月) 19:51:01.14 ID:???<> もはや手段が目的化しとるな <> Name_Not_Found<>sage<>2011/02/28(月) 20:34:54.76 ID:???<> >>119
全くその通りだと思うが、なぜあの時にいってやらなかったんだ…。そういう俺も同罪だなw <> Name_Not_Found<>sage<>2011/02/28(月) 20:37:09.65 ID:???<> >>115
俺も意味がない気がする。
テンプレにのせるなら http://es5.github.com/ に変更していいんじゃないかな。 <> Name_Not_Found<>sage<>2011/02/28(月) 20:45:02.69 ID:???<> >>109
趣旨はわかるけど、FAQ は回答の手間を省くためだよね。
そのぐらいの量なら普通に回答しても手間が変わってない気がするんだけどどうだろう。
「別サーバのページやファイルの内容はセキュリティ制約でアクセス不可です。 」が「Q1 を嫁」に短くできるぐらいの変化しかない。
だったらいっそのことリンク集だけにした方がURLを探す手間が省けていいんじゃないかな。 <> Name_Not_Found<>sage<>2011/02/28(月) 20:54:22.19 ID:???<> 情報量もURLを貼った方が多い場合があるな。
A2 は https://developer.mozilla.org/ja/DOM/document.write を読んだ方がわかりやすい。 <> 124<>sage<>2011/02/28(月) 20:56:16.22 ID:???<> 間違えた。A2 は document.open の資料が参考になる。
https://developer.mozilla.org/ja/DOM/document.open <> Name_Not_Found<>sage<>2011/02/28(月) 21:02:37.30 ID:???<> 前スレで質問させて戴いた事についてなのですが、また分からなくなりました。

変数名として使おうとするとエラーになる2バイトコードの記号が結構多く見受けられます。
使える場合と使えない場合の切り分けはどこにあるのでしょうか?

Example: FirefoxとIEで幾つか試した限りでは動作の可否は同じでした。
Δ=1;∠=1 // Pass
∇=1;∀=1 // Error: illegal character

前スレ
>438 Name_Not_Found sage 2011/02/06(日) 13:02:46
>トリッキー上等で質問させて下さい。
>(使用フォントはUTF-8で)
>変数名に2バイトコードを使えてしまうのは、偶然ですか?それとも必然ですか?

>439 Name_Not_Found sage 2011/02/06(日) 13:08:22
>2バイトコードが使えないなんて制限あった?
>日本語変数とかJS初心者講座サイトとかで昔からよく見てきたけど

>440 Name_Not_Found sage 2011/02/06(日) 13:11:57
>仕様 http://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/7_Lexical_Conventions.html#section-7.6

>441 Name_Not_Found sage 2011/02/06(日) 13:14:28
>仕様なんですか、ありがとうございました。 <> Name_Not_Found<>sage<>2011/02/28(月) 21:24:25.35 ID:???<> >>126
既に 440 で答えが出ている気がするんだが…。
仕様は ES5 でも大して変わっていなかったと思う。http://es5.github.com/#x7.6
Unicode文字は http://www.unicode.org/Public/6.1.0/ucd/NamesList-6.1.0d1.txt を確認してみるといい。
加えて Unicode 3.0 も確認する。 <> Name_Not_Found<>sage<>2011/02/28(月) 22:12:53.68 ID:???<> ここまでのテンプレまとめ。(>>123-125 は議論の余地がありそうなので保留)
http://codepad.org/PW2FFBIs <> Name_Not_Found<>sage<>2011/02/28(月) 22:44:44.70 ID:???<> 乙。すっきりしてるね。 <> Name_Not_Found<>sage<>2011/02/28(月) 23:50:42.41 ID:???<> 個人的には、FAQ読まずに質問する奴にFAQは読めというため
だけにでも1レス分のFAQはあった方がいいと思っている。
でないと何人もが同じよくある質問してきていちいちそれに
回答することになる。FAQ読めというのはその一人だけに言って
いるわけじゃなく、そのレス付近を目にする複数の人に言って
いるんだと思うがいかが。 <> Name_Not_Found<>sage<>2011/03/01(火) 00:37:37.41 ID:???<> >>128 1にはFAQとかへの安価があったほうがいいと思う <> Name_Not_Found<>sage<>2011/03/01(火) 00:46:42.14 ID:???<> ここって、Androidとかのタッチイベントを使う質問をしても大丈夫かな? <> Name_Not_Found<>sage<>2011/03/01(火) 00:48:46.65 ID:???<> 大丈夫と思う。 <> Name_Not_Found<>sage<>2011/03/01(火) 01:12:40.82 ID:???<> >>128
【質問を書く上で】 のアップロード先に http://fiddle.jshell.net/ も加えるといいかも。
ライブラリを使った検証で使いやすい。 <> Name_Not_Found<>sage<>2011/03/01(火) 06:21:26.01 ID:???<> JavaScriptって定数宣言はどのように行うのでしょう?
Firefoxではconst修飾子で行うようですが
統一された定数の宣言方法はないのでしょうか? <> Name_Not_Found<>sage<>2011/03/01(火) 08:21:36.86 ID:???<> >>135
変数名を全部ラージで書くとか? <> Name_Not_Found<>sage<>2011/03/01(火) 08:51:08.31 ID:???<> どうでもいい突っ込みだけど「大文字」は「uppercase」で
largeじゃないよね。大文字をラージというカルチャーが
あるのかとびっくりしたのでつい。 <> Name_Not_Found<>sage<>2011/03/01(火) 11:49:46.64 ID:???<> >>137
そういや、なんでupper/lowerなんだろうね。
upperならdowner、lowerならhigherが対語になりそうなのに。 <> Name_Not_Found<>sage<>2011/03/01(火) 12:44:45.88 ID:???<> upper/downerには名詞として別の意味の反意語になっちゃうし。
メソッド名(動詞)としてupcase/downcaseはあるみたい。

lower-case/higher-caseでも意味は通じるみたい。
語源を考えるとhigherだと手が届かないくらい高そうで違和感。知らんけど。 <> Name_Not_Found<>sage<>2011/03/01(火) 13:11:30.61 ID:???<> "caps"自体が"capital letters"の略で大文字という意味だが
(キーボードのCAPSキーを参照)、"large caps"でも同じく大文字を指す。

"case"はもともと印刷関係の用語かな? 「活字ケース」のことを指すらしい。

なぜそこで相対的な「上下」関係を指す"upper/lower"が使われるのかは知らん。
活字セットを上下に分けて整頓するのが一般的だった、とかかも。
<> Name_Not_Found<>sage<>2011/03/01(火) 13:33:16.27 ID:???<> こういうイメージからの派生形かな、と漠然と思っていた
UpperCamelCase : ^\/\ (頭を上げたラクダ)
lowerCamelCase : _/\ (頭を寝かしたラクダ) <> Name_Not_Found<>sage<>2011/03/01(火) 13:38:16.04 ID:???<> http://www.kazuipress.com/tools/tool-3.html <> Name_Not_Found<>sage<>2011/03/01(火) 13:50:49.31 ID:???<> >>135
ES5 にはまだなかったと思う。"Future Reserved Words" にはあるからいずれ実装されるんだろうけど。
http://es5.github.com/#x7.6.1.2

IE9 が const を実装しなかったのは相互運用性に問題があったから。
http://blogs.msdn.com/b/ie/archive/2010/08/25/chakra-interoperability-means-more-than-just-standards.aspx
スタンダードな書き方は命名規則で縛る方法だろうね。
http://cou929.nu/data/google_javascript_style_guide/#id7 <> Name_Not_Found<>sage<>2011/03/01(火) 13:59:06.53 ID:???<> >>128
A3, A5, A6 にIEのバージョンを記載した方がいいと思う。 <> Name_Not_Found<>sage<>2011/03/01(火) 14:23:22.53 ID:???<> このコードを実行すると、見た目に変化はありませんが、selectタグが増殖します。firebugsで確認しました。
innerhtmlで出力したhtmlをすぐに変更することはできないのでしょうか。
sleepのコメントを外せば問題ありませんでした。sleep以外の解決策があれば教えてください。

<html>
<head>
<script type="text/javascript">
function todo(){
document.getElementById("tmp").innerHTML = "<select id=\"tar\"></select>";
// sleep(1);
var val = document.getElementById("tar");
val.disabled = true;
}
</script>
</head>
<body>
<span id="tmp"></span>
<input type=button value="button" onClick="todo()"/>
</body>
</html>
<> Name_Not_Found<>sage<>2011/03/01(火) 14:31:36.25 ID:???<> sleepの中身は? <> Name_Not_Found<>sage<>2011/03/01(火) 14:57:55.67 ID:???<> >>145
> sleepのコメントを外せば問題ありませんでした。
ちょっと信じられないんだけど、コメントアウトされた sleep(1); が呼び出されるの?
コメントなんだからどっちにしても挙動が変わらないはずなんだけど…。 <> Name_Not_Found<>sage<>2011/03/01(火) 15:01:12.31 ID:???<> >>145
Firefox3.6.13 で問題なかった。(DOCTYPE宣言を省いているのが気持ち悪いが)
http://jsbin.com/olope4/1 <> Name_Not_Found<>sage<>2011/03/01(火) 15:25:22.80 ID:???<> JavaScriptでsleep()って無かったんですね。
勝手にあるものだと思って、コーディングしてました。
つまり、sleepの中身はないのですが、これで動いてます。
コメントを外すと、ボタンを押すたびにselectタグが増殖します。見た目は変化ないですが、内部的に増えていて、postで渡す際に支障があります。
<> Name_Not_Found<>sage<>2011/03/01(火) 15:43:05.33 ID:???<> >>149
> sleepのコメントを外せば問題ありませんでした。
> コメントを外すと、ボタンを押すたびにselectタグが増殖します。

どっちが本当?
後者なら、>>148 の検証がまるっきり無駄だったことになる。 <> Name_Not_Found<>sage<>2011/03/01(火) 16:07:25.24 ID:???<> >>140
これは簡単で、タイプライタではシフトキーを押すと活字ハンマー全体を
上に持ち上げて大文字の活字が紙に当たるようにしていた。なので持ち上げる
からupperなんだと思うよ。 <> Name_Not_Found<>sage<>2011/03/01(火) 16:33:55.77 ID:???<> IE8で、thisの指す内容を無理やり書き換えることは出来ませんか

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja">
<head>
<title>foobar</title>
</head>
<body>

<div id="foobar">foobar</div>

<script type="text/ecmascript">
var foobar = document.getElementById('foobar');
foobar.attachEvent('onclick', function(){
this = event.srcElement;
this.firstChild.data = 'IE';
});
</script>
</body>
</html> <> Name_Not_Found<>sage<>2011/03/01(火) 16:36:11.89 ID:???<> >>152
Function.prototype.call を使えば出来る。 <> Name_Not_Found<>sage<>2011/03/01(火) 16:37:30.17 ID:???<> すみません。コメントを外すとokで、コメントのままだとngです。

firefox3.6.13で、Webサーバはtomcat6.0.32です。 <> Name_Not_Found<>sage<>2011/03/01(火) 17:30:27.96 ID:???<> >>154
sleep(1); を呼び出した(コメントを外した)場合。
http://jsbin.com/olope4/2

期待通りに動かない。セレクトボックスが選択できてしまう。
Firebug でも select が増殖しているようには見えなかった。代わりに "sleep is not defined" が増殖する。 <> 152<>sage<>2011/03/01(火) 17:46:17.80 ID:???<> >>153
ありがとうございます。上手くいきました

var foobar = document.getElementById('foobar');
foobar.attachEvent('onclick', function(){(function(){
this.firstChild.data = 'IE';
}).call(event.srcElement)}); <> Name_Not_Found<>sage<>2011/03/01(火) 17:50:12.78 ID:???<> >>156
素朴な疑問なんだが、

document.getElementById('foobar').attachEvent('onclick', function (event) {
 var element = event.srcElement;
 element.firstChild.data = 'IE';
});

これでダメな理由は何なんだろう? <> Name_Not_Found<>sage<>2011/03/01(火) 18:35:12.87 ID:???<> function () { this.firstChild.data = 'IE'; } を既に定義していて、addEventListener と attachEvent の両方で使いたかったに一票。
this と event.srcElement は対応しないはずだけどね。 <> 152<>sage<>2011/03/01(火) 18:41:50.69 ID:???<> >>157-158
すみません。実際に使わせて戴いた部分は>>158の通りです

Element.prototype.addEventListener = function(type, listener, useCapture){
var target = this;
target.attachEvent('on' + type, function(){
listener.call(target, event);
});
}; <> Name_Not_Found<>sage<>2011/03/01(火) 19:00:19.72 ID:???<> >>159
そのコードを書いた気持ちはわかるんだが、addEventListener と互換性が取れてないのが気になる。

・>157 にもあるが attachEvent は第一引数で event を取れるから、window.event を使わなくていい
・this は event.currentTarget と等価 (event.target じゃない)
・this も書き換えるなら event も書き換えた方が後々楽になると思う。 event.target と event.currentTarget を定義するだけでも大分違う。
・attachEvent は onload 時に event.srcElement が null なので、対処を <> 160<>sage<>2011/03/01(火) 19:09:28.62 ID:???<> 重要なことを書き忘れていた。
何よりも、>159 が拙いのは detachEvent 出来なくなること。
Element.prototype.addEventListener の引数 listener は書き換えられているので、元々の listener では detachEvent することが出来ない。
この問題に対応するためには元々の [this, type, listener, useCapture] をキャッシュしておき、removeEventListener 時に照合するしかない。 <> 140<>sage<>2011/03/01(火) 20:32:47.18 ID:???<> >>151
なるほど、タイプライターも上下で分けてるね。
歴史的な順番としては印刷技師の職業習慣が先になるのだろう。
スレチだけど勉強になりました^^ <> Name_Not_Found<>sage<>2011/03/01(火) 22:24:40.49 ID:???<> >>137
ラージって言わないんだ
デカルチャーだわ
アッパーケースって言うのが普通なのか…恥ずかしい

例えば新人が定数変数をロウで書いてたら、アッパーケースで書き直して。って言い方で指示するの?


labelは何て呼んでる?
レーベルだよねw流石にラベル何ていわねーわなw
<> Name_Not_Found<>sage<>2011/03/01(火) 22:28:14.62 ID:???<> ラベル(´・ω・`) <> Name_Not_Found<>sage<>2011/03/01(火) 22:28:31.28 ID:???<> JavaScriptってバイナリファイル扱えますか?
JavaScriptでバイナリエディタみたいなものを作りたいのですけど
試しに画像ファイルを読み込み16進ダンプしてみたのですが
手持ちのバイナリエディタと比べると異なるものになってしまいます
画像ファイルはXMLHttpRequestで取得し
renponseTextにhttp://phpjs.org/functions/bin2hex:361
こちらのbin2hex関数をかませて16進ダンプを行いました
prototype.jsを使用したコードですが

new Ajax.Request("test.png",{
method: "get",
onComplete: function(req){
document.write(bin2hex(req.responseText));
}
});

こんな感じになります
どこを手直せばいいのかそもそも不可能なのかご存知の方アドバイスお願いします <> Name_Not_Found<>sage<>2011/03/01(火) 22:32:31.77 ID:???<> >>163
日本語ではラベルです。
レーベルでも通じるけどラベルのことねと返されるでしょう。
GAIJINにはレーィボーと言いましょう。 <> Name_Not_Found<>sage<>2011/03/01(火) 23:32:11.54 ID:???<> 日本語を使えよ。大文字でいいじゃん。ラベルも日本語といや日本語。
レーベルというのはレコードやCDの1つのブランドを表す日本語。
カルテもカルタもカードもトランプも日本語。 <> Name_Not_Found<><>2011/03/02(水) 00:19:16.37 ID:I7q9Ab18<> >>148のサイトでも増殖します。
Firebugs開いて、htmlタブでソースを開き、
<span id="tmp">の左の「+」でソースを展開しておくと、
ボタンを押すたびに、<select id="tarの行が一行ずつ増えませんか? <> Name_Not_Found<>sage<>2011/03/02(水) 00:34:32.95 ID:???<> document.querySelectorAll("#tar").length
で確かめたらずっと1だったから問題ないと思うよ。
Firebugsがおかしいって可能性は? <> Name_Not_Found<>sage<>2011/03/02(水) 00:47:17.81 ID:???<> >>168
なるほどね。これで如何?
http://jsbin.com/olope4/3 <> Name_Not_Found<>sage<>2011/03/02(水) 01:39:26.16 ID:???<> >>170
おお、増えませんね。
やはり、innerHTMLが悪さをしてるんでしょうか。

先のコードはサンプルで、実際のselectタグには、
Ajaxを利用してサーバから持ってきた情報をもとに出力するので、
単純には行きませんが、どの辺が問題なのでしょうか。
それとも、FireBugsの問題で、>>169のとおり、実際には問題ないのかな。 <> 165<>sage<>2011/03/02(水) 02:34:55.95 ID:???<> http://d.hatena.ne.jp/k12u/20061216/p1
こちらを参考に自己解決しました
一応コード出しておきます

new Ajax.Request("test.png",{
method: "get",
onCreate: function(req) {
req.transport.overrideMimeType("text/plain; charset=x-user-defined");
},
onComplete: function(req){
var bytes = [];
var res = req.responseText;
var len = res.length;
for (var i = 0; i < len; i++) {
bytes[i] = res.charCodeAt(i) & 0xff;
}
document.write(bin2hex(String.fromCharCode.apply(String, bytes)));
}
}); <> Name_Not_Found<>sage<>2011/03/02(水) 08:44:28.16 ID:???<> >>167
大文字って言い方だと新人によっては2バイト文字で書く奴が普通にいるから困る
かと言ってupperCaseで書けと言っても理解出来る筈もなく <> Name_Not_Found<>sage<>2011/03/02(水) 11:00:30.47 ID:???<> >>173
コンピュータの素養がある者が、
大文字を2バイト文字と解釈するって?
それはその個人の問題であって、一般的な問題とは思えない。 <> Name_Not_Found<><>2011/03/02(水) 11:50:58.12 ID:I8rydRFi<> Javascriptで数値からバイナリを作ることはできますか?例えば52→R、81 83→<などのように。
ググりましたがバイナリ作成に関する情報は見つけられませんでした
htaでもおkです <> Name_Not_Found<>sage<>2011/03/02(水) 12:44:15.55 ID:???<> >>175
String.fromCharCode(0x52); // R <> Name_Not_Found<>sage<>2011/03/02(水) 13:17:34.63 ID:???<> ドラッグ&ドロップでファイルをアップロードさせるコードを書いています。
addEventListener('drop',function〜でドロップイベントを拾って、e.dataTransfer.files[0]で一つめのファイルのオブジェクトを拾って
それをバイナリで読み込んで、そこからXMLHttpRequestでsendする値を書いて、postする流れです。
が、バイナリをアップしてみてもファイルが壊れてしまいます。例えば30kbの画像を送信したら50kbになる。バイナリを見てみると
最初の1kb位は同じ所がありjpegっぽいヘッダーが出ているのですがそれ以降は全く違う値になっています。
最初の方は一部同じ、序盤以後は全く違うと、文字化けしているような症状になっているのですが、何故文字化けするのでしょうか。
readAsBinaryStringで読み込んでいるので文字コードの変換処理が入る箇所が無いように思えます。
サーバーサイドはphpでバイナリをいじくる処理は一切していませんし、普通にjsを使わずinput type=fileで送信したファイルは当然そのまま保存されています。
以下がコードの箇所です
dropobj.addEventListener('drop',function(e){
e.preventDefault();
console.log(e.dataTransfer.files[0]);
var reader = new FileReader();
filename=e.dataTransfer.files[i].name;
filetype=e.dataTransfer.files[i].type;
reader.onload=function(e2){
upload(filename,filetype,e2.target.result);
}
reader.readAsBinaryString(e.dataTransfer.files[i]);
},false);
ここまででファイルをブラウザのfilereaderで読み込んでいます。続きます。 <> Name_Not_Found<>sage<>2011/03/02(水) 13:21:36.58 ID:???<> 続きです
function upload(filename,type,value,mode){
var func_makeboundary1session,senddata="";
func_makeboundary1session=function(name,filename,contenttype,value,boundary){
var res="";
res+='\r\nContent-Disposition: form-data; name="'+name+'"';//"
if(filename!=""){res+='; filename="'+filename+'"';}//"
res+="\r\n";
res+="Content-Type: "+contenttype+"\r\n\r\n";
res+=value+"\r\n";
res+="--"+boundary;
return res;
}
if(mode==false && loading==true){return;}
var httpoj = new XMLHttpRequest();
httpoj.open("POST","index.php",true);
httpoj.onreadystatechange = function(){
if(httpoj.readyState==4){alert(httpoj.responseText);}
}
var boundary ='----MultiPartFormBoundary' + (new Date()).getTime();
senddata+="--"+boundary;
senddata+=func_makeboundary1session("file",filename,type,value,boundary);
senddata+="--";
httpoj.setRequestHeader("Content-Type","multipart/form-data; boundary="+boundary);
httpoj.send(senddata);
}

func_makeboundary1sessionでmultipart/form-dataを作成し送信しています。サーバーのphp、html、jsファイル全て文字コードはUTF-8です
multipart/form-dataの情報は http://adiary.blog.abk.nu/012 http://www.kanzaki.com/docs/html/htminfo32.html を参考にしました

https://github.com/blueimp/jQuery-File-Upload/wiki/Options これを使おうと思いもしましたが、ファイルのアップロードと同時に別のフォームのテキストとかも送らないといけないので諦めました
ブラウザはchrome、OSはvistaです 以上です。よろしくお願いします <> Name_Not_Found<>sage<>2011/03/02(水) 13:43:39.75 ID:???<> jsでファイルをアップロードする一番簡単なのはFormData使う方法だけどHTML5だからFirefox4、Chromeぐらいしか対応してないんだよね
http://ideone.com/FwufK
FormData使わずにやるならbase64でエンコードしてから送ったほうがいい、
getAsDataURLでbase64の値が取れるからサーバーサイドで戻すのが確実 <> Name_Not_Found<>sage<>2011/03/02(水) 13:47:49.75 ID:???<> 今気づいたけど
> Q9. Aタグのonclickで動作指定してるのですが時々動きません…
> A9. 「onclick="...;return false"」としないとページ移動しちゃうから。

preventDefaultでもできるよねというかこっちが正統派なきがするけど。
https://developer.mozilla.org/ja/DOM/event.preventDefault <> Name_Not_Found<>sage<>2011/03/02(水) 13:53:51.50 ID:???<> >>179
どうも。FormDataは知らなかった。 <> Name_Not_Found<>sage<>2011/03/02(水) 14:15:34.71 ID:???<> >>180
IE <> Name_Not_Found<>sage<>2011/03/02(水) 15:09:39.48 ID:???<> >>176
できた!全角の問題が厳しかったが自力でできたよ、ありがとう <> Name_Not_Found<>sage<>2011/03/02(水) 15:32:24.78 ID:???<> >>180
次スレテンプレ案では削除予定だけど http://fiddle.jshell.net/vSqKr/13/show/#Q9 には書いてあるね。
preventDefault は IE9 からだっけ。 <> Name_Not_Found<>sage<>2011/03/02(水) 15:36:26.92 ID:???<> >>181
XMLHttpRequest.sendAsBinaryで出来るかもしれない。 <> Name_Not_Found<>sage<>2011/03/02(水) 16:48:39.08 ID:???<> Q5 にIEのバージョンを書いておいた。他サンプルコードの修正。
http://fiddle.jshell.net/vSqKr/14/show/ <> Name_Not_Found<>sage<>2011/03/02(水) 17:51:21.29 ID:???<> >>186おつ
目次を付けたよ
http://fiddle.jshell.net/vSqKr/15/show/
<> Name_Not_Found<>sage<>2011/03/02(水) 17:58:31.73 ID:???<> >>187
いいね。
目次で見ると Q14 が結構長いな。他に合わせて

Q14. setTimeout() やイベントハンドラ関数に設定するコードに this を含めたいのですが…

でいい気がするんだけど、どうだろう? <> Name_Not_Found<>sage<>2011/03/02(水) 18:06:05.47 ID:???<> >>188
確かに長いから変えてみた。あと:target疑似要素で目次クリックでハイライトするように。
http://fiddle.jshell.net/vSqKr/16/show/ <> Name_Not_Found<>sage<>2011/03/02(水) 18:06:14.83 ID:???<> やってみた。(16 で誰かやってたっぽいw)
http://fiddle.jshell.net/vSqKr/17/show/ <> 190<>sage<>2011/03/02(水) 18:06:57.03 ID:???<> すまない、被ってしまった。>>189 を採用してくれw <> Name_Not_Found<>sage<>2011/03/02(水) 18:14:18.87 ID:???<> 乙 <> Name_Not_Found<>sage<>2011/03/02(水) 18:37:58.31 ID:???<> 更新する度にコンテンツと目次の同期を取るのは面倒かもしれないので、目次を JavaScript で生成するようにしてみた。
http://fiddle.jshell.net/vSqKr/19/show/ <> Name_Not_Found<>sage<>2011/03/02(水) 20:15:14.43 ID:???<> 質問です。
サイトにTwitterのコメントボックスを設置しようとしています。
ボックスにデフォルトで表示される文面(defaultcontent)は、以下のように
「location.href」としてページごとのアドレスが来るように指定しています。

twttr.anywhere(function(twitter) {twitter("#tweetBox").tweetBox({
defaultContent: " " + location.href});

このアドレスを「bit.ly API」を用いた短縮アドレスに置き換えたいと考えています。
以下のサイト様を参考にしていますが、リンクボタンとして説明されている方法を
テキストボックスに応用するにはどのような手順が必要でしょうか?
ttp://ringoon.jp/2009/10/16/bitly-api-javascript-twitter.html <> Name_Not_Found<><>2011/03/02(水) 20:31:31.32 ID:oCi0vbPB<> >>194
そのページで言うところのtweet関数を実行すればいいと思うよ <> Name_Not_Found<>sage<>2011/03/02(水) 21:11:24.10 ID:???<> Faceboxライブラリで手前にHTMLを表示したいのですが、画像は普通に表示できるのに、htmlファイルは指定してもうまく表示出来ません
やり方もしくは参考になるサイトをご存知でしたらご教授ください <> Name_Not_Found<>sage<>2011/03/02(水) 21:15:09.88 ID:???<> >>195
ありがとうございます。
どうしても解決しないため、更に恥を承知でお聞きできればと思います。
この場合の関数の実行は
twttr.anywhere(function(twitter) {twitter("#tweetBox").tweetBox({
defaultContent: " " + tweet(); });
で可能なのでしょうか。
実行されないどころかツイートボックスが消えてしまうため
相当基礎的な知識不足だとは思いますが宜しくお願いします。 <> Name_Not_Found<>sage<>2011/03/02(水) 21:24:07.12 ID:???<> FAQの目次はもうちょっと行間あけるべきだな。見辛い。 <> Name_Not_Found<>sage<>2011/03/02(水) 21:40:04.25 ID:???<> 改行厨が気分で3行も4行も空けかねないので意見は正確に。 <> Name_Not_Found<><>2011/03/02(水) 21:45:46.48 ID:oCi0vbPB<> >>197
tweet関数を叩くと、実質的にcallback関数が実行される
なんでそうなるのかは、JSONPでおググりください

んで、callback関数の引数bitlyResponseに
bitlyからのレスポンスが入ってるから、それをテキストボックスに書きこむように
callback関数を改変すればいいよ
もちろん、余分な部分は削るんだよ <> Name_Not_Found<><>2011/03/02(水) 21:51:44.11 ID:l+RU8Xmf<> selenium使ってる人います?
スレチは承知です。本スレ過疎だったのでマルチです

JavaScriptの配列の値a1,a2,a3,a4...を順次field1,field2...に入れるにはどうしたらいいですかね
どうも上手くいかない <> Name_Not_Found<>sage<>2011/03/02(水) 21:56:12.10 ID:???<> 行間を広げてみた。加減が難しいな…。
http://fiddle.jshell.net/vSqKr/20/show/ <> Name_Not_Found<>sage<>2011/03/02(水) 22:16:45.24 ID:???<> 配色を変えてみた。(主にリンク)
http://fiddle.jshell.net/vSqKr/21/show/ <> Name_Not_Found<>sage<>2011/03/02(水) 22:44:35.34 ID:???<> 質問流れるから自重するか
あぼんするから名前にテンプレ議論ってつけてよ
いちいち更新のたびに貼らなくてもいいからさ <> Name_Not_Found<>sage<>2011/03/02(水) 22:47:06.17 ID:???<> 更新の度にリンク貼らなかったら、更新があったことがわからないんだからしょうがない。
見たくない人は http://fiddle.jshell.net/vSqKr/ をNGワードに入れればいいんじゃない? <> Name_Not_Found<>sage<>2011/03/02(水) 22:52:06.73 ID:???<> 安易に更新しすぎ
更新するときは相談しましょう <> Name_Not_Found<>sage<>2011/03/02(水) 22:59:30.04 ID:???<> >更新の度にリンク貼らなかったら、更新があったことがわからないんだからしょうがない。
そもそも通知する必要はない
質問を加筆したとかならまだわかるけど
特に行間を広げたとか配色を変えたとかアフォかと <> Name_Not_Found<>sage<>2011/03/02(水) 23:01:51.44 ID:???<> 配色は知らんけど、行間は>198を取り入れただけでは? <> Name_Not_Found<>sage<>2011/03/02(水) 23:04:38.60 ID:???<> >>205
質問がある人がくるスレなのにその質問者にNG強要してどうすんだよ
ほんと身勝手な奴おおいな <> Name_Not_Found<>sage<>2011/03/02(水) 23:08:42.00 ID:???<> 別に強要はしてないだろ。
見たくなければURLをアボン対象にすればいいと>>205は言ってるんだろ? <> Name_Not_Found<>sage<>2011/03/02(水) 23:13:26.41 ID:???<> テンプレ議論の流れになる度に否定的な意見がつくな。
質問が流れるのが嫌なら議論も嫌ってことだろうから、テンプレ不要とはっきりいえばいい。 <> Name_Not_Found<>sage<>2011/03/02(水) 23:24:25.60 ID:???<> いやいつまでもグダグダやってるから突っ込まれるだけ
スレが落ちそうなころにまとめてやっとけばいい
新スレになってからグダグダはじめるのは問題だと思うわ <> Name_Not_Found<>sage<>2011/03/02(水) 23:53:33.55 ID:???<> >>212
>スレが落ちそうなころに
その頃に始めて、まとまらなかったから次のスレで...って繰り返しがどれだけ続いたと思っているんだ <> Name_Not_Found<>sage<>2011/03/03(木) 00:09:33.71 ID:???<> 欠点は固定のうrlで最新版が覗けないってことかなー <> Name_Not_Found<>sage<>2011/03/03(木) 00:11:25.65 ID:???<> >>213
続いてないだろ
次スレまでにまとまらなかったら現状維持できっぱり終わらせるのが今までの流れ
だいたい200までグダグダやってたのは記憶にない <> Name_Not_Found<>sage<>2011/03/03(木) 00:13:33.15 ID:???<> テンプレ議論は850からで次回にまとめたのを反映。
議論がまとまらなかった場合次回に持ち込まない。
暗黙でこんな感じだったんじゃないのか? <> Name_Not_Found<>sage<>2011/03/03(木) 00:14:07.52 ID:???<> >現状維持で
きっぱり終わるどころか、グダグダで始まってすらない <> Name_Not_Found<>sage<>2011/03/03(木) 00:20:53.12 ID:???<> ようは不要ってことだろ
もう反映続けてるやつは黙ってコッソリやっとけや
次スレにテンプレに入れとけば見たいやつはアクセスするだろ <> Name_Not_Found<>sage<>2011/03/03(木) 00:26:30.05 ID:???<> 一人で更新するならともかく、共同でこっそり更新する方法なんかないだろ <> Name_Not_Found<>sage<>2011/03/03(木) 00:35:33.26 ID:???<> くだらないことで議論しないで欲しい。
テンプレ更新してくれる人は粘着してる奴よりよっぽどこのスレに貢献してる。 <> Name_Not_Found<>sage<>2011/03/03(木) 00:37:38.50 ID:???<> 自演でそんなこと言われても・・・ <> Name_Not_Found<>sage<>2011/03/03(木) 00:46:05.31 ID:???<> function open_sure()
{
window.open("index.php", "", "resizable=yes, width=600, height=400");
}

<form method="POST" action="index.php">
<input type="hidden" name="hoge" value="sakana">
<input type="submit" value="魚">
</form>

とフォームデータを送って、そのファイルをポップアップで開くというのをやりたいのですがどのようにしたらよいのでしょうか? <> Name_Not_Found<>sage<>2011/03/03(木) 00:53:31.25 ID:???<> >>200
丁寧な回答ありがとうございます、方向性が定まり大変助かりました。

しかし色々と試してみたのですがどうしても定義に失敗します。
短縮URLをツイートボックスに書き込むよう指示するcallback関数の構文について、
どなたかお知恵お貸し頂けると幸いです。現在は次のように思考錯誤しております。
function callback(bitlyResponse) {
var url = 'http://twitter.com/home/?status='
+ encodeURIComponent( ' '
+ bitlyResponse.results[location.href]['shortUrl']);
document.getElementById("tweetbox") = url}

ツイートボックスは以下のようになっております。

<div id="tweetBox"></div><script type="text/javascript">
twttr.anywhere(function(twitter) {
twitter("#tweetBox").tweetBox({
label: "コメントする",
defaultContent: " " + tweet() <> Name_Not_Found<>sage<>2011/03/03(木) 01:07:42.94 ID:???<> >>171
Firebug が原因だと思う。Firebug を更新してから再現した&>169も再現したから。
ただ、innerHTML は信頼できるものでもないから、Ajax を扱うなら XML か JSON の方がいいとは思う。 <> Name_Not_Found<>sage<>2011/03/03(木) 01:14:39.71 ID:???<> >>222
http://jsbin.com/ohuko4/ <> Name_Not_Found<>sage<>2011/03/03(木) 01:19:48.89 ID:???<> >>225
ありがとうございます!
スクリプトを後に記述してるのはそっちの方がいいからですか? <> Name_Not_Found<>sage<>2011/03/03(木) 01:25:43.37 ID:???<> >>226
jsbinの仕様です。
formにtarget属性指定してsubmitする直前にtargetで指定した名前のウインドウを開くだけだから書き方は自由。
<> Name_Not_Found<>sage<>2011/03/03(木) 01:26:17.88 ID:???<> >>227
おお、くだらない質問でしたがありがとうございます! <> Name_Not_Found<><>2011/03/03(木) 02:24:38.21 ID:VGgOXRXk<> 別スレでも聞いてしまったのですが、こっちで聞かせてください
Chromeで時計っぽいものを簡単につくろうと思っています。
一秒間に一回-webkit-transform:rotateを6度ずつ増やしていこうと思っているのですが
回転してくれません

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>回転</title>
<script>
var tmrID; //タイマーID
var sec = 0;
tmrID = setInterval( "interval()", 1000 );
// 時間ごとの処理
function interval(){
sec ++;
document.getElementById("rotate").style.-webkit-transform="rotate("+(sec*6)+"deg)";//ここでエラーになります。

}
</script>
</head>
<body >
<div id ="rotate" style="position:absolute;left:10em;top:10em;">↑</div>
</body>
</html>

よろしくお願いします。 <> Name_Not_Found<>sage<>2011/03/03(木) 02:41:13.18 ID:???<> -webkit-transformをWebkitTransformにしたら動くと思うよ <> Name_Not_Found<><>2011/03/03(木) 02:52:38.72 ID:VGgOXRXk<> >>230
ほんとだ!
ありがとうございました。 <> Name_Not_Found<>sage<>2011/03/03(木) 06:31:09.28 ID:???<> 聞く場所が違うかもしれませんがお願いします。
現在ゲームを作成してます

-------仕様-----
10*6マスのフレームの中に、5マス分のブロックをドラッグ&ドロップしてつめていくものです
http://upsenyoudesu.web.fc2.com/up1/5block.html

※まだ回転はできませんが、以下のクリア例のようにつめることができます
http://upsenyoudesu.web.fc2.com/up1/img/blockok.png

10*6の配列を作って初期値0、ブロックが乗ると+1、降りると-1というようにして
全てが1になると、現在はメッセージがでるようになっております。

ブロックは1つのdiv内に(背景がブロック画像の)5つのdivを配置して作ってあります。

-------問題-----
ブロックを移動させる時に、たまに画像の移動禁止マークになってしまいます。
(カーソルをスクショできないので手書きですが、このような感じです)
http://upsenyoudesu.web.fc2.com/up1/img/kinsi.png
クリックすれば移動はさせられるのですが、インターフェース的に良くないのでなくしたいと思っています。
が、解決方法がわかりません。
※これが発生した際にフレームにのせると配列がくずれる為、全てつめてもメッセージはでません


禁止マークの発生条件や調べる為のキーワードがよくわからない為質問させて頂きました。
参考サイトの紹介だけでも歓迎ですので、どうかよろしくお願いします。
少し休む為お返事が遅れてしまったら申し訳ありません。 <> 232<>sage<>2011/03/03(木) 06:34:48.61 ID:???<> すみません補足です、ブラウザはfirefox3.6です。
IE8ではうまくいっているみたいです。 <> Name_Not_Found<>sage<>2011/03/03(木) 07:51:36.16 ID:???<> if (window.ActiveXObject)
if (typeof window.ActiveXObject != "undefined")
とかある関数やオブジェクトが存在するかしないかを調べる時細かい書き方がいくつもありますが
どういう方法がいいのでしょうか? <> Name_Not_Found<><>2011/03/03(木) 08:59:36.63 ID:aA+dcTXA<> var a = 10;
for (var b in window) {
document.write(b+" "+window[b]+"<br>");
}

このコードのvarを片方消したり両方消したりして色々みてみた結果
aのvarを外してbのvarをつけると
b→aの順番に表示されます
aはvarを外そうが外さまいが表示されますがbのvarを外すと表示されません
基本的なことで申し訳ないですがこれはどういうことなのでしょうか?
よく聞くスコープ汚染とかそういうものと関係してるのでしょうか? <> Name_Not_Found<>sage<>2011/03/03(木) 10:08:53.35 ID:???<> >>234
どのパターンがよいとかでなくて、前後の文脈で必然的な条件式になるんじゃないのかね。
緩くしておくときもあれば厳密な評価が必要とか、良し悪しは前後の文脈でかわると思うけど。 <> Name_Not_Found<>sage<>2011/03/03(木) 10:09:44.79 ID:???<> >>235
for-in 文
http://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/12_Statements.html#section-12.6.4
「列挙中オブジェクトに新しいプロパティが追加されるならば、新たに追加されたプロパティは現在の列挙において挙げられることを保証されない」

bのvarを外すと「列挙中オブジェクトに新しいプロパティが追加される」ことになるんじゃないか。
まぁ、もろ実装依存なわけだし、こんなことにあたま悩ませるなら他にやること(略 <> Name_Not_Found<>sage<>2011/03/03(木) 10:47:24.89 ID:???<> >>236
それぞれどういう文脈で使うの?
if(window.ActiveXObject)
if("ActiveXObject" in window)
とか違いがわからず適当に使ってます <> Name_Not_Found<>sage<>2011/03/03(木) 11:28:52.65 ID:???<> >>238
in演算子、typeof演算子、IfStatementでぐぐれば幸せになれるんじゃないかな <> Name_Not_Found<>sage<>2011/03/03(木) 11:32:17.35 ID:???<> >>238
違いくらいは調べてよ。

ActiveXObjectは持ってるか持ってないかだけ見ればそれでいいんじゃないの。
効率のいい方を使えば。緩くていいと思うよ。

function hoge(arg1, arg2, callback, ... ) {
...

if (typeof callback === 'function') callback();

...

}

前後の文脈では厳密な評価が必要になってくる場合があるってことです。 <> Name_Not_Found<>sage<>2011/03/03(木) 12:14:17.37 ID:???<> typeofは別だとわかるけど
if(window.ActiveXObject)とif("ActiveXObject" in window)の違いがよくわからない <> Name_Not_Found<>sage<>2011/03/03(木) 12:59:56.24 ID:???<> プロパティがあるかないかを調べるんだからinを使うべきじゃね
window.ActiveXObjectだと[[Get]]とToBooleanが呼ばれて非効率的な気がする <> Name_Not_Found<>sage<>2011/03/03(木) 13:16:31.33 ID:???<> そんなのコーディングスタイルによって変わる
効率を取るか理解しやすさを取るかだ <> Name_Not_Found<>sage<>2011/03/03(木) 13:21:49.27 ID:???<> >>225
JSBINって使った事ないからわからないんだけど

<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-1656750-13");
pageTracker._trackPageview();
</script><script src="/js/render/edit.js"></script>

の部分って明らかに不要だよね?
これは構築する時付いてくるモノなのかな? <> Name_Not_Found<>sage<>2011/03/03(木) 13:22:30.28 ID:???<> 使ってみろよ <> Name_Not_Found<>sage<>2011/03/03(木) 13:26:52.75 ID:???<> >>244
仕様。
仕方がないと言っちゃ仕方がない仕様 <> Name_Not_Found<>sage<>2011/03/03(木) 13:40:09.27 ID:???<> >>242
window.ActiveXObject なら null や undefined の場合に拒否できる。使い方次第。 <> Name_Not_Found<>sage<>2011/03/03(木) 15:49:00.30 ID:???<> >>194,223
Java scriptの恐らく基礎的な質問です。 - Yahoo!知恵袋
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1056686030 <> Name_Not_Found<>sage<>2011/03/03(木) 16:16:18.16 ID:???<> そんなの探す暇あるなら答えてやりなよ <> Name_Not_Found<>sage<>2011/03/03(木) 16:45:21.14 ID:???<> 煽ってる暇があるなら答えてやりなよ <> Name_Not_Found<>sage<>2011/03/03(木) 16:48:21.41 ID:???<> たまーにヤフー知恵袋でも聞いてるってのあるけど、俺は別にかまわないとおもう
こっちで満足のいく回答が得られなかったからヤフーで聞いてるワケだろうし

ちなみに俺はツイッターやった事ないからよくわからない <> Name_Not_Found<>sage<>2011/03/03(木) 17:00:11.32 ID:???<> HTMLの方で質問してみたんですがどうやらjavascriptの事だったらしいです

<FORM>
<TEXTAREA rows="4" cols="40"></TEXTAREA>
<input type="submit">
</FORM>

とあるのですが、この送信するのをボタンではなく <th>〜</th>のエリアにしたいのですがどのようにしたらいいのでしょうか?
<th onclick()>〜</th>でサブミットする感じで <> Name_Not_Found<>sage<>2011/03/03(木) 17:04:22.33 ID:???<> テーブルにフォームつけたいってことかい
<form action="" method="post">
<table>
<tr><th><textarea rows="4" cols="40"></textarea><input type="submit" /></th></tr>
</table>
</form>
ふつーにHTMLだよ <> Name_Not_Found<>sage<>2011/03/03(木) 17:10:22.83 ID:???<> いえ、近いのですが
submitってsubmitボタンを押して実行するじゃないですか?
ソレをtableの<th>〜</th>で囲まれたエリアをクリックするとsubmitが実行されるっていう感じに <> Name_Not_Found<>sage<>2011/03/03(木) 17:16:38.20 ID:???<> そんなことしたら textarea に入力できなくなる <> Name_Not_Found<>sage<>2011/03/03(木) 17:19:40.70 ID:???<> thは見出しを記述するところだからtdにね。
あと、キーボードでフォームを送信出来なくなるから使いづらくなるしjs切ってたら動作しないからお勧めしない
<form action="index.php" name="test">
<table>
<tr>
<td><textarea rows="5" cols="40" name="text"></textarea></td>
<td onclick="document.forms['test'].submit();">Click ?</td>
</tr>
</table>
</form> <> Name_Not_Found<>sage<>2011/03/03(木) 17:19:44.85 ID:???<> <form action="" method="post">
<table>
<tr>
<th><textarea rows="4" cols="40"></textarea></th>
<th><input type="submit" /></th>             ←ココ
</tr>
</table>
</form>
コレをinput type="submit"じゃなくて
<th onclick="submit()"></th>こうしたいんじゃね? <> Name_Not_Found<>sage<>2011/03/03(木) 17:20:33.72 ID:???<> >>256
そういう感じです!ありがとうございます! <> 232<>sage<>2011/03/03(木) 17:41:13.23 ID:???<> >>232
D&Dをやめる事にしましたので質問は取り下げます <> Name_Not_Found<>sage<>2011/03/03(木) 19:33:08.68 ID:???<> > if(window.ActiveXObject)
これをFirefoxでやると、内部で未定義の値を参照したというWarningになるので
出来たら避けた方がベターかと <> Name_Not_Found<>sage<>2011/03/03(木) 19:36:04.04 ID:???<> なら
if(window["ActiveXObject"])
とかやりゃいい <> Name_Not_Found<>sage<>2011/03/03(木) 19:40:37.86 ID:???<> それをするぐらいならin使えよ。
もしくはtypeof使って確認しろよ。 <> Name_Not_Found<>sage<>2011/03/03(木) 20:04:12.47 ID:???<> はいin使います
typeof使って確認します
怒らせてしまったようで本当にすみませんでした
なんとお詫びしたら・・・
申し訳なくてただただ猛省するばかりです
二度とここには来ませんのでどうかそれでお許し願えれば幸いです <> Name_Not_Found<>sage<>2011/03/03(木) 20:45:25.13 ID:???<> hoge.on〜=function(){this.〜};

hoge.on〜=function(){hoge.〜};
ってどう違うんですか? <> Name_Not_Found<>sage<>2011/03/03(木) 20:58:08.53 ID:???<> thisは呼び出し方によって変化する
ほとんどの場合は影響ないが

document.body.onclick = function(){
alert(this);
};

クリックする
→ [object HTMLBodyElement]
document.body.onclick();
 → [object HTMLBodyElement]
setTimeout(document.body.onclick);
 → [object Window]
document.body.onclick.call();
 → [object Window]
document.body.onclick.call("こんにちは!!");
 → "こんにちは!!"
<> Name_Not_Found<>sage<>2011/03/03(木) 22:14:15.00 ID:???<> >>264
thisでなければ参照できない場合もある。

function foo () { alert(this); }
function piyo (hoge) { hoge.onclick = foo; } <> Name_Not_Found<>sage<>2011/03/03(木) 22:18:57.35 ID:???<> >>266
function piyo (hoge) { hoge.onclick = foo; }
piyo(hoge)のhogeってpiyoを実行する引数?
引数だけどhogeを生成してるのでしょうか?
(´;ω;`)ウッ…わけわかめ <> Name_Not_Found<>sage<>2011/03/03(木) 22:41:43.86 ID:???<> foo = handler
piyo = setHandler

これならわかるか?

<> Name_Not_Found<>sage<>2011/03/03(木) 22:54:24.90 ID:???<> >>267
piyo(document.getElementById('hoge')); // これでわかるかな? <> 267<>sage<>2011/03/04(金) 08:21:35.48 ID:???<> >>268
余計混乱したw

>>269
わかる!俺にもわかるぞーー!!!w
ありがとうございます <> Name_Not_Found<>sage<>2011/03/04(金) 08:57:48.79 ID:???<> 今フィーチャーフォン(iモードブラウザ2.0)向けにHTML5のAPIを移植できないか思考錯誤してる
geolocationはiframeとbutton.clickで簡単にできた
Canvasは多角形と円まで
ただしinline-blockで構築してるから100x100くらいが実用的に限界
それでも現在α値合成にトライ中
Canvasが普通に動く環境がないから本当にちゃんと出来てるかはわかないけどね <> Name_Not_Found<>sage<>2011/03/04(金) 12:20:32.60 ID:???<> ブログでやれ <> Name_Not_Found<><>2011/03/04(金) 13:54:28.27 ID:NTSxsUAI<> 質問です

すいません。javascript初心者です

ブログに 、http://blog.livedoor.jp/dankogai/archives/51529100.htmlの、イベントボタンのRUN,CLEARのように、作る方法は、どうやるのですか?

例えば、ボタンをおすと、
hello worldとだす、ようなものです。

お願いします。

<> Name_Not_Found<>sage<>2011/03/04(金) 14:07:46.07 ID:???<> ソース読んだらいいと思うよ <> Name_Not_Found<>sage<>2011/03/04(金) 14:38:41.90 ID:???<> マッチした回数を取り出す方法ってありますか? <> Name_Not_Found<>sage<>2011/03/04(金) 14:44:26.13 ID:???<> すいません事故解決しました <> Name_Not_Found<>sage<>2011/03/04(金) 15:08:49.27 ID:???<> すいません、解決していませんでした <> Name_Not_Found<>sage<>2011/03/04(金) 15:17:08.69 ID:???<> splitで区切ってから配列数を数える <> Name_Not_Found<>sage<>2011/03/04(金) 16:23:10.33 ID:???<> String#match <> Name_Not_Found<><>2011/03/04(金) 17:20:45.41 ID:NTSxsUAI<> ソースをみせながら、ボタンをおすと、アラートで、helloworldをだすプログラムです。

<textarea>
alert('Hello, JavaScript');
</textarea><input type="submit" value="Run" onclick="
try{
eval( this.previousSibling.value );
}catch(e){
alert(e);
}
">

ブログに、これをうったのですが、動きません

どこをなおすべきでしょう? <> Name_Not_Found<>sage<>2011/03/04(金) 18:11:19.60 ID:???<> ブログ・・・? <> Name_Not_Found<>sage<>2011/03/04(金) 19:25:21.24 ID:???<> >>280
<input type="button" value="run" onClick="alert('hellow world');">

<> Name_Not_Found<>sage<>2011/03/04(金) 19:27:36.64 ID:???<> 酷いスクリプトだな <> Name_Not_Found<>sage<>2011/03/04(金) 19:36:20.29 ID:???<> 酷いコメントだな <> 280<><>2011/03/04(金) 20:09:52.04 ID:NTSxsUAI<> >282 thx 動いた よかった

http://blog.livedoor.jp/dankogai/archives/51181390.htmlにある、ソースをみせながら、動かす方法なんだが、実験したら動かなかった。
どうしたら動く?

たびたびスマヌ



<> Name_Not_Found<>sage<>2011/03/04(金) 20:24:57.22 ID:???<> ヒントをあげるから考えなさい

・入力エリアの文字列を取得する
・evalでそれを実行する <> Name_Not_Found<>sage<>2011/03/04(金) 20:30:03.91 ID:???<> eval is evil <> Name_Not_Found<>sage<>2011/03/04(金) 20:44:26.32 ID:???<> eval de ibaruna <> Name_Not_Found<>sage<>2011/03/04(金) 22:59:34.29 ID:???<> demo eval benri <> Name_Not_Found<>sage<>2011/03/05(土) 02:13:11.43 ID:???<> 初心者がdankogaiを参考にすることに無理がある <> Name_Not_Found<>sage<>2011/03/05(土) 12:00:59.97 ID:???<> 下のプログラムは何をする物なんですか?
また、window.opera?4の?って何ですか?
javascriptで?の〜ってよく使うんですか?

// _bro: 1=NN6+, 2=NN4, 3=IE, 4=Opera, 0=others
_bro=(window.opera?4:(document.all?3:(document.getElementById?1:(document.layers?2:0))));
// _ie5: true=IE5+
_ie5=(navigator.appName.indexOf('Microsoft Internet Explorer')>=0 && document.getElementById)?true:false;
// _mac : true = macintosh, false = other os
_mac=navigator.userAgent.indexOf('Mac')>=0;
<> Name_Not_Found<>sage<>2011/03/05(土) 12:06:59.40 ID:???<> 三項演算子 <> Name_Not_Found<>sage<>2011/03/05(土) 12:09:27.86 ID:???<> >>291
コメントが書いてあるだろう、Operaなら4が代入される。?演算子ぐらい基本だから勉強しとけ。 <> Name_Not_Found<>sage<>2011/03/05(土) 12:14:55.45 ID:???<> ?演算子に突っ込もうかと思ったがやめておこう <> Name_Not_Found<><>2011/03/05(土) 14:27:02.20 ID:lFFOEPx2<> A? B : C
if ( A ){ B; } else { C }
<> Name_Not_Found<>sage<>2011/03/05(土) 15:34:36.14 ID:???<> 291
ググってきました
?は三項演算子でショートコーディングという手法なんですね
ありがとうございました <> Name_Not_Found<>sage<>2011/03/05(土) 20:33:36.45 ID:???<> オンクリックイベントを拾って実行するコードを以下のようにしていたのですが、
onClick="hoge()"
function hoge(){処理}

知り合いに↓のようにイベントをfalseにして終了するようにすべきだと言われました。
onClick="return hoge()"
function hoge(){処理 return false;}

hrefを設定した要素に対し、javascript有効時はhrefが読まれないようにイベントをキャンセルするとかならわかるんですが、
そういう理由が無くても、とにかくonClickは最後にfalseして終了するのが基本だと言われて混乱しました。
一応、理由を聞いてはみたんですが、
「構文上の理由。業界の決まりごと。onClickは必ずreturn falseしないと笑われるよ」としか言われず、
何故それが必要なのかはわかりませんでした。

onClickを毎回falseにしないとどういう問題が起こるのか教えて下さい。 <> Name_Not_Found<>sage<>2011/03/05(土) 20:35:44.38 ID:???<> 問題ないからそんなことわざわざしない <> Name_Not_Found<>sage<>2011/03/05(土) 20:39:27.40 ID:???<> そうですか・・・。やっぱどう考えても無意味ですよね。
いじめられてんのかな俺。 <> Name_Not_Found<>sage<>2011/03/05(土) 20:42:39.72 ID:???<> ちゃんと意味はあるが。
returnを書いた場合と書かない場合の差を勉強した方が良い。
というかFAQにもあった気が。 <> Name_Not_Found<><>2011/03/05(土) 21:50:47.24 ID:69jGAvKc<> >>297
業界の、ってあたりが香ばしい <> Name_Not_Found<>sage<>2011/03/05(土) 22:10:41.66 ID:???<> 注意した奴もなぜ必要なのかが解ってなかっただけだろ。 <> Name_Not_Found<><>2011/03/05(土) 22:26:03.86 ID:xSv4fAGF<> >>300
>>3のQ9のこと?
>>297
>hrefを設定した要素に対し、javascript有効時はhrefが読まれないようにイベントをキャンセルするとかならわかるんですが、
>そういう理由が無くても、とにかくonClickは最後にfalseして終了するのが基本だと言われて混乱しました。
って言ってるんだからFAQのことはわかった上で聞いてるんでしょ。
spanとかpタグにつけるonclickに意味もなくreturn falseなんて付けたことないから
知り合いの言いたい意味がわからん。 <> Name_Not_Found<>sage<>2011/03/06(日) 00:35:14.48 ID:???<> >>303
ごめん。とばし読みだったのでhref属性がある要素に対してと思ってた。
href無いな要らないね。結局の所>>302って事でしょ。 <> Name_Not_Found<>sage<>2011/03/06(日) 13:24:22.27 ID:???<> >>297
何でもかんでも、return false付けてたら、お前が笑われるよって言ってやれよ。

divとかに付けてたら、ギャグだと思うぞ <> Name_Not_Found<>sage<>2011/03/06(日) 15:01:01.02 ID:???<> その時きちんと言い返せなかったんだからどっちもどっちだわ <> Name_Not_Found<>sage<>2011/03/06(日) 16:50:56.03 ID:???<> 信念を持つことと疑問を持つことは別物。盲信したいなら止めないけど。 <> Name_Not_Found<>sage<>2011/03/06(日) 18:04:26.32 ID:???<> hrefでもわざわざreturn false入れんのは麺毒背絵 <> Name_Not_Found<>sage<>2011/03/06(日) 18:16:59.47 ID:???<> DOM 挿入順序リーク というのは、現在のブラウザでもまだ改善されていないのでしょうか?

例: http://stackoverflow.com/questions/1577840/
var root = document.createElement("DIV");
var child = document.createElement("DIV");
// THIS IS WRONG
root.appendChild(child); document.body.appendChild(root);
// THIS IS CORRECT
document.body.appendChild(root); root.appendChild(child);

今まではパフォーマンスが良さそうなので、前者のWRONGって書かれている方で記述していたのですが。 <> Name_Not_Found<>sage<>2011/03/06(日) 18:28:52.55 ID:???<> >>309
"3 Answers" も読んだ上での質問?
流し読みなので間違っていたらごめんだけど「全然問題ない」と読める。

Cross-Page Leaks のことなら明らかに寄せられた情報が誤ってる。
http://msdn.microsoft.com/en-us/library/bb250448%28VS.85%29.aspx <> Name_Not_Found<><>2011/03/06(日) 19:01:05.69 ID:Kv+YZhco<> プログラム板のほうに書いてしまいましたので
こちらにおたずねします

複数の(大量の)トグルスイッチがあって、idをふらずに個別操作したいのですが
方法はありますか?

<div class="tgl">
<button>more</button><div class="more">text 1</div>
</div>

<div class="tgl">
<button>more</button><div class="more">text 2</div>
</div>
<> Name_Not_Found<>sage<>2011/03/06(日) 19:32:32.26 ID:???<> あります。

はい、次。 <> Name_Not_Found<>sage<>2011/03/06(日) 19:54:00.60 ID:???<> >>309
パフォーマンス気にするなら、DocumentFagment作ってから、そんなかでDOM組み立てて、一気にappendした方が速いと思うけども。 <> Name_Not_Found<>sage<>2011/03/06(日) 19:58:26.64 ID:???<> >>313
>>309
>パフォーマンス気にするなら、DocumentFagment作ってから、そんなかでDOM組み立てて、一気にappendした方が速いと思うけども。
おっと、Fragmentだ。 <> 309<>sage<>2011/03/06(日) 20:10:04.51 ID:???<> ご返答ありがとうございます。気にしているのはリークの方なので、
肝心の、リーク自体は改善されているということで正しいでしょうか? <> Name_Not_Found<>sage<>2011/03/07(月) 01:29:53.00 ID:???<> >>315
記憶では IE7 まで残っていたリークパターンだが、ソースは見つけられなかった。
意図的に極端なリークパターンを作ってテストするしかないかも…。
DOMツリーに appendChild してから attachEvent() すれば回避できるパターンなのでどっちにしてもパフォーマンスは気にならないんじゃないかな。 <> Name_Not_Found<>sage<>2011/03/07(月) 10:56:50.95 ID:???<> よくcreate-Fragment内にappendChildした方が早いと聞きますが
iモードブラウザ等NFではcreate-Element("span")内にappendChildした方が僅かに早いか同じくらいになります
どうしてでしょうか?
また、このような結果になるのでブラウザ別に処理を分けた方がいいのでしょうか? <> Name_Not_Found<>sage<>2011/03/07(月) 11:14:25.05 ID:???<> そんなわずかな差を気にするほどの大きなことをやってるのか?
携帯は特に実装によって差が有るだろうから、気にしなくていいと思うぞ。 <> Name_Not_Found<>sage<>2011/03/07(月) 14:04:09.67 ID:???<> 既存のソフトの対応サイトを自力改造で増やしたいのでjavascriptを読めるようになりたいんですが
お勧めのjavascriptの文法書みたいなのってありませんか? <> Name_Not_Found<>sage<>2011/03/07(月) 14:05:27.35 ID:???<> 読めるだけならgoogleで十分だと思うんだが・・・・ <> Name_Not_Found<>sage<>2011/03/07(月) 14:56:24.62 ID:???<> for in 構文でのイテレート順って仕様で既定されてるんですか?
fx3 で試すとキー作られた順に取り出されて、値の更新をしても順序が
変わることはなかったんですけど、そう期待したコード書いて良いのか不安です・・・ <> Name_Not_Found<>sage<>2011/03/07(月) 15:26:51.53 ID:???<> >>320
特定の単語の意味とかでなくて
文の構造を順をおって解説してる感じのやつがほしいんです <> Name_Not_Found<>sage<>2011/03/07(月) 15:30:36.95 ID:???<> Firebugとかでステップ実行できるよ <> Name_Not_Found<>sage<>2011/03/07(月) 15:38:33.26 ID:???<> >>319
JavaScript 第五版。英語でよければ第六版かな。 <> Name_Not_Found<>sage<>2011/03/07(月) 15:58:36.31 ID:???<> >>324
ありがとです、みてみます
<> Name_Not_Found<>sage<>2011/03/07(月) 16:04:25.29 ID:???<> 今時はJavaScriptはコピペして持ってきて使うものなのかな?
それとも自作するもの? <> Name_Not_Found<>sage<>2011/03/07(月) 16:21:20.31 ID:???<> GreasemonkeyからunsafeWindowを使わずにwindow.exampleを取得したいのですがどうしたらいいですか <> Name_Not_Found<><>2011/03/07(月) 17:30:10.37 ID:MmIoQuMq<> webサイトをjqueryを使って制作していますが
例えばページA.htmlで、指定したタグに.clickイベントやaddClassでクラスを付加させた状態で
そのままページB.htmlに移動すると、ページAで付加していた.click要素等は全部勝手に消えていってくれるのでしょうか?
それとも、別ページに移動する前にそのページで付加したイベントやaddClassしたクラス等は全部消して戻しておくべきでしょうか? <> Name_Not_Found<>sage<>2011/03/07(月) 17:35:06.34 ID:???<> いちいち消すとかめんどくさすぎだろ
そんな欠陥言語じゃないから心配せずに放置しておけ <> Name_Not_Found<>sage<>2011/03/07(月) 18:18:10.13 ID:???<> >>328
作法としては removeEventListener した方がよいといわれる。IE6のリークパターンはそれで回避する手法を提案されているし、この手のリークパターンは形成されやすいらしい。 <> Name_Not_Found<>sage<>2011/03/07(月) 18:24:54.18 ID:???<> jQueryは自動でリスナ解除するよ <> 328<>sage<>2011/03/07(月) 18:45:48.06 ID:???<> >>329-331
jqueryのイベント等はそのまま移行で問題なし
javascriptでaddEventListenerしたらremoveEventListenerしておく
という認識でいいんですかね。ありがとうございます! <> Name_Not_Found<>sage<>2011/03/07(月) 21:22:00.54 ID:???<> >>321
そんなバグの元のようなプログラム書かない方が
自分の精神衛生上にもいいんじゃない? <> Name_Not_Found<>sage<>2011/03/07(月) 21:44:16.34 ID:???<> >>333
>>321は仕様で規定されているか、を聞いてるんじゃない? <> Name_Not_Found<>sage<>2011/03/07(月) 22:07:42.71 ID:???<> https://developer.mozilla.org/ja/Core_JavaScript_1.5_Reference/Statements/for...in <> Name_Not_Found<>sage<>2011/03/07(月) 22:21:26.54 ID:???<> 数字文字列を数値型にするやり方は色々あると思いますが
一般的なデファクトスタンダードはperseIntですかね?
'1234'-0は邪道? <> Name_Not_Found<>sage<>2011/03/07(月) 22:24:54.11 ID:???<> 少なくとも品質は最低だな <> Name_Not_Found<>sage<>2011/03/07(月) 22:25:39.33 ID:???<> perseIntなら分からなくてもぐぐればすぐでるから他の人に優しいんじゃね。 <> Name_Not_Found<>sage<>2011/03/07(月) 22:27:01.34 ID:???<> >>321
仕様ならこちらを。
http://es5.github.com/#x12.6.4

>>336
Number('1234');
http://es5.github.com/#x15.7.1.1 <> Name_Not_Found<>sage<>2011/03/07(月) 22:28:40.26 ID:???<> Numberが関数分からない人にやさしいかな。単語を知ってれば理解できる <> Name_Not_Found<>sage<>2011/03/07(月) 22:30:30.93 ID:???<> Numberの方が構文解析しない分、高速だしな <> Name_Not_Found<>sage<>2011/03/07(月) 23:13:20.34 ID:???<> submitした後、ページが全く切り替わることなく、
帰ってくる結果を変数に格納する方法はないでしょうか?


例:
<form method="post" action="/htmlTest.html">
お名前:<input name="yourName">
<input type="submit" value="送信"> <> Name_Not_Found<>sage<>2011/03/07(月) 23:19:08.19 ID:???<> form使わない。
XMLHttpRequestとか
new Ajax.Request(prototype.js)とか
$.ajax(jQuery) <> Name_Not_Found<>sage<>2011/03/07(月) 23:35:55.46 ID:???<> >>343
やはりそっちの方法しかないですか。
サンクス <> 336<>sage<>2011/03/07(月) 23:36:09.10 ID:???<> >>339
成る程!

>>341
Number使うようにします!
perseIntは10進数以外の時、-0は邪道で低品質で頭がどうかしてるマジキチって事ですね
<> Name_Not_Found<>sage<>2011/03/08(火) 00:03:45.70 ID:???<> parseInt("011") // 9
parseInt("011", 10) //11
parseInt("0x11", 10) //0
parseInt("0x11", 16) //17
Number("011") // 11
Number("0x11") //17
それぞれ使いどころはある。
Stringにmatchさせればこちらが想定したやつはすべて正しく変換出来る。 <> Name_Not_Found<><>2011/03/08(火) 00:13:50.64 ID:McdxT2hH<> オブジェクト指向っぽくアクセサ作っても
Klass.prototype.getHoge = function(){ return this.hoge;}
みたいにhogeをパブリックにしないといけないから、結局隠蔽できないって認識は合ってる? <> Name_Not_Found<>sage<>2011/03/08(火) 00:19:36.25 ID:???<> new Class().hogeでアクセス出来るね。

function Class(hoge){
this.getHoge = function(){
return hoge;
};
}
ってすればおk <> Name_Not_Found<>sage<>2011/03/08(火) 00:21:37.48 ID:???<> jQueryXMLで、
<AAA>
   <id>BBB</id>
   <name>CCC </name>
</AAA>

こんなXMLファイルからAAAのidを出すには
function xmlParser(xml) {
$(xml).find("AAA").each(function () {
($(this).find('id').text());

これで出来るのですが、BBBが分っていてそれからnameを探し出すにはどうやるのですか?
$(xml).find("BBB").each(function () {
($(this).find('name').text());
これではうまくいかなかったです・・・ <> Name_Not_Found<>sage<>2011/03/08(火) 00:32:30.70 ID:???<> >>348
それだとインスタンス毎にgetHogeにメモリが割り当てられてメモリ効率悪いから、
getterを作るためだけにprototype使わずに
this.getHoge = function(){...}
ってするなら、パブリック変数でいいやって認識は正しい? <> Name_Not_Found<>sage<>2011/03/08(火) 07:56:35.73 ID:???<> parseIntは、"2px"とかを扱う時に便利 <> Name_Not_Found<>sage<>2011/03/08(火) 08:01:37.81 ID:???<> 書こうと思ったことが>>351に書かれてた <> 336<>sage<>2011/03/08(火) 10:30:17.66 ID:???<> >>346
あーそうだった
ユーザ入力箇所とかの制御はperseIntのがいいね


てか処理速度だけで見るとstring-0がダントツで早いじゃまいか
美しい書き方じゃないけどね

減算じゃなく除算でやる奴は意味不明だけどね

要はcase by caseで使い分けるのがいいね
<> Name_Not_Found<>sage<>2011/03/08(火) 10:33:14.39 ID:???<> >>349
それだとこんなのを探してる事になるんじゃない?

<BBB>
   <name>CCC </name>
</BBB> <> 336<>sage<>2011/03/08(火) 10:43:05.72 ID:???<> >>351
これは知らなかった
ありがとうございます!
やっぱperseIntですよねww
Number()涙目wwwざまぁあww


減算「速度には自信があります!」
perseInt「柔軟性には誰にも負けません」
Number「可読せぃ」
面接官「帰れ!」
除算「速度にはそれなりに」
面接官「君まだいたの?w」

こんな感じでウッボー?
<> Name_Not_Found<>sage<>2011/03/08(火) 10:53:35.71 ID:???<> 考え方次第。末尾に余分なものがついている場合にさっさと
エラーにして止めたい場合はparseIntの方が不便かも知れない。
parseIntの「0で始まると8進」というのはうっかりすると
結構罠になるのでparseFloat使ったりする(初心者に説明が楽)。 <> Name_Not_Found<>sage<>2011/03/08(火) 12:18:12.64 ID:???<> 356の頭の悪さに閉口
<> Name_Not_Found<>sage<>2011/03/08(火) 12:21:03.22 ID:???<> ↑(>>336)は黙れ
単芝うぜぇよ <> Name_Not_Found<>sage<>2011/03/08(火) 12:41:43.99 ID:???<> '1234' - 0 は +'1234' と同じだが
後者のほうがパッと見て分かりやすいだろ <> Name_Not_Found<>sage<>2011/03/08(火) 13:41:15.16 ID:???<> CSSの%lengthは小数を含むんだから使うならparseFloat
parseFloat(' 1234.56()&%$"#$');みたいにいい加減にパースしていいならという制約付き。RegExp#test()でチェックしなきゃまともに使えない。 <> Name_Not_Found<>sage<>2011/03/08(火) 16:18:46.14 ID:???<> parseInt使うなら基数をちゃんと指定すればいいだけの話じゃね <> Name_Not_Found<>sage<>2011/03/08(火) 16:48:51.12 ID:???<> parseInt は末尾の文字列を削り取る。末尾の文字列は決めうちで使っているようないいかげんなコードをよく見る。

var fontSize = parseInt(element.style.fontSize, 10);
element.style.fontSize = (fontSize * 1.5) + 'px';

せめて元々の単位を保持しておけよ、って思う。

var fontSize = element.style.fontSize.match(/^(\d+)(px|e[mx]|pt)$/); // 面倒なので全部の単位を調べてないけど、必要最小限でも制限した方がまだマシ <> Name_Not_Found<>sage<>2011/03/08(火) 17:06:08.55 ID:???<> 実際にCSSで使われてる単位はin cm pc mm pt em ex px deg grad radぐらいかな
音声スタイルでms s hz khzとかもあるけど。 <> Name_Not_Found<>sage<>2011/03/08(火) 17:15:34.52 ID:???<> parseInt("10.5px") === 10;
parseFloat("10.5px") === 10.5; <> Name_Not_Found<>sage<>2011/03/08(火) 19:06:00.72 ID:???<> px em %ぐらいしか使わない
昔はptも使ってたけど <> Name_Not_Found<>sage<>2011/03/08(火) 20:41:50.41 ID:???<> emで指定しててもpxで吐き出してくれるのなかったっけ? <> Name_Not_Found<>sage<>2011/03/08(火) 21:14:46.90 ID:???<> >>366
computedStyle のこと?
px を返す実装が多いけど実装依存だよ。 <> Name_Not_Found<>sage<>2011/03/09(水) 00:07:20.00 ID:???<> >>362
俺がparseIntで単位を削除する時は自分でCSSも書いてる時だな。
divはほぼpxで指定してるからそういう自分で制御できる時でなければparseIntで削除したりしない <> Name_Not_Found<><>2011/03/09(水) 00:10:03.46 ID:fH9u6phT<> div.outerHTMLが
<div>foo</div>
のとき、
div.className = 'bar';
を書くとdiv.outerHTMLは
<div class="bar">foo</div>
になりますよね。

このouterHTMLのように、他のプロパティに影響を受けて変化するプロパティは、どのように作るのでしょうか。
<> Name_Not_Found<>sage<>2011/03/09(水) 00:58:19.42 ID:???<> プロパティにこだわるならgetterとかsetterとかか <> Name_Not_Found<>sage<>2011/03/09(水) 01:31:45.09 ID:???<> >>368
要らぬお世話かもしれないが、後任者がCSSだけいじって不具合が発生したとかGreaseMonkeyで element.style が改変されていたとか、一部でも想定している環境と合致しないと期待通りに動作しなくなる。
本当にいいコードは自分の期待する環境の幅を広くとっているものだと思う。
<> Name_Not_Found<>sage<>2011/03/09(水) 01:33:59.53 ID:???<> >>369
Object.defineProperty (Fx3 は __defineGetter__ と __defineSetter__) <> Name_Not_Found<>sage<>2011/03/09(水) 05:56:19.39 ID:???<> JScriptでcatchブロックの下にあるfinallyブロックを使い、
ソースコードを定期的かつ自動的に実行したいのですが
どのように記述しするべきなのでしょうか?

ちなみにfinallyブロックはこのように記述されていて、
IEブラウザが勝手に閉じてくれます

finally{
ie.Quit();
} <> Name_Not_Found<>sage<>2011/03/09(水) 06:26:54.41 ID:???<> >ソースコードを定期的かつ自動的に実行したいのですが
タスクスケジューラじゃだめなの?
JScriptやったことないからよく知らんけど駐留型のプログラム?
定期的かつ自動的といったらsetInterval関数ではないだろうか
しかしなぜにfinallyで定期処理をするのかしら?
正常に終了までリトライし続けるとかなんかなのかな <> Name_Not_Found<>sage<>2011/03/09(水) 07:01:55.64 ID:???<> 鼬害です <> Name_Not_Found<>sage<>2011/03/09(水) 07:48:39.82 ID:???<> >>374
タスクスケジューラというものがあったんですね!
ありがとうございます!それを使用してみたいと思います <> Name_Not_Found<>sage<>2011/03/09(水) 08:12:48.74 ID:???<> >>371
グリモンは影響デカイけど
流石にユーザ側の自己責任じゃね?
難しい所だけど


>>373
そもそもスレ違い <> Name_Not_Found<>sage<>2011/03/09(水) 08:16:59.54 ID:???<> タスクスケジューラって起動しっぱなしじゃないと、実行してくれないんですか? <> Name_Not_Found<>sage<>2011/03/09(水) 08:20:35.59 ID:???<> そりゃそうよ
具体的に何やりたいのかしらないけどクライアント側でやりたいんじゃないの? <> Name_Not_Found<>sage<>2011/03/09(水) 12:08:15.55 ID:???<> _mac=navigator.userAgent.indexOf('Mac')>=0;
alert("_mac="+_mac);
をwinで実行すると_mac=falseがアラートで出てきます

_mac=navigator.userAgent.indexOf('Mac');
alert("_mac="+_mac);
とすると_mac=-1がアラートで出てきます。

>=0の意味が分かりません。何ですか? <> Name_Not_Found<>sage<>2011/03/09(水) 12:43:43.17 ID:???<> ----- javascript -----
function check() {
alert(window.event.srcElement);/*Firefox用は省略*/
}

----- html -----
<div onclick="check()">foo<span>bar</span><b>baz</b></div>

divをクリックした時にdivに対してイベントが起こり、div内の子要素をクリックした時は、
divの子要素ではなくdivに対してイベントを起こすっていう事をしたいのですがどうすればいいでしょうか?
上記のコードの場合はdivをクリックしてもspanやbをクリックしても表示されるのは"divElement"という感じにしたいです。
よろしくお願いします。 <> Name_Not_Found<>sage<>2011/03/09(水) 12:52:28.39 ID:???<> function check(e) {
alert(e.target)
} <> Name_Not_Found<>sage<>2011/03/09(水) 13:45:29.99 ID:???<> >>381
onclick="check(this)"

htmlに埋め込むならthisいいんじゃないか。
thisで取れないって話は聞かないし、無難だと思うけどね。 <> Name_Not_Found<>sage<>2011/03/09(水) 15:07:34.05 ID:???<> >>380
マジか。ゼロ以上かだ。 <> Name_Not_Found<><>2011/03/09(水) 15:11:08.63 ID:LTgPF1p2<> >>380
navigator.userAgent.indexOf('Mac') ≧ 0 なら真
としか言いようがないんだが…

indexOf( needle )は、needleがあれば、その位置(何文字目)を
なければ-1を返すメソッドよ <> Name_Not_Found<><>2011/03/09(水) 15:12:16.73 ID:z9tgyAo4<> jsファイルの関数間で共通に参照できる変数を使いたくて
jQueryを使用しているので、まだ知識も曖昧ですが$..extendで変数名と値を設定し、$.変数名から値を参照するという方法をとってみましたが
これはjQueryの扱い方としては問題無いのでしょうか
より良い方法があればどうか教えて下さい

またこの$.extendは、javascriptでprototypeに追加してインスタンスの値として扱うタイプではなく
直接オブジェクトに追加する形でメモリをそのまま圧迫してしまうというタイプでしょうか?
<> Name_Not_Found<>sage<>2011/03/09(水) 15:24:06.58 ID:???<> 単にwindowに変数入れればいいだけでは? <> Name_Not_Found<>sage<>2011/03/09(水) 15:27:03.30 ID:???<> グローバル変数使えよ <> Name_Not_Found<>sage<>2011/03/09(水) 15:32:33.28 ID:???<> >>386
extend はオブジェクトをマージする。
http://api.jquery.com/jQuery.extend/

何をしたいのか知らないけど、jQueryオブジェクトを拡張するのはお勧めしないな。
グローバル変数を使いたくないのなら、クロージャに閉じこめる。
要素に関連する情報なら data()
http://api.jquery.com/data/ <> Name_Not_Found<>sage<>2011/03/09(水) 16:04:21.54 ID:???<> >>387-389
ありがとうございます
グローバル変数を使用するのは推奨しないような内容の解説があったので避けていました
windowに入れる方法や教えて頂いた方法も調べて考えてみます。 <> Name_Not_Found<>sage<>2011/03/09(水) 20:31:32.71 ID:???<> new Date()/1e3|0
こんなコードがあるのですが
どなたか解説していただけませんか?
new Date()の返り値が
Wed Mar 09 2011 20:31:16 GMT+0900
ということまでしかわかりません <> Name_Not_Found<>sage<>2011/03/09(水) 20:38:33.46 ID:???<> Dateはミリ秒単位だから1000で割って秒単位にしてる
<> 391<>sage<>2011/03/09(水) 21:01:20.75 ID:???<> >>392
ありがとうございます
確かに1000で割って小数点をきったら同じ数値になりました
1e3|0にはそういう意味があったんですね
指数表記が使えるんですね知りませんでした
|0は小数点を切るという意味なんでしょうか?

new Date()+0をしてもnew Date()の文字列が返ってきて
数値加算と除算でなんで返り値が違うのか不思議でしたが
文字列結合にも使う+演算子を使ったのがいけなかったんですね(-0ならいけました) <> Name_Not_Found<><>2011/03/09(水) 21:48:11.36 ID:LTgPF1p2<> >>393
「 | 」は整数として計算する論理和だから結果として整数に
関係ないけど、getTime使わないとなんかモヤモヤする〜! <> 391<>sage<>2011/03/09(水) 23:28:49.14 ID:???<> >>394
なるほどーどうもありがとうございます

parseInt(new Date().getTime()/1000)
のほうが多くの人にとって分かりやすいと思うしいいですよねタブン <> Name_Not_Found<>sage<>2011/03/09(水) 23:43:49.77 ID:???<> 整数化するのってMath.floorとかが一般的じゃないの
parseIntだと数値→文字列→数値ってなりそう <> Name_Not_Found<>sage<>2011/03/10(木) 00:00:03.73 ID:???<> このスレでも最近話題になっただろ
少し前のやり取りぐらい読めよ・・・w <> Name_Not_Found<>sage<>2011/03/10(木) 01:12:39.51 ID:???<> 少し前のって整数化とは関係ないんじゃないの
数値化する関数の比較の話だと思ったけど <> Name_Not_Found<>sage<>2011/03/10(木) 02:19:46.94 ID:???<> 処理に掛かる時間の話だろ <> 380<>sage<>2011/03/10(木) 09:19:09.72 ID:???<> >>384
>>385

>=0とすると_mac=-1が
_mac==falseというように_macにfalseを代入したわけでもないのに
falseが何で出てくるということが知りたかったんです。
-1が0以上でないからfalseが返ってくるってことですか? <> Name_Not_Found<>sage<>2011/03/10(木) 11:01:02.78 ID:???<> > -1が0以上でないからfalseが返ってくるってことですか?

そういうこと。
>=などの関係演算子、==などの等価演算子の評価結果は
比較対象の型がなんであれ、trueかfalseのどちらかと決められてる。

演算子つーのはそれだけで、ごちゃごちゃといろんなことを中でやってるのだよ。 <> Name_Not_Found<><>2011/03/10(木) 11:16:40.59 ID:8RYvhoI/<> >>400
よく
if(a >= 0){ ごにょごにょ }

って書くでしょう?この時の「>=」と全く一緒
比較演算子の返す結果は真偽 <> 380<>sage<>2011/03/10(木) 12:06:57.05 ID:???<> >>402
そのとき
a=-8の場合はif(a >= 0){ ごにょごにょ }でa=falseと
コンピューターで解釈されるということですか? <> Name_Not_Found<>sage<>2011/03/10(木) 12:48:54.77 ID:???<> >>403
>a=falseと
そうではない。 a >= 0 が false と解釈される。

皆の迷惑になるから、JavaScriptの仕様書かせめて入門書ぐらい一通り読んでから質問しろよ。 <> Name_Not_Found<>sage<>2011/03/10(木) 12:56:36.01 ID:???<> どうでもいいけど >= キモい
<= 使ってくれ <> Name_Not_Found<><>2011/03/10(木) 12:59:39.35 ID:8RYvhoI/<> >>403
ちがう
a >= 0 の演算結果がfalse

多分なにか勘違いしていると思う
「>=」は「≧」のこと
≧は+とかーとか×とか÷とかと同じように、演算子のひとつ

a + b を演算すると、結果はaとbの和(数値)
a × b を演算すると、結果はaとbの積(数値)
a ≧ b を演算すると、結果はaがb以上であるかどうか(真偽値) <> Name_Not_Found<>sage<>2011/03/10(木) 13:56:37.98 ID:???<> >>380,403
var a = -1
var b = (a >= 0);
alert(b); // false

if文では比較演算子の評価値(true/false) を見て処理を分けてる。 <> Name_Not_Found<>sage<>2011/03/10(木) 19:19:36.64 ID:???<> >>405みたいな馬鹿は
(0 <= a) みたいに書いてんの?
そっちのがキモイわw <> Name_Not_Found<><>2011/03/10(木) 19:32:23.75 ID:8RYvhoI/<> べつにキモくないけど、普段何気なく見てる「<=」「>=」を
こうやって意識させられると、ゲシュタルト崩壊する <> Name_Not_Found<>sage<>2011/03/10(木) 19:54:56.29 ID:???<> getElementByIdで取得先の要素が更新して、新しい値になった場合でも
前のキャッシュが残っていて前の結果が取られるのですが、
ページリフレッシュせずにこれを解決するにはどうすればいいのでしょうか。 <> Name_Not_Found<>sage<>2011/03/10(木) 19:59:29.26 ID:???<> 取得先の要素を更新しても更新されずにキャッシュがって状況がよくわからない
それって更新してないだけじゃないの?
具体例を見せてほしい <> Name_Not_Found<>sage<>2011/03/10(木) 20:00:50.61 ID:???<> innerHTMLとかで丸ごと書き換えてるとかでしょ <> Name_Not_Found<>sage<>2011/03/10(木) 20:06:08.25 ID:???<> live だと思ってるんじゃないの。

var element = document.getElementById('hoge');
// ページの更新処理
alert(element); // element が古いまま <> Name_Not_Found<>sage<>2011/03/10(木) 20:06:30.68 ID:???<> >>408
常に右辺が大きくなるような書き方にすると可読性が上がる
リテラル値がどっちかなんて考える必要もないしな <> 410<>sage<>2011/03/10(木) 20:14:25.65 ID:???<> >>413
そうです。
おとなしくjquery使っておけという事でしょうか。 <> Name_Not_Found<><>2011/03/10(木) 20:32:52.04 ID:8RYvhoI/<> >>414
言わんとすることはわからんでもないが

0 <= x && x < 100

みたいに書く時しかしないなあ
比較の主体になる方を左、対象になる方を右に、って書いちゃう <> Name_Not_Found<>sage<>2011/03/10(木) 21:01:23.14 ID:???<> >>415
更新したら、もういっかい getElementById() を呼ぶ必要があるだけだよ。
<> Name_Not_Found<>sage<>2011/03/10(木) 21:34:54.90 ID:???<> あれ
大なり小なりって
どつちがどっちだ <> Name_Not_Found<>sage<>2011/03/10(木) 21:36:35.78 ID:???<> 低レベルなレスはしなくてよろしい <> Name_Not_Found<><>2011/03/10(木) 21:36:51.30 ID:eJR+lZ3V<> javascriptのプライベートメソッドはどのように定義するべきなのでしょうか。
検索してみたところ、以下の方法が最も良いのではないかと思うのですが、もしより良い手段がありましたら教えてください。
var MyClass = function(){};
MyClass.prototype = (function(){

var privateMethod = function(){
//プライベートコード
};

return {
publicMethod : function(){
privateMethod.call(this);
}
}
})(); <> Name_Not_Found<>sage<>2011/03/10(木) 21:40:21.91 ID:???<> >>420
var MyClass = function(){
this.privateMethod = function(){}; // プライベートメソッド
}; <> Name_Not_Found<>sage<>2011/03/10(木) 21:43:13.67 ID:???<> >>421
プライベートメソッドと言いつつ丸見えな件について <> 410<>sage<>2011/03/10(木) 21:54:06.79 ID:???<> >>417
できました!
すれ汚し失礼しました。 <> Name_Not_Found<>sage<>2011/03/10(木) 21:58:15.00 ID:???<> >>420
jsにはprivate修飾子なんてないから規約で決めるのが一番いいと思うね
this._method = function(){〜};
this._var = "hello";

プライベートには_を付けるというコーディング規約がある(PHPのzendとかいろいろ)
ttp://framework.zend.com/manual/ja/coding-standard.naming-conventions.html#coding-standard.naming-conventions.functions-and-methods <> Name_Not_Found<>sage<>2011/03/10(木) 22:04:46.90 ID:???<> >>420
var MyClass = function(){
 function privateMethod (){}
 this.publicMethod = function publicMethod () { privateMethod.call(this); }:
}; <> Name_Not_Found<><>2011/03/10(木) 22:06:41.33 ID:eJR+lZ3V<> >>424
ということは、javascriptでプライベートメソッドをエミュレートするときの慣習というか、常識となっている方法は名前規約なのですね。
回答ありがとうございました。 <> Name_Not_Found<>sage<>2011/03/10(木) 22:08:23.31 ID:???<> >>421 >>425
これ動くのか? <> Name_Not_Found<>sage<>2011/03/10(木) 22:08:37.56 ID:???<> privateにしようとしてソースコードまでプライベートにしたら意味がない <> Name_Not_Found<><>2011/03/10(木) 22:15:36.20 ID:eJR+lZ3V<> >>425
リロードせずに見落としていました。こういうことですよね?
function MyClass (){
 var privateMethod = function(){
alert('hoge');
};
 this.publicMethod = function () {privateMethod.call(this);}
};

その方法はたしかに読みやすくプログラミングしやすいと思うのですが、そのメソッドはインスタンスごとに生成されてしまわないでしょうか。
メモリの観点からみるとprototypeを使って>>420よりも読みやすい方法があるといいのですが……。 <> Name_Not_Found<>sage<>2011/03/10(木) 22:19:15.52 ID:???<> JavaScriptはクラスベースじゃありますん <> Name_Not_Found<>sage<>2011/03/10(木) 22:41:17.78 ID:???<> >>429
privateMethod を共有していいのなら、privateMethod を外に出せばいい。

function MyClass (hoge){ this.hoge = hoge; return this; }
(function () {
 function privateMethod (){ alert(this.hoge); }
 MyClass.prototype.publicMethod = function publicMethod () { privateMethod.call(this); };
})();
new MyClass('foo').publicMethod(); <> Name_Not_Found<><>2011/03/10(木) 23:17:20.20 ID:eJR+lZ3V<>  >>431
なるほど!Callオブジェクトの中に閉じ込めるんですね!
そんな使い方ができるなんて……とても勉強になります。

ところで、そのコードで1点わからないところがあります。
MyClassで自身を返している(return this)のはなぜなのでしょうか?
削ってみても動くようなのですが、どんな意図があるのでしょうか。 <> Name_Not_Found<>sage<>2011/03/10(木) 23:30:27.67 ID:???<> new MyClass().methodA().methodB()な使い方をしたいんじゃない? <> Name_Not_Found<>sage<>2011/03/10(木) 23:33:54.55 ID:???<> どう読んだらそうなるんだよww <> Name_Not_Found<><>2011/03/10(木) 23:39:35.11 ID:eJR+lZ3V<> >>433
言いたいことはわかります。
jQueryによくある感じで、ドットでメソッドをつなげていくことを意識したのでしょうか。
ともかく回答してくださった方々、どうもありがとうございました! <> Name_Not_Found<>sage<>2011/03/10(木) 23:59:38.35 ID:???<> 2000年頃に流行ったreturn thisは
VisualBasic畑のよくわかってない外人がmsdnのコラムで書いていたのが
コピペで広まったもの <> Name_Not_Found<>sage<>2011/03/11(金) 00:02:39.00 ID:???<> プライベートはグローバル変数と同じ、気にし過ぎる方がどうかしている
どうしてもやりたきゃ適当なインスタンスを隠蔽してそいつに委譲しろ
つーかそれを自動でやるのがprototypeなんだがな <> Name_Not_Found<>sage<>2011/03/11(金) 00:14:24.29 ID:???<> javascriptでprivateはいらないな…
constは欲しいけど <> Name_Not_Found<>sage<>2011/03/11(金) 00:23:17.18 ID:???<> >>434
Test = function(){
this.hello = function(){
alert("hello");
return this;
}
this.world = function(){
alert("world");
return this;
}
}
new Test().hello().world();

こんなのを想像したが <> Name_Not_Found<>sage<>2011/03/11(金) 00:58:21.41 ID:???<> JavaScriptでJavaみたいな書き方をする必要がないしそういうふうにできてない
他言語から来た人はもっと柔軟性をもたないと
とくにオブジェクト指向といってもクラスベースとプロトタイプベースでは
根本的な概念が違うしクラスにこだわらずプロトタイプでの実装を学ぶべき <> Name_Not_Found<>sage<>2011/03/11(金) 01:25:10.85 ID:???<> method1、method2、method3はどう違う?

var MyClass = function() {
 var method1 = function() {}
method2 = function() {}
 function method3() {}
} <> Name_Not_Found<>sage<>2011/03/11(金) 01:47:08.64 ID:???<> 何もかもが違う <> 431<>sage<>2011/03/11(金) 01:47:34.09 ID:???<> >>439
それもあるが、明示的に return する方がわかりやすくて好み。
この場合は違いがないので各々のスタイルで書けばいいと思う。 <> Name_Not_Found<>sage<>2011/03/11(金) 02:01:20.25 ID:???<> コンストラクタはプロパティのスナップショットをとるのにも使う
return thisなんて書かなきゃならんほどグダグダ書かない方がええ
どうしてもメソッドチェーンが好きならイニシャライザを分けろ <> Name_Not_Found<>sage<>2011/03/11(金) 02:24:47.24 ID:???<> 懐かしい論争をしてるな
ttp://otd8.jbbs.livedoor.jp/javascript/bbs_tree?base=14104&range=1
<> Name_Not_Found<>sage<>2011/03/11(金) 09:05:03.87 ID:???<> http://hibari.2ch.net/test/read.cgi/hp/1296794731/622
<> Name_Not_Found<><>2011/03/11(金) 11:12:42.83 ID:YPM5kKwN<> 1から10までの画像を全て裏で読み込んでからjavascriptを実行する方法ってありませんか?
裏で読むって無理ですかね? <> Name_Not_Found<>sage<>2011/03/11(金) 11:25:47.78 ID:???<> すまん裏で読むってどういうことだ?
画像が読み込まれる前にじゃヴぁすくが実行されるとこまるト言うケースならわかるが、
<> Name_Not_Found<>sage<>2011/03/11(金) 11:56:48.55 ID:???<> var images = ["http://www.google.com/logos/komensky10_hp.gif", "http://www.google.com/logos/israeletv10-hp.gif", "http://www.google.com/logos/kurosawa10-hp.jpg"];
var counter = 0;
var complete = function(){
    if(img.length <= ++counter) {
        alert("終わったよ?");
    }    
}
var loadImage = function(e){
    var image = new Image();
    image.src = e;
    image.addEventListener("load", complete, false);
    image.addEventListener("error", complete, false);
}
images.forEach(loadImage);

適当に書いてみた動くかは分からない <> Name_Not_Found<>sage<>2011/03/11(金) 12:04:30.80 ID:???<> 訂正
誤    if(img.length <= ++counter) { 
正    if(images.length <= ++counter) { 
<> Name_Not_Found<>sage<>2011/03/11(金) 13:27:16.54 ID:???<> >>444
> コンストラクタはプロパティのスナップショットをとるのにも使う
ぐぐってもわからなかったんだけど、どういうこと? <> 369<><>2011/03/12(土) 02:02:40.61 ID:NtVuiHyZ<> >>372
勉強になりました。ありがとう。 <> Name_Not_Found<>sage<>2011/03/12(土) 09:03:35.03 ID:???<> onClickで文字を1px右や左に移動するスクリプトくれ <> Name_Not_Found<>sage<>2011/03/12(土) 09:17:52.82 ID:???<> >>453
えぇっと>>1を見ていただければ <> Name_Not_Found<>sage<>2011/03/12(土) 11:13:25.92 ID:???<> お願いします。
var str = "Hi, my name is Mike.";
のような文章をまずstr.split(" ")で配列にし、
最後の文字が","か"."で終わるものを探したいのですが、うまくいきません。

-----
var lastChar;
for (var i = 0, len = array.length; i < len; i++) {
lastChar = array[i].charAt(array[i].length - 1);
if (lastChar == "," || ".") {
alert(true);
} else {
alert(false);
}
}

このコードだと全てtrueになります。
if (lastChar == ...)の箇所に","か"."のどちらかひとつだけ指定すると、
それぞれ"Hi,"、"Mike."がtrueになり他のものはfalseになります。
"." || "," と、二つ指定すると全てtrueになってしまうのは何故でしょうか?
よろしくお願いします。 <> Name_Not_Found<>sage<>2011/03/12(土) 11:28:17.60 ID:???<> lastChar == "," || "." の評価は、
lastCharが","だった場合 true、
違う場合"." → ifの中ではtrueと評価される

つまりこうしろってこと
lastChar == "," || lastChar == "."

もしくは正規表現で
/[,.]$/.test(array[i]) <> 380<>sage<>2011/03/13(日) 09:07:43.80 ID:???<> ajaxの質問ってここでしていいですか?
以下のプログラムはwebサーバーソフトでlocalhostに
アクセスしなくても動くのは何故ですか?
<html><head><title>XMLHttpRequest()の基本</title>
<script type="text/javascript">
function loadTextFile()
{httpObj = new XMLHttpRequest();
httpObj.onload = displayData;
httpObj.open("GET","data.txt",true);
httpObj.send(null);}
function displayData(){
document.ajaxForm.result.value = httpObj.responseText;}
</script>
</head>
<body>
<h1>XMLHttpRequest()の基本 (IE以外)</h1>
<form name="ajaxForm">
<input type="button" value="読み込み" onClick="loadTextFile()"><br>
<textarea name="result" cols="40" rows="5"></textarea>
</form></body>
</html>
<> Name_Not_Found<>sage<>2011/03/13(日) 09:11:28.80 ID:???<> 続き
IE用ではwebサーバーソフトでlocalhostにアクセスでないと動きません。
これはXMLHttpRequest()とActiveXObject("Microsoft.XMLHTTP")
の違いですか?

<html><head><meta http-equiv="content-type" content="text/html;charset=shift_jis">
<title>XMLHttpRequest()の基本(Win IEの場合)</title>
<script type="text/javascript">
function loadTextFile()
{httpObj = new ActiveXObject("Microsoft.XMLHTTP");
httpObj.onreadystatechange = statusCheck;
httpObj.open("GET","data.txt",true);
httpObj.send(null);}
function statusCheck()
{if ((httpObj.readyState == 4) && (httpObj.status == 200))
{displayData();}}
function displayData(){
document.ajaxForm.result.value = httpObj.responseText;}
</script></head><body>
<h1>XMLHttpRequest()の基本 (Win IEの場合)</h1>
<form name="ajaxForm">
<input type="button" value="読み込み" onClick="loadTextFile()"><br>
<textarea name="result" cols="40" rows="5"></textarea></form></body></html> <> Name_Not_Found<>sage<>2011/03/13(日) 09:21:35.31 ID:???<> そりゃサーバを通さないでimg srcで画像が表示されるのはなぜですか?と同じだわ
つこうてるプロトコルが違うからやで
httpじゃなくてfileプロトコルつこうてるんや <> Name_Not_Found<>sage<>2011/03/13(日) 15:21:16.04 ID:???<> URI の scheme 部のことか?

file protocol ってどこで規定されている? <> Name_Not_Found<>sage<>2011/03/13(日) 16:31:29.56 ID:???<> jQueryで、要素をjQueryオブジェクトにして格納した変数に
別の要素も対象範囲に追加する方法はありますか?

<p id="id1">aaa</p>

<p id="id2">bbb</p>

<p id="id3">ccc</p>

$(function(){
var t = $("#id1");
t.append($("#id3"));
t.css("background", "#00FF00");
})

こうしたらaaa,cccの背景色は変わりましたが、p要素の順番が上からaaa、ccc、bbbになってしまい駄目で
t.add()をしてみてもcccが追加されないのかaaaしか背景色は変わりませんでした <> Name_Not_Found<>sage<>2011/03/13(日) 16:51:01.91 ID:???<> jqueryすれってム板にあるけど本来はこっちとあっちどっちの話題?
http://hibari.2ch.net/test/read.cgi/tech/1229881548/ <> Name_Not_Found<>sage<>2011/03/13(日) 17:00:12.49 ID:???<> 本来はこっちの板だと思う。。。 <> Name_Not_Found<>sage<>2011/03/13(日) 17:07:44.29 ID:???<> >>461
var t = $("#id1");
t = $(t.selector + ", #id3");
t.css("backgroundColor", "#00FF00");

$("#id1, #id3").css("backgroundColor", "#00FF00");
と何も変わらないけどね <> Name_Not_Found<>sage<>2011/03/13(日) 17:12:06.41 ID:???<> > t.append($("#id3"));
p要素を子にしちゃいかんだろ。

var t = $("#id1");
t[t.length] = $("#id2")[0];
t.length += 1;
t[t.length] = $("#id3")[0];
t.length += 1;
t.css("background", "#00FF00");

当たり前のことを言うようだけど、tはjQueryオブジェクトであって配列オブジェクトじゃない。
生成したインスタンスにDOM要素を追加したいなら地道にやるしかない。 <> Name_Not_Found<>sage<>2011/03/13(日) 17:44:10.69 ID:???<> >>464-465
どうもありがとうございました!
考えていた方法では、if文を使ってid3のような一部の要素をid1要素との一斉処理する対象に含める/含めないの処理をしたかったんです
とても勉強になりました! <> Name_Not_Found<>sage<>2011/03/13(日) 18:14:24.67 ID:???<> >>462-463
ここはJavaScriptのスレだから、個人的にはjquery固有の質問は避けて欲しいなあ <> Name_Not_Found<>sage<>2011/03/13(日) 18:28:09.59 ID:???<> 個人意見なら無視でいいな <> Name_Not_Found<>sage<>2011/03/13(日) 18:34:59.58 ID:???<> その理屈でいくと「無視でいい」も無視することになるわけだが。 <> Name_Not_Found<>sage<>2011/03/13(日) 18:43:17.21 ID:???<> すればいいよ
みんな書きたいことかいてればいい <> Name_Not_Found<>sage<>2011/03/13(日) 18:53:50.05 ID:???<> アホのperl忍者が住み易いスレになる訳ですね <> Name_Not_Found<>sage<>2011/03/13(日) 18:55:13.17 ID:???<> jQueryに文句は言えんな、いちおうスレチではないし <> Name_Not_Found<>sage<>2011/03/13(日) 19:01:29.35 ID:???<> jQueryの質問は専用のスレにしたら?
<> Name_Not_Found<>sage<>2011/03/13(日) 19:39:44.73 ID:???<> 自治厨氏ね <> Name_Not_Found<>sage<>2011/03/13(日) 20:07:55.32 ID:???<> >>467
板はここってだけで
jQueryはスレチ

板とスレッドの区別ついてるか('A`)? <> Name_Not_Found<>sage<>2011/03/13(日) 20:19:42.99 ID:???<> jQueryもJavaScriptだろ、池沼は黙ってろよ <> Name_Not_Found<>sage<>2011/03/13(日) 20:31:55.68 ID:???<> jQueryの質問が多くなって一般の質問と分けたくなったら
その時はjQueryスレを建てて独立させればいいんじゃないの。
今のところ混ざっていてもよさそうに思えるけどいかが。

jQueryもJavaScriptだ、というのはちょっとまずいんじゃないの。
ありとあらゆるJavaScript用ライブラリの話題があふれてきて
分けたくなった時にも同じことを言うわけ? <> Name_Not_Found<>sage<>2011/03/13(日) 20:34:32.30 ID:???<> 将来の仮定なんか今関係ないだろ <> Name_Not_Found<>sage<>2011/03/13(日) 20:37:48.89 ID:???<> それはあなたの意見ですね。まあ、今分けなくてもいいという
結論が一緒なら別にそれでいいのでは。 <> Name_Not_Found<>sage<>2011/03/13(日) 20:38:37.98 ID:???<> ム板のこのスレ、次はこっちに立てればいい。

【誰か】jQueryのここがわからない【助けて】
http://hibari.2ch.net/test/read.cgi/tech/1229881548/ <> Name_Not_Found<>sage<>2011/03/13(日) 20:39:09.83 ID:???<> 自分の意見が一番でないと気に食わないというお子ちゃまが
いるようだな。おお、2ちゃんらしい煽りだ。 <> Name_Not_Found<>sage<>2011/03/13(日) 20:39:26.77 ID:???<> 両方使えばいいか <> Name_Not_Found<>sage<>2011/03/13(日) 20:41:16.04 ID:???<> そのスレが必要であり続けるのなら制作板の方が良さそうだね。
自分には興味ないんでそのスレの人たちで決めたらいいんでないの。 <> Name_Not_Found<>sage<>2011/03/13(日) 21:17:47.23 ID:???<> そのスレも一応チェックして解答したりはしてるけど
いつたったスレの事を言ってんだよって話
しかも単発っぽい奴が立てたスレだろ
再利用してるだけまだましじゃないか <> Name_Not_Found<>sage<>2011/03/13(日) 22:01:01.96 ID:???<> iframe(同一サーバ内)が複数あるページで、
個々のフレーム全てにイベント設定をするにはどうすればいいでしょうか?

例えば、フレームの名前が一意に指定されている場合は、以下で動きます。
window["HOGE"].document.onmouseup = hoge;

しかし、ページ内に存在する全てのiframeタグにイベントを指定...以下では動きません。
var fs = document.getElementsByTagName("iframe");
for (var e in fs) {e.document.onmouseup = hoge;}

複数のフレーム内への指定の仕方が根本的に間違っているのかと思いますが、
正解がわかりません。どのように記述したら良いですか? <> Name_Not_Found<>sage<>2011/03/14(月) 01:23:25.41 ID:???<> var fs = document.getElementsByTagName("iframe"), i;
for(i = 0; i < fs.length; i++){
    fs[i].contentWindow.document.body.onmouseup = hoge;
}
根本的に間違ってますね <> Perl忍者 ◆M5ZWRnXOj6 <><>2011/03/14(月) 19:21:30.80 ID:YWstjSDD<> 最強ハッカーチームPerlBlack「黒真珠」
http://hibari.2ch.net/test/read.cgi/linux/1300097049/

javascirpt知ってるやつも入って良い <> Name_Not_Found<>sage<>2011/03/14(月) 19:31:58.24 ID:???<> 俺Perl忍者さんほどレベル高くないから無理だわ
一杯勉強していつか手伝いたい <> Name_Not_Found<>sage<>2011/03/14(月) 19:33:15.19 ID:???<> 俺はwindowsだからやめとくわ <> Name_Not_Found<>sage<>2011/03/14(月) 20:09:53.08 ID:???<> javascirptなんて知らない <> Name_Not_Found<>sage<>2011/03/14(月) 20:10:29.84 ID:???<> >>486
ありがとうございました。framesを使ってできました。
FirefoxではcontentWindowが使えませんでしたが、良いヒントにはなりました。 <> Name_Not_Found<>sage<>2011/03/14(月) 20:37:16.47 ID:???<> >>491
contentWindowはFirefoxでも使えると思ったけど俺の勘違いなのか <> Name_Not_Found<>sage<>2011/03/15(火) 02:50:15.47 ID:???<> var xhr = function(url){
    var req = new XMLHttpRequest();
    req.addEventListener("load", function(e){
        parse(e, url);
    }, false);
    req.open("GET", url, true);
    req.send(null);
}
var parse = function(e, href){
    var fragment = document.createDocumentFragment(), base = document.createElement("base"), block = document.createElement("div");
    base.setAttribute("href", href);
    fragment.appendChild(base);
    fragment.appendChild(block);
    block.innerHTML = e.target.responseText;
    fragment.querySelectorAll("a"); // このhref属性が欲しい
    console.log(fragment);
}
xhr("http://example.com/test2/");

階層の異なるURLから取ってきたHTMLに含まれた相対URLを階層を考慮して解決させたいのですが
どのようにしたらいいのでしょうか。 <> Name_Not_Found<>sage<>2011/03/15(火) 08:30:35.13 ID:???<> 単純に文字列結合しちゃダメ?
"http://example.com/test2/"+"./hoge.html"
"http://example.com/test2/"+"../hoge2.html"
で <> Name_Not_Found<>sage<>2011/03/15(火) 10:10:00.36 ID:???<> >>492
contentWindowはDOM2 HTMLには含まれていない→IE専、らしい。 <> Name_Not_Found<>sage<>2011/03/15(火) 10:29:04.24 ID:???<> 自己解決しました
document.baseURIはdocument.write時にのみ設定可能なようでiframeを使って文書を作り要素を追加してます
innerHTMLでパース済みのa要素はリンクが解決済みで使えないので要素を作り直すようにしました
var parse = function(e, href){
    var fragment = document.createDocumentFragment(), block = document.createElement("div"), iframe = document.createElement("iframe"), links = [];
    fragment.appendChild(block);
    block.innerHTML = e.target.responseText;
    document.body.appendChild(iframe);
    iframe.contentDocument.open();
    iframe.contentDocument.write("<base href='" + href + "' />");
    iframe.contentDocument.close();
    links = Array.slice(fragment.querySelectorAll("a[href]"));
    links.forEach(function(e){
        var a = document.createElement("a");
        a.setAttribute("href", e.getAttribute("href"));
        iframe.contentDocument.body.appendChild(a);
    });
    iframe.contentDocument.getElementsByTagName("a"); // OK!
    document.body.removeChild(iframe);
};
>>494
絶対URLも混ざっていて、相対URLの処理も完全に処理しようとすると非常にコードが長くなってしまうので使用したく無かったのです。 <> Name_Not_Found<>sage<>2011/03/15(火) 11:48:57.93 ID:???<> >>495
他の草案にあるから調べろ

>>496
GeckoならresolveURIのような何かがあった気がしたが <> Name_Not_Found<>sage<>2011/03/15(火) 11:55:33.33 ID:???<> >>496
あとXHTMLならxml:baseを突っ込むだけでいい
見たところHTML(5)っぽいから候補外だろうが <> Name_Not_Found<>sage<>2011/03/15(火) 22:32:04.96 ID:???<> ttp://www.mofa.go.jp/__utm.js
これは何をするスクリプトですか? <> Name_Not_Found<>sage<>2011/03/15(火) 22:45:18.25 ID:???<> Urchin Tracking Moduleだから広告配信とかで使うトラッキングだろう <> Name_Not_Found<>sage<>2011/03/16(水) 00:27:17.36 ID:???<> JavaScriptでスタイルファイルをページをリロードさせることなく読み込ませる方法を教えてください
スタイルファイルは時々書き換えられます <> Name_Not_Found<>sage<>2011/03/16(水) 08:45:38.90 ID:???<> document.styleSheets等から辿れるCSSツリーを書き換えれば勝手に変わる <> Name_Not_Found<><>2011/03/16(水) 08:52:18.11 ID:sX0fPbIu<> id属性がElementObjectとして、iframeのname属性がWindowObjectとして
勝手に変数に組み込まれるのは仕様なんですか? <> Name_Not_Found<>sage<>2011/03/16(水) 08:59:51.11 ID:???<> >>502
CSSツリーを書き換えたら自動的にスタイルファイルが再読み込み
されるってこと? <> Name_Not_Found<>sage<>2011/03/16(水) 10:16:57.15 ID:???<> 聞く前にやって味噌 <> Name_Not_Found<>sage<>2011/03/16(水) 11:55:02.34 ID:???<> jqueryを覚えた場合でもjavascriptを覚えたほうがいいですか? <> Name_Not_Found<>sage<>2011/03/16(水) 11:56:54.56 ID:???<> 必要になったら必要なことをやる
これ原則 <> Name_Not_Found<>sage<>2011/03/16(水) 13:19:23.19 ID:???<> jqueryなんか覚えたうちに入らん <> Name_Not_Found<>sage<>2011/03/16(水) 13:29:43.48 ID:???<> 501です
document.createStyleSheet(url)でできました
でもこれIEだけですよね?
他のブラウザでもできるようにするにはどうすればいいですか? <> Name_Not_Found<>sage<>2011/03/16(水) 13:35:42.61 ID:???<> function appendStyleSheet(src) {
    var style = document.createElement("link");
    style.setAttribute("rel", "stylesheet");
    style.setAttribute("type", "text/css");
    style.setAttribute("href", src);
    document.getElementsByTagName("head")[0].appendChild(style);
}
appendStyleSheet("./style.css");
こんな感じで <> Name_Not_Found<>sage<>2011/03/16(水) 13:47:27.92 ID:???<> >>510
ありがとうございます <> Name_Not_Found<><>2011/03/16(水) 14:29:04.48 ID:sUxyuyZP<> ie9を落とせる所ご存知でしょうか <> Name_Not_Found<>sage<>2011/03/16(水) 14:35:20.04 ID:???<> 日本以外全国 <> Name_Not_Found<>sage<>2011/03/16(水) 14:56:17.34 ID:???<> >>512
「ie9 url download」でぐぐってください <> Name_Not_Found<><>2011/03/16(水) 17:54:55.35 ID:SAXHFflg<> firebugでdomに登録されているイベントを参照したいんですができますか?
できるのであれば方法を教えてください。 <> Name_Not_Found<>sage<>2011/03/16(水) 18:06:51.08 ID:???<> >>512
マイクロソフト <> Name_Not_Found<><>2011/03/17(木) 01:12:38.15 ID:xxmXYMYf<> javascriptって柔軟な書き方ができて楽しいんですが、
勢いで書いてしまうと、とても人が読めるコードではなくなってしまいます。
みなさんが「可読性が高いコード」を書く時に参考にしている記事などあったら教えてください。 <> Name_Not_Found<>sage<>2011/03/17(木) 02:43:41.34 ID:???<> good parts <> Name_Not_Found<>sage<>2011/03/17(木) 03:50:10.52 ID:???<> jquery以外 <> Name_Not_Found<>sage<>2011/03/17(木) 10:52:59.92 ID:???<> みんなjslintとか使ってる? <> Name_Not_Found<>sage<>2011/03/17(木) 11:06:29.49 ID:???<> 使ってると言われて使ってるといったら何かが変わるなら使ってるっていってやんよ <> Name_Not_Found<>sage<>2011/03/17(木) 11:16:11.52 ID:???<> 使うメリットがあれば使う
使う必要がなければ使わない <> Name_Not_Found<>sage<>2011/03/17(木) 11:18:19.58 ID:???<> 理解出来ないものは言葉遊びで貶める
レベル低いスレだなぁ <> Name_Not_Found<>sage<>2011/03/17(木) 11:38:03.49 ID:???<> しょうもないこと聞くなと読み取れないお前が低レベル <> Name_Not_Found<>sage<>2011/03/17(木) 14:17:29.93 ID:???<> 何かにJSLintを使えるか試して、いろんな意味で使えねーと思ったな
何だったかな <> Name_Not_Found<>sage<>2011/03/17(木) 19:34:50.46 ID:???<> >>517
http://cou929.nu/data/google_javascript_style_guide/
http://efcl.info/adiary/TDD/JavaScriptTestingBeginnersGuide/Chapter3SyntaxValidation
JSLint はエラーメッセージまで読んで使いこなすのが本質。
W3C Markup Validator のように必ず守らなければならない規定によるものではないから。 <> Name_Not_Found<>sage<>2011/03/17(木) 20:29:02.24 ID:???<> validatorは整合性チェック
lintはバグになりうる曖昧な記述の検出
目的が全然違う <> Name_Not_Found<>sage<>2011/03/17(木) 20:34:56.79 ID:???<> 「可読性が高いコード」ならインデントとかコメントとかを丁寧に
やれば見やすくなるんじゃない?
これとか結構読みやすくて後から見てもメンテしやすいと思う。

http://canon.jp/common/js/baselib.js

<> Name_Not_Found<>sage<>2011/03/17(木) 20:50:59.38 ID:???<> 上にコンストラクタでthisを返す云々があったが
そもそもnew Baka()でBakaのインスタンス以外が返ってくるとしたら、newの意味が完全に崩壊する
それなりにJSに親しんだ人間ならそんなケースはまずないことを知っている

それなのに、コンストラクタでわざわざreturn thisを書くのは
その中でthis以外を返すかもしれないレアケースであることを暗示している

仮にそういうレアケースだとしても、ならばコンストラクタを隠蔽し
createBaka()のような関数を用意して生成手順をミスらないようにするだろう
そうすれば、間違ってコンストラクタを関数呼び出しすることもなくなる

つまるところ、JSでのオブジェクト指向を理解している奴としてない奴で
可読性の意味する所が全然違うだろう

可読性とは、同じレベルの者同士でしか共有しえない! <> Name_Not_Found<>sage<>2011/03/17(木) 22:25:15.28 ID:???<> 概ね同意 <> 517<><>2011/03/17(木) 22:42:42.86 ID:oWmeM+da<> どれも参考にさせてもらいました。
>>528
まだ初心者なので、これを参考に丁寧に書いてみようと思います。
>>519
jQueryのコードのどの辺が読みづらいか教えていただけるとありがたいです。 <> Name_Not_Found<>sage<>2011/03/17(木) 22:44:55.55 ID:???<> 再帰関数が分かりません。説明してください。 <> Name_Not_Found<>sage<>2011/03/17(木) 22:47:10.34 ID:???<> 再帰関数の何がわからないのかがわかりません。説明してください。 <> Name_Not_Found<>sage<>2011/03/17(木) 22:48:49.15 ID:???<> 再帰関数が何のことかわからない
仕組みがわからない
使い方がわからない
意味がわからない

どれだよ <> Name_Not_Found<>sage<>2011/03/17(木) 22:53:10.05 ID:???<> 自分自身を自分で呼び出すってのが分からないんだろ <> Name_Not_Found<>sage<>2011/03/17(木) 22:56:18.10 ID:???<> function a(){
a()
}

↑これです、自分で自分を呼ぶんです <> Name_Not_Found<>sage<>2011/03/17(木) 22:56:35.47 ID:???<> フィボナッチ数列を求めるプログラム
var fibonacci=function (n){
return n<2 ? n: fibonacci(n-1) + fibonacci(n-2);
};
for(var i=0; i<=10; i+=1){
document.writeln('//' +i+':'+fibonacci(i)+'<br>');
}
これを例に動作を説明してください。for文で0〜10回の間に
453回fibonacciが呼び出されるのが分かりません <> Name_Not_Found<>sage<>2011/03/17(木) 22:58:12.57 ID:???<> >>531
別に>>519は読みづらいとは書いてないと思うが
まぁ俺もjQueryのコードで良いと思ったものはほとんどない
無駄がありすぎてむず痒くなる <> Name_Not_Found<>sage<>2011/03/17(木) 22:59:36.11 ID:???<> 自称上級者きましたー <> Name_Not_Found<>sage<>2011/03/17(木) 23:02:09.74 ID:???<> >>538
どの辺が無駄なの? <> Name_Not_Found<>sage<>2011/03/17(木) 23:07:43.97 ID:???<> >>537
fibonacci(i)で引数が2以上ならその中でまたfibonacci(i)を呼ぶだろ
だからforで10のときならfibonacci(10)のなかでfibonacci(i)呼んだとき
引数はn-1とn-2のがあるけどn-1の方だと引数が9だからfibonacci(9)が呼ばれる
その中でまたfibonacci(i)呼んでまた……
ってなる
それで結果的に453回呼ばれてる <> Name_Not_Found<>sage<>2011/03/17(木) 23:07:51.16 ID:???<> >>540
聞くなら書けよ <> Name_Not_Found<>sage<>2011/03/17(木) 23:08:46.44 ID:???<> 何を書けばいいんだ? <> Name_Not_Found<>sage<>2011/03/17(木) 23:08:59.10 ID:???<> >>537
フィボナッチ数列のn番目の数はn-2番目とn-1番目の数を足して求める。
n-2番目を求めるにはn-4とn-3番目が必要
0番目と1番目だけ最初に数値与えて、後はフィボナッチ関数呼び出してそれを足してる。
4番目の3の求め方(0,1,1,2,3)
・4番目ってことは2番目(?)と3番目(?)が必要
・・2番目は0番目(0)と1番目(1)が必要
・・3番目は1番目(1)と2番目(?)が必要
・・・2番目は0番目(0)と1番目(1)が必要
階層的にはこんな感じ。 <> Name_Not_Found<>sage<>2011/03/17(木) 23:09:21.26 ID:???<> >>542
何を書くの? <> Name_Not_Found<>sage<>2011/03/17(木) 23:13:05.05 ID:???<> jQueryのソースの良さがわからない人はレベルが低いだけだと思うな
せめて>>537のコードの駄目な所を言えるぐらいじゃないと理解は出来ない
<> Name_Not_Found<>sage<>2011/03/17(木) 23:16:54.24 ID:???<> だから俺が言ってるのはjQueryそのものではなく
jQueryを使っている奴のレベルが低い、ということなんだが

ここまで持ち上げられているのは気持ち悪い <> Name_Not_Found<>sage<>2011/03/17(木) 23:18:39.45 ID:???<> 誰かが公開してるプラグインには確かにうんこなのは多いな
本体ソースは読んでないので知らん <> Name_Not_Found<>sage<>2011/03/17(木) 23:24:21.60 ID:???<> レベルが低いとか無駄があるとか具体的なことを何も書かない意見は参考にならん <> Name_Not_Found<>sage<>2011/03/17(木) 23:24:49.18 ID:???<> 複雑なことにはjQuery使いたくないしなあ
単純なのを楽に書くためにjQuery使ってるんじゃないの?
画像を動かすのとかさ
それをレベル低いとか言ってるんだろどうせ <> Name_Not_Found<>sage<>2011/03/17(木) 23:27:51.80 ID:???<> >>541
>>544
ありがとうございました <> Name_Not_Found<>sage<>2011/03/17(木) 23:33:23.48 ID:???<> >>549
だから具体的なコードを書けっつたじゃねえかよ
CSSセレクタの使い方、一時変数へのキャッシュ、ループ回数の減らし方、無名関数の減らし方
衝突しないプラグイン、jQuery自体の重たい部分を回避する方法
だいたいメソッドチェーン自体が割と重いんだよ

jQueryを使ったというだけで自分のレベルが上がったとでも勘違いしてんの? <> Name_Not_Found<>sage<>2011/03/17(木) 23:40:25.03 ID:???<> jsonとかのデータからsocial graphを生成するjavascriptのライブラリありませんか? <> Name_Not_Found<>sage<>2011/03/17(木) 23:42:33.76 ID:???<> >>552
ちょっと勉強になったわ <> Name_Not_Found<>sage<>2011/03/17(木) 23:43:59.00 ID:???<> なるほど、jQuery自体のソースが問題なんじゃなくてjQueryによって書かれているソースがダメなのか。
それで>>542か。わかりにくいよw

>>546
>>537のダメな所か。
document.writelnかnが整数以外を考慮してないことかなぁ? <> Name_Not_Found<>sage<>2011/03/17(木) 23:46:09.90 ID:???<> 整数以外渡さなきゃいいだろ <> Name_Not_Found<>sage<>2011/03/17(木) 23:48:05.66 ID:???<> >>552
勉強にはなったが、あんたが無駄と思ったコードを第三者が知るわけないだろ…。
「おまえレベルの低いjQuery信者だな。よし、俺がレビューしてやるから具体的なコード書けよ。」と要求したつもりなのか。 <> Name_Not_Found<>sage<>2011/03/18(金) 00:01:16.66 ID:???<> 典型的なコミュ障だな>>552 <> Name_Not_Found<>sage<>2011/03/18(金) 00:17:06.39 ID:???<> あーこれは駄目だな
>>552程度で勉強になったと言ってるアホ共、今すぐjqueryを捨てろ
普通にjavascript書いてればわかることばっかじゃん <> Name_Not_Found<>sage<>2011/03/18(金) 00:21:19.79 ID:???<> 相変わらず何言ってるのかわからない <> Name_Not_Found<>sage<>2011/03/18(金) 00:43:43.63 ID:???<> jquery批判が許されない雰囲気があるよね <> Name_Not_Found<>sage<>2011/03/18(金) 00:48:18.90 ID:???<> エクセルを仕事で使うような職場で
マクロを使ってさくっと終わらせると周りから「あいつはまじめに仕事をしていない」とみられるような感じとよく似てる <> Name_Not_Found<>sage<>2011/03/18(金) 00:50:28.98 ID:???<> だがそのマクロが間違っていたら? <> Name_Not_Found<>sage<>2011/03/18(金) 00:52:29.35 ID:???<> 責任とらなきゃ <> Name_Not_Found<>sage<>2011/03/18(金) 00:59:13.57 ID:???<> >>562
そんな話題昔あったな <> Name_Not_Found<>sage<>2011/03/18(金) 01:00:08.36 ID:???<> 責任取るのは上の仕事 <> Name_Not_Found<>sage<>2011/03/18(金) 01:04:13.52 ID:???<> じゃあ謝るだけでいいか <> Name_Not_Found<><>2011/03/18(金) 08:27:58.75 ID:rWQY4znE<> >>544
再帰函数の話題とは関係のない話だが、フィボナッチ数列は一般項から求めたほうが早い。 <> Name_Not_Found<>sage<>2011/03/18(金) 08:49:41.10 ID:???<> >>568
フィボナッチ数列の一般項って知らない。教えて頂けませんか。
自分が知っている一番速い方法はN番目を計算するのにO(log N)
の計算量のやつ。一般項だとO(1)だから絶対的に速そう。 <> Perl忍者
◆M5ZWRnXOj6 <>sage<>2011/03/18(金) 09:14:18.15 ID:???<> jQuery批判するやつはカス

今すぐ消えろ <> Name_Not_Found<>sage<>2011/03/18(金) 10:18:57.61 ID:???<> ビネの公式でググれ <> Name_Not_Found<>sage<>2011/03/18(金) 11:37:18.93 ID:???<> なるほどありがとう。ただ√5とか使ったら正確な整数の結果は
求まらないですね。まあ用途によりますけど。 <> Name_Not_Found<>sage<>2011/03/18(金) 11:50:19.88 ID:???<> >>537
fibonacci(0)の計算
 * fibonacci(0)自体で1回『呼ばれる』
よって、fibonacciは総計1回呼ばれる。

fibonacci(1)の計算
 * fibonacci(1)自体で1回『呼ばれる』
よって、fibonacciは総計1回呼ばれる。

fibonacci(2)の計算
 * fibonacci(2)自体で1回『呼ばれる』
 * fibonacci(1)を1回『呼ぶ
 * fibonacci(0)を1回『呼ぶ』
よって、fibonacciは総計3回呼ばれる。

fibonacci(3)の計算
 * fibonacci(3)自体で1回『呼ばれる』
 * fibonacci(2)を1回『呼ぶ』 - これによってfibonacciは小計3回呼ばれる
 * fibonacci(1)を1回『呼ぶ』 - これによってfibonacciは小計1回呼ばれる
よって、fibonacciは総計5回呼ばれる。

fibonacci(4)の計算
 * fibonacci(4)自体で1回『呼ばれる』
 * fibonacci(3)を1回『呼ぶ』 - これによってfibonacciは小計5回呼ばれる
 * fibonacci(2)を1回『呼ぶ』 - これによってfibonacciは小計3回呼ばれる
よって、fibonacciは総計9回呼ばれる。





fibonacci(0)の計算〜fibonacci(10)の計算を足して、fibonacciは全部で453回呼ばれる。 <> Name_Not_Found<>sage<>2011/03/18(金) 12:17:52.54 ID:???<> 学校の教科書かよ <> Name_Not_Found<>sage<>2011/03/18(金) 12:40:53.77 ID:???<> >>562
時間かけた方が仕事してるって風潮未だにあるよね
徹夜自慢とか、仕事出来ないってのをカモフラージュしてるだけだし
車輪は利用してナンボ <> Name_Not_Found<>sage<>2011/03/18(金) 13:28:05.33 ID:???<> >>538
無駄のないjQuery作ってください。 <> Name_Not_Found<>sage<>2011/03/18(金) 13:36:24.70 ID:???<> >>559
確かにコミュ障だな <> Name_Not_Found<>sage<>2011/03/18(金) 14:58:28.97 ID:???<> >>576
お前レス読み返してこいw
jQuery自体が無駄とは誰も言ってない。 <> Name_Not_Found<>sage<>2011/03/18(金) 15:06:43.24 ID:???<> いい加減、低レベルな批判はやめろよ。見ていて痛々しい。 <> Name_Not_Found<><>2011/03/18(金) 16:13:50.82 ID:ip2VWfM3<> >>532がわりと置き去りな件w
再帰関数のことわかったのかな? <> Name_Not_Found<>sage<>2011/03/18(金) 16:18:36.89 ID:???<> 532=537=551だぞ <> Name_Not_Found<>sage<>2011/03/18(金) 16:49:38.79 ID:???<> >>580
532=537
再帰関数でフィボナッチ数列、トリボナッチ数列、階乗の計算が
できること分かりました。
学校でC言語しか習わないので、10数冊の本とインターネットでを使って
Webプログラミングを独学してます <> Name_Not_Found<>sage<>2011/03/18(金) 17:50:42.05 ID:???<> >>582
> 再帰関数でフィボナッチ数列、トリボナッチ数列、階乗の計算が
> できること分かりました。

普通に使ってたら再帰関数の使い道はそういうところにはないよ
HTMLの中から特定の条件を満たすタグを全部抽出とか
whileループでできないようなことをするのに使う

アルゴリズム系の本を買えば詳しく載ってるよ <> Name_Not_Found<>sage<>2011/03/18(金) 17:52:41.75 ID:???<> リカーシブはただのテクだから無理して使う必要はない
コードがスッキリすること以外何もメリットはないから
特に理由がなければプログラムが遅くなるだけだから使わないほうがいい <> Name_Not_Found<>sage<>2011/03/18(金) 17:54:52.14 ID:???<> 複数段にまたがるファイルリストでも作れば理解出来るんじゃね? <> Name_Not_Found<>sage<>2011/03/18(金) 18:08:55.28 ID:???<> でも再帰使わないで再帰表現をするのはまた別の高度なテクニックだぞ
必要なときにすぐ書けるのが再帰のいいところ <> Name_Not_Found<>sage<>2011/03/18(金) 19:04:55.80 ID:???<> 変数のスコープについて質問です
$.ajax メソッドの success 内で以下のように書いているのですが

success: function(data, dataType){
var a = $('#x');
var b = a.next('ul');
var c = b.children('div');
b.css("display","block");
b.html(data);
if (a.attr('class') == 'y'){
b.children('.z').css('width', 120);
}
}

if 内の b のところでこけます
ちなみに if 内を少し変更して

success: function(data, dataType){
var a = $('#x');
var b = a.next('ul');
var c = b.children('div');
b.css("display","block");
b.html(data);
if (a.attr('class') == 'y'){
a.next('ul').children('.z').css('width', 120);
}
}

とするとうまくいきます
いろんなサイトを見て回ったのですが function 内で宣言した変数は、
function 内のどこからでもアクセスできると書いてあります
わかる方いらっしゃったら教えてください <> Name_Not_Found<><>2011/03/18(金) 19:36:50.26 ID:ip2VWfM3<> >>587
スコープの問題じゃないんじゃ? <> Name_Not_Found<>sage<>2011/03/18(金) 19:59:50.16 ID:???<> こけるときのエラー調べてみたら?
多分b.html(data);でjQuery的に予想してないことが起きてるはず。 <> Name_Not_Found<><>2011/03/18(金) 20:09:24.37 ID:3/HlRLdS<> すいません 
質問です

twitterのハッシュタグのタイムラインを、サイトにのせたいんだけど、どうしたらよいですか?

例 http://prayforjapan.jp/

これのようなサイトをつくりたい。

ソースみたけど、良くわからない。

これに、乗せたいです。 http://akiba.geocities.jp/tr4583384/




<> Name_Not_Found<>sage<>2011/03/18(金) 20:15:17.26 ID:???<> twitterにいけ。 <> Name_Not_Found<><>2011/03/18(金) 21:54:07.91 ID:oJ34+48S<> >>590
つ http://dev.twitter.com/pages/streaming_api <> Name_Not_Found<>sage<>2011/03/18(金) 22:19:41.11 ID:???<> スマフォ用のライブラリって、結局どれがいいの? <> Name_Not_Found<>sage<>2011/03/18(金) 22:44:16.06 ID:???<> 537です
フィボナッチ数列を求めるとき537だと不要な動作が含まれるので
メモ化しました。
var fibonacci=function (){
var memo=[0,1];
var fib=function(n){
var result=memo[n];
if(typeof result !=='number'){
result =fib(n-1)+fib(n-2);
memo[n]=result;}
return result;};
  return fib;
}();//←の()が分かりません
for(var i=0; i<=10; i+=1){
document.writeln('//' +i+':'+fibonacci(i)+'<br>');}
質問します。var 名前=function(){関数の内容}();と
var 名前=function(){関数の名前};の2種類があるのが分かりません
()の意味が分かりません()は引数を入れるもの?ぐらいしか認識が
ありません。
<> Name_Not_Found<>sage<>2011/03/18(金) 22:56:08.68 ID:???<> ()は関数呼び出し
前者は関数の内容で得られた値を代入
後者は関数そのものを代入 <> Name_Not_Found<>sage<>2011/03/18(金) 23:05:25.33 ID:???<> JavaScriptをきちんと学習したい人はJavaScript第5版を買ったほーがいいよ
ネットで手探りで学習するなんて効率悪い <> Name_Not_Found<>sage<>2011/03/18(金) 23:10:15.50 ID:???<> JavaScript第5版ってAjaxいついて書かれていますか? <> Name_Not_Found<>sage<>2011/03/18(金) 23:18:49.69 ID:???<> 載ってるけどそこ読んでないからどれくらい詳しいかまでは知らん <> Name_Not_Found<>sage<>2011/03/18(金) 23:41:27.68 ID:???<> jQuery クックブックもオススメ。
552がご高説している事も網羅しているしJavaScript自体の事もよく書かれている。
AjaxもjQueryをつかう前提だけど理解を深めるにはいいと思うよ
<> Name_Not_Found<>sage<>2011/03/19(土) 00:04:52.40 ID:???<> >>595
もっとくわしく頼みます <> Name_Not_Found<>sage<>2011/03/19(土) 00:17:01.29 ID:???<> もはや再帰関係なくなった。
var fibonacci = function () {
  var memo = [0, 1];
  var fib = function (n) {
    var result = memo[n];
    if (typeof result !== 'number') {
      for (var i = memo.length; i < n; i++) memo[i] = memo[i - 2] + memo[i - 1];
      result = memo[n] = memo[n - 2] + memo[n - 1];
    }
    return result;
  };
  return fib;
}();

fibonacciには後ろの関数が実行されてreturn のfibが入る。
var a = function(){/*1*/};
var b = function(){/*2*/};
var c = a;
こういうこと? <> Name_Not_Found<>sage<>2011/03/19(土) 00:23:25.70 ID:???<> これ実行すればわかるはず
var a = function(){ return true }();
var b = function(){ return true };

alert(a);
alert(b);
alert( b() );
//alert( a() ); ←実行するとエラーになる <> Name_Not_Found<>sage<>2011/03/19(土) 00:41:53.23 ID:???<> フィボナッチ数列なんか再帰いらないだろ <> Name_Not_Found<>sage<>2011/03/19(土) 00:51:36.10 ID:???<> ていうか再帰は使うべきでない
勉強にはいいかもしれないけど実践では使えない

for (i=0, j=1, k=0, fib=0; i<50; i++, fib=j+k, j=k, k=fib){
document.write("Fibonacci ("+i+") = "+fib+"<br>");
} <> Name_Not_Found<>sage<>2011/03/19(土) 00:54:24.87 ID:???<> フィボナッチ数列は再帰を説明するときに使われるだけで
実際にフィボナッチ数列が必要な人なんかいないし、いても一般項使うだろうな

実際に使うのは
ファイルシステムやマトリューシカみたいな構造体へのアクセスが一番多いと思うわ
フラクタル画像を描くときなんかは再帰がないとちょっときつい <> Name_Not_Found<>sage<>2011/03/19(土) 01:01:57.52 ID:???<> 子孫ノードから特定のnodeTypeを持つノードを得るときにも再帰使うかな。
再帰使わない方法も出来ると思うけど即座に思いつかない。 <> Name_Not_Found<>sage<>2011/03/19(土) 01:09:28.87 ID:???<> 末尾再帰はループで除去できる
階乗とかフィボナッチ数列とかはこれ
中間の再帰はスタックを使う

でもライブラリ実装者とかでもない限り
再帰のパフォーマンスが問題になるケースなんて滅多にないと思うなぁ <> Name_Not_Found<><>2011/03/19(土) 02:50:45.13 ID:QAnjXEom<> String str = 'aaa';
str.toUpperCase();
document.writeln(str);

AAAと表示されないのですがもしかしてimutableクラスですか?
Javaで言うところのStringBuilderだかBufferだかに当る物ってありますか? <> Name_Not_Found<>sage<>2011/03/19(土) 03:03:01.39 ID:???<> document.writeln(str.toUpperCase()); <> Name_Not_Found<><>2011/03/19(土) 03:07:50.90 ID:QAnjXEom<> んなあこたあわかっとる <> Name_Not_Found<>sage<>2011/03/19(土) 03:21:33.07 ID:???<> 少なくとも俺は聞いたこと無いな。
自前で作るならこんな感じ。
function StringBuilder(A){
this.str = String(A);
}
StringBuilder.prototype = {
append: function(A){
return this.str += String(A);
},
toUpperCase: function(){
return this.str = this.str.toUpperCase();
},
toString: function(){
return this.str.toString();
}
}
a=new StringBuilder("abc");
a.toUpperCase();

// まとめて移植。問題あるかも。.nameとか。
// いや、すべて返り値になるのが問題だなw
for (var method in String.prototype){
if (typeof method === "function"){
StringBuilder.prototype[method.name] = function(){
return this.str = method.apply(this.str, arguments);
};
}
} <> Name_Not_Found<>sage<>2011/03/19(土) 03:25:49.11 ID:???<> まとめて移植は動かんかったわ。ごめん。
このスレか前スレぐらいにArrayのラップクラスのコードがあったからそれ見れば出来るはず。
おやすみ。 <> Name_Not_Found<><>2011/03/19(土) 03:28:57.45 ID:QAnjXEom<> 何て言うか、imutableかどうかが一番知りたい質問かな。
Numberにしたって、
var num = 123.456789
num.toFixed(3);
document.writeln(num);
では駄目で、
document.writeln(num.toFixed(3));とか
num1= num.toFixed(3);
document.writeln(num1);とかしないといけないし。 <> Name_Not_Found<>sage<>2011/03/19(土) 03:36:48.49 ID:???<> document.writeln(str.toUpperCase());
document.writeln(num.toFixed(3));
としないといけないというだけで十分じゃないのか?
仕様書読めば確実 <> Name_Not_Found<>sage<>2011/03/19(土) 09:45:36.14 ID:???<> immutable、mは2つね。 <> Name_Not_Found<>sage<>2011/03/19(土) 12:27:33.36 ID:???<> JAVASCRIPTクイックリファレンスのStringの項みたら不変って書いてあるな
英語でかっこつけてる癖に基本的な参考書も持ってないとか恥ずかしい <> Name_Not_Found<>sage<>2011/03/19(土) 14:33:51.40 ID:???<> そもそも数値型がmutableな言語なんて存在したっけ?
あるのならぜひ知りたい。 <> Name_Not_Found<>sage<>2011/03/19(土) 15:04:30.00 ID:???<> C言語…とか…… <> Name_Not_Found<>sage<>2011/03/19(土) 15:12:20.62 ID:???<> 変数は書き換え可能だけど数値という値は書き換え可能じゃないよね。
num.toFixed(3) みたいなことはC言語でどうできるって?
文字列にしてしまえばmutableだからできるのは分かっているけど。 <> Name_Not_Found<>sage<>2011/03/19(土) 15:13:38.22 ID:???<> >何て言うか、imutableかどうかが一番知りたい質問かな。

JavaScriptはクラスベースの言語じゃないと何度言えば…
それ以前にtoUpperCase();の使い方がおかしい事ぐらい調べればわかるだろ

https://developer.mozilla.org/ja/JavaScript/Reference/Global_Objects/String/toUpperCase
>toUpperCase メソッドは、大文字に変換された文字列の値を返します。
toUpperCase メソッドは、文字列の値、それ自身には影響を与えません。 <> Name_Not_Found<>sage<>2011/03/19(土) 15:14:13.45 ID:???<> ECMAScriptにImmutableクラスなんて概念あった?
String.prototype.toUpperCaseは非破壊的でFAだと思うけど。 <> Name_Not_Found<>sage<>2011/03/19(土) 15:18:06.67 ID:???<> だからクラスという概念が無いから。もっとも書き換え可能/不能は
クラスとは独立した概念なので、オブジェクトの種類ごとに
どのような仕様になっているかをチェックすることはできると思う。 <> 621<>sage<>2011/03/19(土) 15:27:14.44 ID:???<> ごめん。投稿前にリロードすれば良かった。
認識は一致してると思う。
http://es5.github.com/#x15.5.4.18 <> Name_Not_Found<><>2011/03/19(土) 19:32:22.98 ID:NaPFqQUQ<> すみません
>503の質問どうかよろしくお願いします <> Name_Not_Found<>sage<>2011/03/19(土) 20:31:50.98 ID:???<> >>624
仕様ですが、実装がまちまちなので使うべきではありません。
http://www.whatwg.org/specs/web-apps/current-work/multipage/browsers.html#named-access-on-the-window-object <> Name_Not_Found<>sage<>2011/03/20(日) 00:43:44.49 ID:???<> 相変わらず回答きても放置する質問者が多いな <> Name_Not_Found<>sage<>2011/03/20(日) 01:34:29.29 ID:???<> 2chなんてそんなものでしょ
お礼でも期待してるの? <> Name_Not_Found<><>2011/03/20(日) 01:45:50.01 ID:ZHGMOSW3<> 生ダコがくいてえええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええ
<> Name_Not_Found<>sage<>2011/03/20(日) 06:26:11.01 ID:???<> >625
ありがとうございました
英語のサイトは半分くらい読めないので今年英語を頑張って来年くらいにまた読みます

>626
すみません…
自分は使えるネット環境は携帯しかなく、その携帯もアクセス制限をかけられていて
ibisというアプリブラウザの一日5ページのお試しを使って書き込んでいるので1日1か2レスしかできないのです
大変すみませんでした <> Name_Not_Found<>sage<>2011/03/20(日) 12:27:15.60 ID:???<> 2つの変数を文字列として連結するために、

str = "" + a + b + "です";

というように、先頭に "" を付けた式を JSLintにかけると以下のような警告が出ます。
Problem : Expected 'String' and instead saw ''''.

警告される意味が理解できないのですが、
何が問題であって、どう書けばいいと言ってるのでしょうか。 <> Name_Not_Found<>sage<>2011/03/20(日) 12:36:13.14 ID:???<> ダブルクオートをシングルクオートにしてみたらどうだろう <> Name_Not_Found<>sage<>2011/03/20(日) 12:42:48.50 ID:???<> >>631
それはやってみましたが、違いは無かったです。 <> Name_Not_Found<>sage<>2011/03/20(日) 13:38:48.45 ID:???<> 空文字列で怒られてるんじゃね
String(a) + String(b) + "です"
とかできなかったっけ? <> Name_Not_Found<>sage<>2011/03/20(日) 13:57:08.43 ID:???<> a.toString() + b.toString()  <> Name_Not_Found<>sage<>2011/03/20(日) 14:15:37.85 ID:???<> >633
そうかもしれないね
「文字型が帰ってくることを(toStringで明示せずに)期待している。それとシングルクォーテーション4つに見える」
っていってるみたいね。 <> Name_Not_Found<>sage<>2011/03/20(日) 14:36:55.21 ID:???<> <form method="post">
<input type='submit' name='hoge' value='1' accesskey='1'>
<input type='submit' name='hoge' value='2' accesskey='2'>
<input type='submit' name='hoge' value='3' accesskey='3'>
</form>

上記のようなボタンが3つある時、「1」のボタンをクリックする書式を教えてください
この並び方なら
document.getElementsByTagName("input").item(0).click()
で大丈夫なのですが、順番が入れ替わった時にどうすればわかりません
itemにvalue='1'を入れると押すことは押すのですが正しいボタンを押してるわけではないようです
もしくはこの書式に詳しい解説サイトありませんか? <> Name_Not_Found<>sage<>2011/03/20(日) 14:44:25.58 ID:???<> >>635
> シングルクォーテーション4つに見える
それってどういう意味(どういうロジックでそう見えるの)でしょうか?


こうすれば、エラーが出なくなりましたが
str= String("") + a + b;
奇妙に見えますが、これでも正しいですか? <> Name_Not_Found<>sage<>2011/03/20(日) 14:47:04.42 ID:???<> だったらstr=String()+a+b
って書くわ <> Name_Not_Found<>sage<>2011/03/20(日) 14:51:05.92 ID:???<> そもそも何故そんなにわかりにくくて見にくい書き方してるのかがわからない <> Name_Not_Found<>sage<>2011/03/20(日) 14:58:12.74 ID:???<> >>639
わかりやすくて見やすい書き方って何? <> Name_Not_Found<>sage<>2011/03/20(日) 15:08:05.07 ID:???<> >637
ごめん、あんまりjslintには詳しくないけど
たぶんjslintは文法的な事だけじゃなく、
スタイリング(インデントや=とか+演算子の前後にはスペースを入れたり)
とかのコードの見た目のチェックしていると思う。それで紛らわしいのは警告を出してるじゃないかな


変数strが文字列であることを保証したいなら>634さんみたいにa,bを先に文字列に明示的に変換しておいたほうがいいと思う
638さんの式だと変数aかbに数値が代入されていると、期待した値にならないと思う。
<> Name_Not_Found<>sage<>2011/03/20(日) 15:14:07.97 ID:???<> >>641
>たぶんjslintは文法的な事だけじゃなく、
>スタイリング(インデントや=とか+演算子の前後にはスペースを入れたり)
>とかのコードの見た目のチェックしていると思う。

そういうチェックはやってないと思うよ。 <> Name_Not_Found<>sage<>2011/03/20(日) 15:22:12.35 ID:???<> >642
ごめん、予想でかいちゃった。
じゃあ何なんだろう、型のキャストは明示的に行えってことかなぁ
<> Name_Not_Found<>sage<>2011/03/20(日) 15:28:08.18 ID:???<> >>642
やってるよ。というかそこにこだわった人が作ってるlintだから
オプション次第だと思うけど <> Name_Not_Found<>sage<>2011/03/20(日) 15:38:39.60 ID:???<> >>644
ああ、意図的にオプション設定すれば警告するようになるのか。

==や!=演算子を使うなとか、parseIntの第2引数を省略するなとかの警告メッセージも
オブション設定で外せるようにしてくれたらいいのに。 <> Name_Not_Found<>sage<>2011/03/20(日) 16:10:08.12 ID:???<> >>645
逆逆
標準はほとんど警告出る
> ==や!=演算子を使うなとか、parseIntの第2引数を省略するなとかの警告メッセージも
> オブション設定で外せるようにしてくれたらいいのに。
まさにそういうとこにこだわりまくった人が作ってるわけで

javascript the good partsとか読んで共感した人だけが使うためのツールと思った方がいい。
そうじゃなきゃ重箱の隅つつくような指摘されてかなりストレスたまると思う <> Name_Not_Found<>sage<>2011/03/20(日) 16:20:38.30 ID:???<> >>646
>標準はほとんど警告出る
いや、標準で >>642で言ってるような警告は出ませんよ。

>> ==や!=演算子を使うなとか、parseIntの第2引数を省略するなとかの警告メッセージも
>> オブション設定で外せるようにしてくれたらいいのに。
>まさにそういうとこにこだわりまくった人が作ってるわけで
そういう柔軟性が無いから、そのこだわりに賛同できない人にとっては
使えないツールになってしまうんですよね。 <> Name_Not_Found<>sage<>2011/03/20(日) 16:55:59.09 ID:???<> lintの目的わかってないんじゃねーの
堅牢なソースコードを作るためのこだわりを無駄というなら最初から使うなよ <> Name_Not_Found<>sage<>2011/03/20(日) 17:00:46.51 ID:???<> 堅牢なソースコードを作るためには、++ も -- も continue も使ったらいかんのですかいな <> Name_Not_Found<>sage<>2011/03/20(日) 17:16:44.57 ID:???<> ++, --は他の要素と組み合わさったとき副作用が生じる可能性がある
continueは意図しない制御の流れを作る
return文だって関数の末尾以外で呼び出すことはよくないとされている

堅牢なソースコードの意味わかってないんじゃないか
生産性よりも保守性を重視するってことだぞ <> Name_Not_Found<>sage<>2011/03/20(日) 17:19:48.02 ID:???<> lintはメッセージをうまく選別してバグ探しできる人向け <> Name_Not_Found<>sage<>2011/03/20(日) 17:20:29.34 ID:???<> ++や--を使う人=堅牢なソースコードを作るこだわりを持って無い人=jslintを使うべきでない人
ってことですか。

そこまで言うんだから、もちろん>>650は++や--は使わない人なんですよね。 <> Name_Not_Found<>sage<>2011/03/20(日) 17:25:17.94 ID:???<> 半分Yes
長期的にお世話になりそうなコードではそうする

規模の小さい、短期間しか使わない、二度と弄らないようなコードではlint自体使わない <> Name_Not_Found<>sage<>2011/03/20(日) 18:16:18.39 ID:???<> 「オブション」ってなんでやねん。
カナタイパー? <> Name_Not_Found<>sage<>2011/03/20(日) 18:46:04.42 ID:???<> ケータイとかiPhoneとかなんじゃね
いや知らんけど <> Name_Not_Found<>sage<>2011/03/20(日) 18:48:05.35 ID:???<> >>654
チャイナタイパー <> Name_Not_Found<><>2011/03/20(日) 19:55:33.06 ID:7gvvnl5n<> StringをArrayみたいにpush・popできるように拡張したいんですが

var a = "abcdefg";
a.push("h");
alert(a); // a,b,c,d,e,f,g,h

↑こんな感じ
とりあーやってみると、

String.prototype.push = function(item){
this = this + item; //エラー
}

thisキーワードは参照は出来るけど、変更できない(?)んですが、
上の例のString.prototype.push内で変数aそのものの値を操作する時はどの様にしたらいいんでしょうか?

<> Name_Not_Found<>sage<>2011/03/20(日) 20:06:35.37 ID:???<> >>657
string.split(/(?=.)/) で配列化するとか。 <> Name_Not_Found<>sage<>2011/03/20(日) 20:16:04.86 ID:???<> Srtingをpush popっておかしくね?
add delとかが妥当 <> Name_Not_Found<>sage<>2011/03/20(日) 20:20:32.62 ID:???<> >>657
できない <> 657<><>2011/03/20(日) 20:22:28.62 ID:7gvvnl5n<> すいません、657の例、間違えました。申し訳ないです。

var a = "abcdefg";
a.push("h");
alert(a);    // abcdefgh

となるようにです。

配列がどうとかではなくて、prototype内でStringオブジェクトの値そのもの(例だと"abcdefg"という値)を変更する方法が知りたいんです。 <> 657<><>2011/03/20(日) 20:48:34.26 ID:7gvvnl5n<> >>659
Array.shift()、Array.push()、Array.pop()

みたいに

var a = "abcdefg";
a.push("h")    // a:abcdefgh
a.pop()    // aがabcdefgに 戻り値がh
a.shift()    // aがbcdefgに 戻り値がa

てな風にしたくて、感覚的に付けたんでpush・popと書きましたが、確かにadd・delでもいいですね


>>660
無理ですか。。。


続けて申し訳ないんですが、
Arrayがpush・popが出来るのはjavascriptエンジン側が対応しているからなんでしょうか?
Chromeの開発者ツールに出てくる「ネイティブコード」ってそのエンジンの事を指してるんですかね?

javascriptの形で記述されてる何らかのコードなら覗いてみたいんですが、どうなんでせう?
<> Name_Not_Found<>sage<>2011/03/20(日) 20:51:10.28 ID:???<> チクショー リロードする前に作って損した。

var a = "abcdefg";

String.prototype.push = function(pushStr){
var strArray = [];
for(var i=0,tl=this.length; i<tl; i++){
strArray.push(this.charAt(i));
}
strArray.push(pushStr);
return strArray;
}

var b = a.push('h');
for(var i=0,bl=b.length; i<bl; i++){
document.write(b[i]+'<br>');
}
<> 657<><>2011/03/20(日) 20:57:52.27 ID:7gvvnl5n<> >>663
あ・・・なんかすいません。。。 <> Name_Not_Found<>sage<>2011/03/20(日) 21:13:01.21 ID:???<> >>662

https://developer.mozilla.org/ja/JavaScript/Reference/Global_Objects/Array#section_16

この辺のメソッドはJavaScriptでアルゴリズムが書いてあるよ。 <> Name_Not_Found<>sage<>2011/03/20(日) 21:16:13.43 ID:???<> >>658
この正規表現なに? <> Name_Not_Found<>sage<>2011/03/20(日) 21:30:36.04 ID:???<> >>662
String には自身を書き換える手段がないし、Stringオブジェクトにしてもプロパティとプリミティブ値が連動していないから無理。

var str = new String('abcdefg');
str[7] = 'h';
str.valueOf(); // "abcdefg"
str[7]; // "h"

どうしてもやりたいなら StringMod など独自のコンストラクタを作るしかない。

> Arrayがpush・popが出来るのはjavascriptエンジン側が対応しているからなんでしょうか?
そうだけど、ECMAScriptの範囲で出来ないこともない。

Array.prototype.push = function (item) {
 this[this.length] = item;
 return this.length;
};
var a = ['a', 'b'];
a.push('c'); // 3
a; // ["a", "b", "c"] <> 657<><>2011/03/20(日) 22:34:45.51 ID:7gvvnl5n<> >>662
ArrayやらStringやらごちゃごちゃいじってみましたが
Stringには自分自身を書き換える手段がないというのがしっくりきました

皆さん返答ありがとうござんした。

<> Name_Not_Found<>sage<>2011/03/21(月) 02:08:47.84 ID:???<> >>666
そんなの記憶にねーよ
<> Name_Not_Found<>sage<>2011/03/21(月) 02:52:04.72 ID:???<> >>666
見ての通りだよ <> Name_Not_Found<>sage<>2011/03/21(月) 11:56:11.69 ID:???<> >>588 >>589
遅くなりましたがありがとうございます、その線で調べてみます。 <> Name_Not_Found<><>2011/03/21(月) 15:17:55.89 ID:ye0va7fy<> 通常、<body onload = "..."> で指定したスクリプトは、
画像などの画面の要素を全部読み込み終わったあとに発生します。
そうではなく、そのページの画像読み込み開始『前』に実行する処理をする方法を探していて、
jqueryで実現する方法を見つけました。
jqueryのjsを宣言し、以下の文を書きこむだけです。

// HTML読み込み完了直後、画像などの読み込み開始前に実行する処理
$(document).ready(function(){
//処理
});

しかしこの方法だと、IEでフレーム内ページの処理で正しい処理順序が実現できません。

Firefoxの場合、およびIEでフレームを使わない単独ページとして読み込んだ場合の処理順序
【1】HTML読み込み完了
【2】$(document).ready(...)実行
【3】画像読み込み開始
【4】画像読み込み完了
【5】body onload のJavascript実行

IEで、フレーム内ページとして読み込んだ場合の処理順序
【1】HTML読み込み完了
【2】画像読み込み開始
【3】画像読み込み完了
【4】$(document).ready(...)実行
【5】body onload のJavascript実行

前者のようになることが期待動作なのですが、何か解決方法は無いですか? <> Name_Not_Found<>sage<>2011/03/21(月) 15:20:24.79 ID:???<> jqueryでなければいくらでもやりようがあるが、jqueryは普段使ってないから知らん。 <> Name_Not_Found<>sage<>2011/03/21(月) 15:28:32.29 ID:???<> 画像をLazyImageにすれば?
根本的に解決したいならready部分のソースにIE&フレームでの条件分岐いれてどうにかする。 <> Name_Not_Found<>sage<>2011/03/21(月) 15:32:39.23 ID:???<> >>672
無いです <> Name_Not_Found<>sage<>2011/03/21(月) 15:41:22.25 ID:???<> IEをハブる <> Name_Not_Found<><>2011/03/21(月) 16:05:29.78 ID:ye0va7fy<> >>673
jquery以外の方法あったら教えてください <> Name_Not_Found<>sage<>2011/03/21(月) 16:10:08.16 ID:???<> onload以外でやれ <> Name_Not_Found<>sage<>2011/03/21(月) 16:19:44.95 ID:???<> >そのページの画像読み込み開始『前』に実行する処理

これがなんでbody onloadだの$(document).readyつー話になるんだ?

<script>処理</script>
<img src="...">

で済む話しじゃないのか。 <> Name_Not_Found<>sage<>2011/03/21(月) 17:28:53.27 ID:???<> <script type="text/javascript">
<!--
function test(btn){
  alert(document.getElementsByName("button")[1] == btn);
}
-->
</script>
</head>
<body>
<form action="post">
<input type="button" name="button" value="button1" onclick="test(this);">
<input type="button" name="button" value="button2" onclick="test(this);">
</form>


同名のボタン(btn)のインデックスの取り方教えてください。
button1を押したら1、button2を押したら2を返したいです。 <> Name_Not_Found<>sage<>2011/03/21(月) 17:59:48.52 ID:???<> >alert(document.getElementsByName("button")[1] == btn);



>alert(btn.value);

にしてみると何か分かるかもしれない。
あとscriptタグの中をコメントアウトするのは今どき完全に無駄なんで要らないと思うよ。 <> Name_Not_Found<>sage<>2011/03/21(月) 18:05:24.80 ID:???<> >>681
俺なんかスクリプト処理禁止で使うことがよくあるから、
コメントアウトは有ったほうがいいよ。 <> Name_Not_Found<>sage<>2011/03/21(月) 18:08:32.18 ID:???<> >>680
これならbuttonのnameとかvalueがそれぞれ同じでもいける

function test(btn){
 var a = btn.parentElement.tags("input");
 alert(function(){for(i=0; i<a.length; i++)if(a[i]==btn)return i+1;}());
} <> Name_Not_Found<>sage<>2011/03/21(月) 18:21:34.99 ID:???<> >>681>>683
dクス!!
test(btn)はちょっと適当にテストしてた残りだったんだけど、
やっぱり回さないと、同名のインデックスって取れないのかな・・・
本当にやりたいのは10個の同名のオブジェクトなんだけど、
例えば、これが100個、1000個になった場合は回さないで取れれば良いんだけど。。
<> Name_Not_Found<>sage<>2011/03/21(月) 18:24:31.26 ID:???<> 何を作りたいのかは知らないが配列の順番に依存してる点で設計が悪い <> Name_Not_Found<>sage<>2011/03/21(月) 18:53:34.86 ID:???<> <script type="text/javascript">
<!--
function test(btn){
var index;
index = ここでボタンのインデックスを取得
document.getElementsByName("text")[index].value = "hoge";
}
-->
</script>
</head>
<body>
<form action="post">

<% for(int i = 0; i < 100; i++){%>
<input type="button" name="button" value="button" onclick="test(this);">
<input type="text" name="text" value="">
<% } %>

</form>
</body>

やっぱり分かりづらかったので、書き直します…
よろしくお願いします。 <> Name_Not_Found<>sage<>2011/03/21(月) 19:51:20.72 ID:???<> >>686
form.elements.button で多少効率がよくなると思うけど、name も value もユニークじゃない設計にする必要あるの?
<> Name_Not_Found<>sage<>2011/03/21(月) 20:33:13.56 ID:???<> btn.nextSibling.value = "ほげ";とかは?
htmlに依存するけど。 <> Name_Not_Found<>sage<>2011/03/21(月) 21:11:22.87 ID:???<> html側にname以外で識別子の代わりになるものを仕込んだりすれば楽にできる
汎用性のあるスクリプトにしたいなら無理だけど
結局は設計次第だな <> Name_Not_Found<>sage<>2011/03/21(月) 21:15:50.96 ID:???<> <!--//-->がいらないとかフィーチャーフォン無視するの? <> Name_Not_Found<>sage<>2011/03/21(月) 21:18:35.50 ID:???<> <!--//-->入れて問題が出るケースってあるんですか? <> Name_Not_Found<>sage<>2011/03/21(月) 21:24:05.61 ID:???<> <script type="text/javascript"><!--
 // HTML4
 var i = 0;
 i--;  // コメント内に "--" は書けない!
 i -= 1; // "-=" は書ける
//--></script>

<script type="text/javascript"><!--
 // HTML5
 // HTML5 では "-->" でコメントを閉じても良い
--></script> <> Name_Not_Found<>sage<>2011/03/21(月) 23:36:43.66 ID:???<> 結局for文で回すのがよさそうです。。
ご教授ありがとうです。 <> Name_Not_Found<>sage<>2011/03/21(月) 23:40:59.17 ID:???<> 同階層のindexを直接返すプロパティがないからなー <> Name_Not_Found<>sage<>2011/03/22(火) 06:35:26.85 ID:???<> >692
コメント中に--が禁止されてるのは実装がより複雑になって不具合を起きることがないようにするための配慮であるが
既にどのブラウザも複雑な実装によって使っても問題なくなってる
そういう中でHTML4では使えないと言って何になるんだい?
もっと本質的な意味を考えた方がいいよ <> Name_Not_Found<>sage<>2011/03/22(火) 07:57:27.89 ID:???<> >>695
本質的な意味ってんなら、SGML、XMLともに構文違反だ
XHTML 1.0で--なんか書いたらXMLパーサが受け付けない
HTML 4.0をSGMLパーサ処理することはないだろうから
こっちははなから眼中にないがな

データの保存性、相互運用性ではなく
今あるブラウザで動けばいいなら素直にHTML5に移行しろ
そんな奴がJavascriptについては堅牢性だの保守性だの語るわけだから
ちゃんちゃらおかしいわな <> Name_Not_Found<>sage<>2011/03/22(火) 11:31:35.01 ID:???<> 配慮であるが(笑) <> Name_Not_Found<>sage<>2011/03/22(火) 12:24:16.67 ID:???<> >>695
仕様と実装は本質的に意味が違う。
自分の観測範囲のブラウザでだけ動作保証できればよく、相互運用性を度外視していいのなら仕様を無視すればいいと思うよ。
しかし、script要素に対応せずコメントに対応する全ての実装を知っているとは凄い自信だな。 <> Name_Not_Found<><>2011/03/22(火) 13:11:50.51 ID:pvys0qeG<> Google Chrome 10.0.648.151 で XMLHttpRequest を使うと
読み込みが完了するまでタブのローディングアイコンが回り続けます
IE、Firefox、Opera では問題ありません
ロングポーリングをしたいのですが、Chrome においてこの問題を解決するにはどうすれば良いでしょうか

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja">
<head>
<title>foobar</title>
</head>
<body>
<script type="application/ecmascript">
var req = new XMLHttpRequest();
req.open('GET', './example.txt', true);
req.send();
</script>
</body>
</html> <> Name_Not_Found<>sage<>2011/03/22(火) 16:58:17.76 ID:???<> JavaScriptの例外処理について教えてください。

try {
} catch (e) {
alert(e.description);
}

でエラーの詳細が取得できますが、エラーの発生行数を
取得することはできないでしょうか?
ご存知のかたがおられましたらお願いいたします。 <> Name_Not_Found<>sage<>2011/03/22(火) 17:03:28.51 ID:???<> JavaScriptには行という概念はない
デバッガ使えばわかるけど <> Name_Not_Found<>sage<>2011/03/22(火) 17:15:17.83 ID:???<> window.onerrorでできました。
失礼しました。 <> Name_Not_Found<>sage<>2011/03/22(火) 23:52:13.99 ID:???<> >>695
お前innerHTMLしか使ったことないんじゃね
XHTMLソースをとってきてHTMLDocumentを作るとか、サーバのXMLパーザーに渡すとか
ちょっとでもそういう経験があれば、整形式違反なんか絶対にできない
自分に経験がないからと言って、仕様を全否定する奴がHTML界隈に多すぎだろ <> Name_Not_Found<>sage<>2011/03/23(水) 00:20:29.48 ID:???<> みんながみんな仕事でやってるわけじゃないんだよ
HTMLやJavaScriptなんて趣味でやってる奴のほうが圧倒的に多いでしょ
自分のおかれた環境=常識としてしか捉えられない人には辛いかもね <> Name_Not_Found<>sage<>2011/03/23(水) 00:45:39.74 ID:???<> 趣味でやってんならなおのこと本質なんて言葉使うなって話じゃね
話について行けてないけど、俺 <> Name_Not_Found<>sage<>2011/03/23(水) 01:10:35.50 ID:???<> 原理主義を気取るなら徹底せよ、と。 <> Name_Not_Found<>sage<>2011/03/23(水) 01:21:28.44 ID:???<> HTMLの文法を知らずに今までやってこれたから
ちょっと指摘されると必要ないと開き直る人は多い
スレ違いか <> Name_Not_Found<>sage<>2011/03/23(水) 03:59:05.40 ID:???<> textareaタグで、
内容の末尾にフォーカスを設定する方法あります?
ちゃんとまとまったのが見つからない…。 <> Name_Not_Found<>sage<>2011/03/23(水) 07:37:18.98 ID:???<> >696
言ってることはわかるが
構文違反だからってのは別に本質的ではない
本当は構文違反だから実装によっては使えない問題があるからってのならより本質的
しかしその本質的な問題は現状では皆無ではないのか?

>697
言ってることが良くわからないが
例えばフィーチャーフォンだとコメント中に--を使用しても
スクリプト対応の機種も非対応の機種も問題なく表示される

>703
いやいや
自分が言いたかったのはたんに
まるでコメント中に--があったら構文違反でスクリプトが全く動かなかったり、
スクリプト非対応のブラウザでコメントが効かないような言い方をされてるように感じたから
それに反発しただけだ
特にHTMLでね
DOMを操作したりするとこまでは話してない

とりあえず自分が言いたかっのはコメントは旧フィーチャーフォンのためにつけとけ

そのときにスクリプトで--が使われてても基本的に問題ない
ってことだ
<> Name_Not_Found<>sage<>2011/03/23(水) 08:04:35.00 ID:???<> >>697→>698の間違い

ちょっと自分の立場をまとめる

フィーチャーフォン向けにコメントを入れろと主張する

その場合--を使用すると構文違反だと言われる

それなら旧フィーチャーフォン等の配慮をした場合は--が使えないなんて不便なことが起こるのか?と考え
実際どの実装でもちゃんと動くんだから本質的にはいいじゃないかと主張

ってことだ
確かに自分が言ったのはお遊びレベルのスクリプトだけで
もちろん、よくわからないがDOMを操作したりXHTMLがどうのこうになるとマズイのはわかってるつもりだ
まあそれ以外のスクリプトを特にモバイル環境向けで使う場合はできるだけコメントしてくれ <> Name_Not_Found<>sage<>2011/03/23(水) 09:48:28.94 ID:???<> >>709
問題を分散させんな、面倒くさい

まずお前の言う『より本質的』の意味が全く分からん
例えば、これをJSONに置き換えてみよう
文字列リテラルには二重引用符しか使えないが、単引用符も使える寛容なパーサがあったとする
お前はJSON仕様を知らず、単引用が使えるものだと思い込んでいる
そして普通のJSONパーサでは使えないデータをまき散らした挙げ句
『実装によっては使えない問題がある』と主張する
滑稽だろ?

SGML/XMLの『本質』は長期保存性と相互運用性にある
>>703も言ってるが、その土台になる構文部分の違反を
お前の狭い経験だけで『本質的な問題は現状では皆無』などと軽々しく言うな
と言うのは、はお前も受け入れるんだな?

なおHTML5は、今後はブラウザ専用のデータ形式となり
ブラウザのバージョンアップと連動してバージョンアップすることで保存性と運用性を担保する
したがってバージョン番号もなくなり、ただ「HTML」と呼ばれることになる
お前が望む世界はこちらだろう?

HTML 4.0は、仮にもSGML適合を目指した最後のバージョンなんだ
HTML5ブラウザの常識を当てはめて、HTML 4.0データ自体を壊すような真似は止めてくれないか
ゆっくり死なせてやれ
今後はXMLとWebが乖離していくことになる <> Name_Not_Found<>sage<>2011/03/23(水) 09:50:04.15 ID:???<> >>710
次に、コメントアウトは『旧フィーチャーフォン』のためというもの
つまりXHTML Basicですらない独自形式の俗称HTML向け、というわけだな
そんなもん、好きにしろ
アレに相互運用性も何もあったもんじゃない、特殊なノウハウの要る世界だ

だが、--を避けること自体は、別に面倒でもなんでもない
要は、知っているか知らないかの知識の問題
あるいは知らなくても逆ギレしないかの人間性の問題だ <> Name_Not_Found<>sage<>2011/03/23(水) 09:56:38.39 ID:???<> 仕様によって保証されてなくて、
マイナーな実装や将来の実装でどうなるか知らんけど、
たぶんおそらくだいたい今のところ実用上問題ない事こそ本質なのです! <> Name_Not_Found<>sage<>2011/03/23(水) 10:10:35.85 ID:???<> とりあえず、XHTMLを書いているつもりの奴は全員、拡張子を.xhtmlまたは.xmlにしてチェックしろ
DOMParser、createDocument()に渡せるかどうかの根本的な問題なんだから
Ajaxマンセーな奴ほど『本質的な問題は現状では皆無』なんて言えないはずだ

エラーが出て、エラーの直し方も分からない奴は、そのままHTML5に移行しろ
そうすりゃ『旧フィーチャーフォン』でもまず問題ない

実装にあった形式、形式にあった実装を選ぶのも実力のうちだろ <> Name_Not_Found<>sage<>2011/03/23(水) 12:47:55.04 ID:???<> >>709-710
あなたの主張する「本質」が見えてこない。
「仕様を守る」のが本質ではなくて「例え仕様に違反しようともデファクトスタンダード(既存の実装)に合わせるのが本質」といいたいのか?
実装が仕様を守っていないことは多々あるが、>>692は仕様を守ることが困難な状況とも思えないのだが。 <> Name_Not_Found<>sage<>2011/03/23(水) 12:50:05.06 ID:???<> >>708
末尾にフォーカス、って意味が分からない。カーソルが末尾にあるってこと?
<> Name_Not_Found<>sage<>2011/03/23(水) 12:53:55.36 ID:???<> >>708
こういうことですかね?
http://vird2002.s8.xrea.com/test/textareaSelectEndPoint.html <> Name_Not_Found<><>2011/03/23(水) 20:12:35.10 ID:KSrmDKTC<> 微妙にJS関係ないかもなんですが

テキストフィールド(input type="text"とかtype="number"とか)に
カーソルがある状態で、エンターキーを押すと、
一番最初に登場するボタン(input type="submit"とかbutton要素)の

クリックイベントが発生するのは、仕様なんですかね?
FirefoxとSafari(ipadも)は試しましたが、そうでした。 <> Name_Not_Found<>sage<>2011/03/23(水) 20:21:14.02 ID:???<> ttp://www.yoikodou.sakura.ne.jp/StylishPOP/
こちらで作ったポップアップをセンター寄せで表示するにはどうすればいいでしょうか。 <> Name_Not_Found<>sage<>2011/03/23(水) 20:48:39.35 ID:???<> >>718
onclickとかでやってないか、addEventListenerなら発生しなかったぞ <> Name_Not_Found<><>2011/03/23(水) 21:11:40.85 ID:KSrmDKTC<> >>720
こんなかんじで
http://jsbin.com/oyiru3/2/

formとinput type="submit"とbuttonにIDつけてあって、
formはsubmitされたら、input type="submit"とbuttonはclickされたら
自分のIDとevent.typeをコンソールに出すようにしてます
<> 708<>sage<>2011/03/23(水) 22:14:55.34 ID:???<> >>716
そうそう、focusした時にカーソルが末尾にあるようにしたい。

>>717
ああ、こういうのです。
focusみたいに関数1個でスマートにできるのは、
デフォルトで無かったのか…。
地味だけど無いのが不思議だ。 <> Name_Not_Found<>sage<>2011/03/23(水) 22:59:15.31 ID:???<> 719で作ったコードですが、以下を書き換えてセンタリングできるでしょうか。
<script type="text/javascript">
var win = new Window({className: "alphacube", width:750, height:650, top:290, left:0, zIndex: 0, resizable: true,
title: "ああああ", url: "http://www.hogehoge", showEffect:Effect.BlindDown, hideEffect: Effect.SwitchOff,
draggable:true, wiredDrag: true})
win.show();
</script> <> Name_Not_Found<>sage<>2011/03/23(水) 23:32:50.55 ID:???<> >>717
Firefoxで見たけど、カーソル末尾にスクロール表示されない <> Name_Not_Found<>sage<>2011/03/23(水) 23:33:28.88 ID:???<> できます。 <> Name_Not_Found<>sage<>2011/03/23(水) 23:38:21.09 ID:???<> うちはFFはOKだけど、Chromeで動いてくれないな。
FF3.6.13
CR10.0.648.151 beta <> Name_Not_Found<>sage<>2011/03/23(水) 23:44:54.72 ID:???<> >>725
有り難うございます!
やり方を教えて頂けないでしょうか。
よろしくお願いします。 <> Name_Not_Found<>sage<>2011/03/24(木) 00:37:40.88 ID:???<> var iroha = parent.document || document;
if (iroha !== document && !pd.getElementById('hoheto'))

この部分がサッパリなんですが、これどういう意味なんでしょうか?
具体的には変数なのに  ||  が使われたり、その後の!==と!の違いが解らないのですが <> Name_Not_Found<>sage<>2011/03/24(木) 00:54:33.64 ID:???<> alert( "hello" || "world" ); // "hello"
・・ Boolean("hello")がtrueなので短絡演算で"world"は評価せず"hello"を返す
alert( 0 || "world" ); // "world"
・・ Boolean(0)がfalseでBoolean("world")がtrueなので"world"を返す
alert( "hello" && "world" ); // "world"
・・ 両方trueなので最後に比較した"world"を返す
alert( 0 && "world" ); // 0
・・ Boolean(0)がfalseなので"world"は評価せず最後に評価した0を返す <> Name_Not_Found<>sage<>2011/03/24(木) 00:59:12.36 ID:???<> >>728
x !== y は !(x === y) と同じ、===は型も等しいかチェックする厳密な比較 <> Name_Not_Found<>sage<>2011/03/24(木) 00:59:57.59 ID:???<> なるほど!短絡演算というものなんですか!
 || は最初にtrueになったものを返して
&&はよくわからないので勉強してきます! <> Name_Not_Found<>sage<>2011/03/24(木) 01:03:24.29 ID:???<> 間違えた、短絡評価だ。 <> Name_Not_Found<>sage<>2011/03/24(木) 01:13:57.19 ID:???<> 良くわかる短絡評価
短絡評価ってのは最後に評価した値を返すモノなんだ

orの場合、最初のがtrueだったらもう一つの条件がtrueだろうがfalseだろうがtrueになっちゃうよね?どっちか一つがtrueならtrueなんだから
だから>>729の最初はworldを評価しないんだ。

だけど2個目は最初がfalseだね?するともう一つの条件がtrueだったらtrueになるし、falseだったらfaleseになっちゃうよね?
だからもう一つのworldのほうも評価するんだ

そして次はand
これは両方trueだったらtrue、どちらかにfalseがあったらfalseになるのは皆やったね?
だから3個目は最初がtrue、次の条件がtrueだったらtrueになるけどfaleseだったらfalseになっちゃうよね?
だから次のworldを評価するんだ

で4個目は最初がfalseだから次の値がfalseだろうがtrueだろうがfalseになっちゃうから評価しなくてもわかるよね?
だから0を評価して終わりなんだ <> Name_Not_Found<>sage<>2011/03/24(木) 01:17:40.88 ID:???<> >>733
超良くわかりました!!
ANDとORが結果じゃなくてそれらを前座のように使って判断するんですね! <> Name_Not_Found<>sage<>2011/03/24(木) 01:25:46.00 ID:???<> 短絡評価の質問多いなー <> Name_Not_Found<>sage<>2011/03/24(木) 01:29:53.99 ID:???<> 三項演算子と短絡評価はググりにくいからなー
テンプレにググりにくい関数や演算子みたいなの追加するとか? <> Name_Not_Found<>sage<>2011/03/24(木) 01:37:18.53 ID:???<> >>709-710
いい加減スレ違いでうんざりだろうが、整理しておく

Webには大雑把に二つの派閥がある
「HTMLのためにブラウザがある」と考える派と、「ブラウザのためにHTMLがある」と考える派だ

XHTMLは前者に属する
今後Webには数十年単位でデータが蓄積され、新しいブラウザが生まれるはず
そこで、データ自体を自己完結しているものとしてブラウザから独立させれば
どんなに古くなったデータでも、新しいブラウザで読み込む方法があるだろう

しかし、この方向性は頓挫し、代わりに出てきたのが後者のHTML5だ
HTMLはブラウザが解釈するものであり、ブラウザと切り離しては考えられない
「ブラウザがコメント内の"--"を許容する以上、何の問題がある?」というお前の主張は、まさにこれだ

だが、前者にしてみれば、それは「データの自己完結性」を崩すものであり
「本質的に」受け入れられるものではない
ここに、両派のどうしようもない断絶がある

後者はこれまでずっと、テーブルレイアウトのように仕様の裏をかく「ハック」を駆使してきた
だが、そんな必要はもうない。お前には、全てのエラーを吸収してくれるHTML5およびHTML5ブラウザがある
HTML 4.0、XHTML 1.0を、その整合性を崩してまで使う必要はない

前者にしてみても、腐ったタグスープを気にすることなく、XML仕様を簡素化していける点でありがたい話だ
XML派にしてみれば、どうしても名前空間を捨てるわけにいかない
一方、HTML5にとって名前空間は不要の極みだ
最初から歩調を合わせる必要なんてなかったんだ

「HTML5の常識で、HTML 4.0を壊すな」と俺が言ったのは、こういう意味だ
>>692がわざわざ「HTML4」と書いているのだから、その前提の中で語れ
俺もHTML5について語るときは、HTML5の常識で語る <> Name_Not_Found<>sage<>2011/03/24(木) 02:06:32.91 ID:???<> スレチだから消えろよ
長文うざいし <> Name_Not_Found<>sage<>2011/03/24(木) 04:17:14.44 ID:???<> return 0とreturn nullの違いって何ですか? <> Name_Not_Found<>sage<>2011/03/24(木) 06:05:36.66 ID:???<> そのまんまでしょ
0を返すかnullを返すか
0とnullの違いは自分で調べてね <> Name_Not_Found<>sage<>2011/03/24(木) 07:00:24.97 ID:???<> >715,737
正直スマンかった
自分は別にそんな技術的な話はしていなかった
自分はJavaScriptが中心(HTMLの補佐としてJavaScriptがあるのではなくその逆)だと考えてるから
ただただそういうHTMLの制約にJavaScriptが変に縛られるのを認めたくないっていう我が儘だった
--を使うことなんて滅多にないし避けることは容易だけど
それを避けなきゃならないっていうのには自分は堪えられないしおかしいと感じた
が、プロが多いこのスレで異色な自分がいろいろ大口叩いたのは謝る <> Name_Not_Found<>sage<>2011/03/24(木) 08:46:47.65 ID:???<> テンプレの話題でたところで。今740なので早めにテンプレ論議
どうかな。次テンプレの最新案はこれだよね?
ttp://codepad.org/PW2FFBIs
短絡評価や3項の他によく質問あるのは数値変換(parseInt、
Number()、x-0)があるんだけど、こういうの説明しだすと
またどんどん長くなるんで、個人的にはやめといたらと思ってる。
どうかな。 <> Name_Not_Found<>sage<>2011/03/24(木) 09:46:35.21 ID:???<> ttp://fiddle.jshell.net/vSqKr/
これはとりあえず21が最新という扱いか
22もあるけど退化してるし <> Name_Not_Found<><>2011/03/24(木) 11:31:32.23 ID:SKlBdocW<> 知り合いから JavaScript を頼まれたんだけど、そのサイトが既に jquery とか使ってて、
Firefox とかのエラーコンソールへの出力がハンパじゃく、頼まれた開発がめちゃくちゃやりにくい・・。 <> Name_Not_Found<>sage<>2011/03/24(木) 11:35:16.78 ID:???<> それで質問は? <> Name_Not_Found<>sage<>2011/03/24(木) 11:58:42.65 ID:???<> (function(){ }) ();

↑これ以外に名前空間を汚さない書き方ってありますか?
どこかのページで見た覚えがあるんですが、メモを取り忘れてしまいました。
どなたかご存知でしたら教えてください。 <> Name_Not_Found<>sage<>2011/03/24(木) 13:05:38.98 ID:???<> >>746
({
prop: 'foo',
init: function() {
// 初期化処理
}
}).init();

こんな感じで、オブジェクトリテラルを使って
即時関数と同じようなことができる <> Name_Not_Found<><>2011/03/24(木) 13:26:00.96 ID:SKlBdocW<> >>745
エラーや警告のない jquery はないですか?

>>746
new function(){
 return {};
}; <> Name_Not_Found<>sage<>2011/03/24(木) 13:39:48.96 ID:???<> jqueryバリバリに使ってるけど警告とか出ないぜ。どんな使い方してるんだ <> Name_Not_Found<>sage<>2011/03/24(木) 14:22:58.70 ID:???<> jqueryそのものがエラー出してるの?jqueryを利用したスクリプトがエラーを出しているの?
それからFirefoxだとjavascript.options.strictがtrueかfalseかでも話が食い違ってくるから
そのへん言っておいたほうが話がスムーズに進むと思う <> Name_Not_Found<>sage<>2011/03/24(木) 14:52:23.86 ID:???<> 以下みたいのが沢山。その strict って「厳密な・・」ってのと一緒かと思いますがチェック付けてます。
jquery利用した部分は他人が書いたとこなので見てないです。


警告: reference to undefined property a[b]
ソースファイル: http://a/b/js/jquery.js
行: 43
----------
警告: reference to undefined property params[el.id].pause
ソースファイル: http://a/b/js/coin-slider.js
行: 177
----------
警告: reference to undefined property e.queue
ソースファイル: http://a/b/js/jquery.js
行: 151
----------
警告: reference to undefined property j[++H]
ソースファイル: http://a/b/js/jquery.js
行: 33
<> Name_Not_Found<>sage<>2011/03/24(木) 15:01:58.52 ID:???<> warningはとりあえず無視する俺 <> 746<>sage<>2011/03/24(木) 15:02:16.46 ID:???<> >>747-748
ありがとうございます!
>>747の無名オブジェクトからメンバ関数呼び出す方法は分かったんですが、
>>748のnew演算子の戻り値使う方法がちょっとよく分かんなかったのでいろいろためしてみますね
dd <> 746<>sage<>2011/03/24(木) 15:08:02.54 ID:???<> >>747-748
>>748でコードが1度だけ実行されることを確認しました。
改めておふたりともありがとうございました。ようやく次に進めそうだ…… <> Name_Not_Found<>sage<>2011/03/24(木) 19:12:38.43 ID:???<> <html><head><meta http-equiv="Content-Type" content="text/html;charset=utf-8" /><title>014javascript</title>
<script type="text/javascript">
function calc()
{var t1=document.getElementById("t1");
var t2=document.getElementById("t2");
var t3=document.getElementById("t3");
t3.value=eval(t1.value)+eval(t2.value);}
</script></head><body><form>
<input id="t1" type="text" size="8">+
<input id="t2" type="text" size="8">
<input type="button" value="=" onClick="calc()">
<input id="t3" type="text" size="8">
</form></body></html>
javascript The GoodPartsに載っていましたがeval()は使うべきでないならこのソースの場合どのように書きなおすのですか?


<> Name_Not_Found<>sage<>2011/03/24(木) 19:19:38.17 ID:???<> そのくらいならparseInt(t1.value, 10)とかNumberとか-0使って数値と判断させるとか <> Name_Not_Found<>sage<>2011/03/24(木) 19:23:54.01 ID:???<> t3.value=Number(t1.value)+Number(t2.value) <> Name_Not_Found<>sage<>2011/03/24(木) 19:23:54.90 ID:???<> date型の値をnull値にしたいんだけど方法ある? <> Name_Not_Found<>sage<>2011/03/24(木) 19:32:38.65 ID:???<> サンプルコードか何か載せてくれないとnull代入するくらいしか思いつかん <> 758<>sage<>2011/03/24(木) 22:19:31.42 ID:???<> >>759
null代入か
やっぱそれしかないですよね
new Date('');ってのも考えたけど
わざわざerror出すよりnull安定っぽいね

コードは晒すまでもなく、ホント単にDate型の値にnull的なことをしたかっただけなんです
ググっても見つからなかったので
サンクスです <> Name_Not_Found<>sage<>2011/03/24(木) 22:51:56.86 ID:???<> 758じゃないですが、Date型の宣言ついての質問です。

日時を表す引数hogeが定義されている場合と いない場合双方で
日付オブジェクトを取得するため、現在以下のような記述をしています。

var d=(hoge) ? new Date(hoge) : new Date();

これをもう少しスマートな形にすることはできないでしょうか?

例えば、

var d=new Date( <hogeの条件演算式> );

みたいな感じでnew Date()を2回書かないで等価な式を書く
というのは無理ですか? <> Name_Not_Found<>sage<>2011/03/24(木) 23:09:41.86 ID:???<> >>761
hogeが日時パースできるかの確認はまた別問題として考えるなら
var d = new Date(hoge || null);
でいいんじゃない?
hogeの初期値をnullにしておいてhogeに値があれば代入するって方が良いかもしれんけど
<> Name_Not_Found<>sage<>2011/03/24(木) 23:18:24.83 ID:???<> >>762
new Date(null) と new Date() では、返ってくる値が違うんですよ。 <> Name_Not_Found<>sage<>2011/03/24(木) 23:30:19.80 ID:???<> 邪道(eval的)
Function("return new Date(" + (window.hoge || "") + ")")()

最初に思いついたのは
var d=new Date(window.hoge || Date());// Date2回使うけど

Dateオブジェクトにset〜でやれるかなーと思ったけど返り値が数字だったから無理っぽい。 <> Name_Not_Found<><>2011/03/24(木) 23:52:36.07 ID:B01RRMbL<> Opera 以外のブラウザでは HTMLObjectElement.contentWindow がなく
埋め込んだ XHTML に対する window.onunload が機能しません
他のブラウザで unload イベントを使うにはどうすれば良いでしょうか

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja">
<head>
<title>foobar</title>
</head>
<body>
<div>
<object data="./example.html"></object>
</div>
<script type="text/ecmascript">
document.getElementsByTagName('object')[0].contentWindow.onunload = function(){
console.log('foobar');
};
</script>
</body>
</html> <> think49
◆bKk/qcAKuM <>sage<>2011/03/24(木) 23:57:48.93 ID:???<> >>724,726
ご指摘ありがとうございます。
Firefox 4.0, Google Chrome 10.0.648.151 でカーソルが末尾に移動しない場合がある事を確認しました。(IE8, Opera 11.01 は末尾に移動する。)
気になる部分は修正したものの肝心の修正が糸口すら掴めていません。どう対処すればいいのやら…。

>>722
カーソル移動は http://goo.gl/ps1gb の handleFocus の部分だけでそれほど長いコードではないです。
HTML5 の setSelectionRange と IE の TextRange を併用する形になります。
http://www.whatwg.org/specs/web-apps/current-work/multipage/association-of-controls-and-forms.html#textFieldSelection
http://msdn.microsoft.com/ja-jp/library/cc427934.aspx
>>717のリンク先文書も更新しましたので、合わせて参考にどうぞ。 <> Name_Not_Found<>sage<>2011/03/25(金) 00:07:32.29 ID:???<> >>765
objectをiframeにしたらいいと思うよ <> 765<><>2011/03/25(金) 00:16:47.94 ID:MEBA/lVP<> >>767
XHTML1.1 では解決方法がないでしょうか <> Name_Not_Found<>sage<>2011/03/25(金) 00:33:08.82 ID:???<> >>768
http://jsbin.com/ulevu4/
こんな感じでどうです <> Name_Not_Found<>sage<>2011/03/25(金) 00:46:00.29 ID:???<> IEだとうごかないぞ。 <> Name_Not_Found<>sage<>2011/03/25(金) 01:16:41.04 ID:???<> IEとか環境無いんでどうにかしてください <> 765<><>2011/03/25(金) 01:42:15.31 ID:MEBA/lVP<> 有り難う御座います
HTMLObjectElement.contentDocument.defaultView で取得できるんですね
IE は XHTML に対応していないので、コンディショナルコメントで iframe を埋め込みたいと思います <> think49
◆bKk/qcAKuM <>sage<>2011/03/25(金) 01:53:52.65 ID:???<> >>772
IE8 は object.contentDocument.parentWindow で取得できます。 <> 765<><>2011/03/25(金) 02:25:17.34 ID:MEBA/lVP<> >>773
有り難う御座います
iframe 使わずに記述できそうです <> Name_Not_Found<>sage<>2011/03/25(金) 04:04:21.90 ID:???<> javascriptが扱える男になると彼女できますか?? <> Name_Not_Found<><>2011/03/25(金) 05:14:36.27 ID:wjEP+g6S<> むしろキモ夫にラブビームを喰らうね <> Name_Not_Found<>sage<>2011/03/25(金) 09:54:53.00 ID:???<> >>775
結婚しました <> ペガスス
◆OdWdpanPVI <>sage<>2011/03/25(金) 12:42:04.33 ID:???<> >>741の言う通りこのスレの住民は本質が分かって無さ過ぎ
HTMLの為にJSがあるんじゃなくてJSの為にHTMLがあるんだからね
このスレはDHTMLのスレじゃないんだよ?分かってる? <> Name_Not_Found<>sage<>2011/03/25(金) 12:50:35.19 ID:???<> そういう価値観は製作者なり一人一人が決めるのでよいと思うよ。
技術的なfactに絞って議論するのがよいと思う。でないと荒れる
だけで誰も幸せにならない。 <> Name_Not_Found<>sage<>2011/03/25(金) 14:03:28.39 ID:???<> 主張主義が2つ以上あるとそれは対立する <> Name_Not_Found<>sage<>2011/03/25(金) 19:52:10.33 ID:???<> XMLHttpRequestを使ってるページを見ると
応答を待ってます状態が継続してるページとそうでないページがありますが
これは同期と非同期の違いですか? <> Name_Not_Found<><>2011/03/25(金) 20:24:04.97 ID:PBuCv3xN<> 同期/非同期も原因になりうるけど、
コードを見ないと一概には言えんよ <> Name_Not_Found<>sage<>2011/03/25(金) 21:54:14.90 ID:???<> JavaScriptのライブラリをそのうち作って配布してみたいです。
ライブラリを作るときの注意点として、

・クロスブラウザ対応
・他のライブラリに依存しない
・グローバルスコープを汚さない
・メモリリークや無限ループなどおかしな動作を引き起こさない

以外に何かありますか?
また上に挙げたものの中で、これはいいんじゃない?というものがあったらご指摘お願いします。

この前Lightboxに似たライブラリを作ってみましたが、
画像数が多くなると極端に重くなったりと、
DOM操作が下手でまだうまく書けないので、配布できるレベルになるのはまだ先になるでしょうが、
心得だけでも知っておきたいです。 <> Name_Not_Found<>sage<>2011/03/25(金) 21:59:26.51 ID:???<> 類似物は作らない by オライリーのjQueryの本 <> 783<>sage<>2011/03/25(金) 22:02:28.08 ID:???<> なるほどー。
車輪の再発明ですね。
まぁそれは分かってたのですが練習なので。
他のライブラリの動作を見てコードで再現してます。
本番じゃオリジナリティあふれるものを作れたらいいなぁと思います。 <> Name_Not_Found<>sage<>2011/03/25(金) 22:03:43.82 ID:???<> とりあえずDOMをループさせるコードかいてみ <> Name_Not_Found<>sage<>2011/03/25(金) 23:21:35.68 ID:???<> document.imagesって使わないほうがいいんですか?
document.getElementsByTagName('img')でとってるサイトが多い気がするのですが <> Name_Not_Found<>sage<>2011/03/25(金) 23:31:02.05 ID:???<> そりゃおめー、W3C DOMの方がいいに決まってるべ <> 787<>sage<>2011/03/25(金) 23:38:21.64 ID:???<> https://developer.mozilla.org/en/DOM/document.images
DOMじゃないんですか?

自分のイメージだと
getElementsByTagNameのほうが新しそうなのでいいのかな程度の認識です <> Name_Not_Found<>sage<>2011/03/25(金) 23:39:29.30 ID:???<> 最近はquerySelector(All)ばかり使ってるわ <> 787<>sage<>2011/03/26(土) 00:08:34.91 ID:???<> >>790
じゃ僕もそれで行きます
古いIEには
http://ajaxian.com/archives/creating-a-queryselector-for-ie-that-runs-at-native-speed
これでいけそうですね <> Name_Not_Found<>sage<>2011/03/26(土) 00:13:05.19 ID:???<> querySelectorは倍ぐらい処理が遅いってどこかに書いてあったな。 <> Name_Not_Found<>sage<>2011/03/26(土) 00:13:13.34 ID:???<> >>791
getElementsByTagNameで十分な場合はquerySelectorを使うと遅くなるから使いどころに気を付けてね

【レポート】getElementsByTagName()がquerySelectorAll()より高速な理由
ttp://journal.mycom.co.jp/articles/2010/10/01/javascript-nodelist-difference/index.html
<> 787<>sage<>2011/03/26(土) 00:15:59.94 ID:???<> >>793
参考にさせてもらいます
ありがとう <> Name_Not_Found<>sage<>2011/03/26(土) 00:20:09.36 ID:???<> >>789
document.images は Document にはなかったりする。
document instanceof HTMLDocument が保証できるなら使ってもいいけどね。
http://www.w3.org/TR/DOM-Level-3-Core/core.html#i-Document <> Name_Not_Found<>sage<>2011/03/26(土) 06:19:12.09 ID:???<> つ【DOM Level2 HTML】 <> Name_Not_Found<><>2011/03/26(土) 09:00:53.56 ID:bLahi39q<> これから初めてjavaとかjqueryとか勉強したいんですが、これ買っておけって本とかありませんか? <> Name_Not_Found<>sage<>2011/03/26(土) 09:05:17.39 ID:???<> >>793
動的ノードリストって遅い印象があったんだが違うのか… <> Name_Not_Found<>sage<>2011/03/26(土) 09:52:38.10 ID:???<> 簡単なEPUBリーダーを作っていて、ページングで躓きました。
1つのHTMLソースを本のようにページ分けしたいのですが、良い方法が思いつきません。
本の1ページに見立てた600px×800pxのDIV要素にHTMLソースを流しこみ、
そのDIV要素から入りきらなくなったらまた次のDIV要素を作ってHTMLソースを流しこみ…。
この処理をHTMLソースがなくなるまでループさせれば良いと思っていましたが、
DIV要素一杯にHTMLソースを流しこむ方法が思いつきません。

Google BooksとかはHTMLのページングを実現していますが、一体どうやってるんですかね。
http://www.gazo.cc/up/32185.png

HTMLソースを上手いことページ分けする方法はないでしょうか? <> Name_Not_Found<>sage<>2011/03/26(土) 10:12:59.90 ID:???<> >>793のページ自体で"a"タグで試してみたけど、

関数の実行時間は、
getElementsByTagName() << querySelectorAll()

ただ結果をループで回す時間は、
Chromium9: getElementsByTagName() > querySelectorAll()
Firefox4: getElementsByTagName() < querySelectorAll()

全体的にChromium9 < Firefox4
V8パネェ <> Name_Not_Found<>sage<>2011/03/26(土) 14:50:01.00 ID:???<> >>799
元のHTML全部をdivの中に入れてそのdivを枠となるdiv(overflow=clip)
の中に絶対位置指定で入れて位置を1ページぶんずつ上下させるとかではだめ? <> Name_Not_Found<><>2011/03/26(土) 17:46:53.16 ID:loUCWksM<> >>797
つ http://www.oreilly.co.jp/books/9784873113333/ <> Name_Not_Found<>sage<>2011/03/26(土) 17:49:21.67 ID:???<> 的確な回答であると同時に鬼畜回答にもなりうる紙一重のレス <> Name_Not_Found<>sage<>2011/03/26(土) 18:24:32.04 ID:???<> >>797 が言ってるのがJavaScriptじゃなくて本当にJavaなら正しいおすすめだろ <> Name_Not_Found<>sage<>2011/03/26(土) 18:32:30.85 ID:???<> >>802の本は読んだことないが、どの辺が鬼畜回答なんだ? <> Name_Not_Found<><>2011/03/26(土) 18:35:08.93 ID:loUCWksM<> おれもまさかこんなドンピシャなタイトルが
オライリーから出てるとは思わなかったよw <> Name_Not_Found<>sage<>2011/03/26(土) 19:54:38.86 ID:???<> ワラタ <> Name_Not_Found<>sage<>2011/03/26(土) 21:18:27.38 ID:???<> >>801
回答ありがとうございます。
ただその方法だと、縦幅が大きい要素(H1タグや画像)がページから飛び出し見切れてしまうケースが出てきそうです。
もう少し自分で考えてダメなら良いサンプルが出回るまで待つことにします。考えてくれてありがとう。 <> Name_Not_Found<><>2011/03/27(日) 00:34:05.61 ID:KdGRH+Ni<> javascriptかJqueryでsleep関数みたいなのはありますか?処理を一定時間だけ止めることができるものです。 <> Name_Not_Found<>sage<>2011/03/27(日) 00:35:50.19 ID:???<> はい <> Name_Not_Found<><>2011/03/27(日) 00:46:04.19 ID:KdGRH+Ni<> >>810
あ、教えていただきたいのですが <> Name_Not_Found<>sage<>2011/03/27(日) 01:32:46.64 ID:???<> sleep関数ではないけど、それに近いものを求めるならsetTimeoutじゃないか。
それが嫌なら自作するしかない気がする。 <> Name_Not_Found<>sage<>2011/03/27(日) 09:31:55.63 ID:???<> 普通、sleep()は「無い」と答える方がいいんじゃないの。
setTimeout()に書き換えるのはそれなりに工夫が必要だし。 <> Name_Not_Found<>sage<>2011/03/27(日) 09:39:50.08 ID:???<> シングルスレッドでsleepはまずいだろ… <> Name_Not_Found<><>2011/03/27(日) 12:19:38.21 ID:NUOZjtxP<> Workerとeval使えばいいsleepが作れるよ <> Name_Not_Found<>sage<>2011/03/27(日) 12:37:33.72 ID:???<> >>815
よく分からんが、WorkerってIEには無いよね <> Name_Not_Found<>sage<>2011/03/27(日) 13:17:24.55 ID:???<> setTimeoutでやるのが現実的だろう
あくまでも遅延実行であることを頭に入れておけば問題ない <> Name_Not_Found<>sage<>2011/03/27(日) 17:27:39.10 ID:???<> >>809
ttp://support.microsoft.com/kb/250983/ja <> Name_Not_Found<>sage<>2011/03/27(日) 17:36:25.45 ID:???<> yieldでもできるよね1.7以降限定だけど <> Name_Not_Found<>sage<>2011/03/27(日) 18:57:33.83 ID:???<> >>808
一行づつ流し込んでいって、divのheightが(600−ページャーの高さ)を上回る場合はそこで切るとかは?

一行をどう定義するかが問題だろうけど
段落単位にしてbrタグでカットするとかもありでは? <> Name_Not_Found<><>2011/03/27(日) 21:11:39.06 ID:ZDbBxASW<> >>806
オライリー先生かっけー! <> Name_Not_Found<><>2011/03/27(日) 22:52:26.60 ID:s8eOqvV2<> >>821
オライリーのサイトひらきっぱなしにしてたら
左上の動物が瞬きして超ビビッた <> Name_Not_Found<>sage<>2011/03/27(日) 23:27:24.65 ID:???<> 消えろカス <> Name_Not_Found<>sage<>2011/03/28(月) 14:50:15.30 ID:???<> jsファイル
<script type="text/javascript">
<!--
document.write("ここに記入");
// -->
</script>

ここに記入って所にtableとかいろいろ書いてもいいんですよね?
FC2にアップロードしても呼び出せないんですけど何か違うんでしょうか?

呼び出し
<div class="">
<script type="text/javascript" src="http://aaa.js"></script>
</div>
<> Name_Not_Found<><>2011/03/28(月) 14:54:56.53 ID:ow5SX7/g<> >>824
・エラーが起きてる → エラーメッセージを読んで晒せ
・エラーが起きてない → http://aaa.jsのところが間違ってる
・エラーが起きているかどうかわからない → firebug入れれ <>
忍法帖【Lv=1,xxxP】 【東電 84.4 %】 <>sage<>2011/03/28(月) 14:56:25.79 ID:???<> jsファイルに<script type="text/javascript">まで書いているのか? <> Name_Not_Found<>sage<>2011/03/28(月) 15:13:38.90 ID:???<> JavaScript+(jQuery)のjQuery.get(or post)で読み込んだファイルの内容を、戻り値にして変数に入れる方法はありますか?
あるとすれば、どのようにすればいいのでしょうか?

var read =
{
readtext : "",
httpObj : jQuery.get("./db.php",null,function(){this.readtext = httpObj.responseText;})
}

db.phpをGETで取得して read.readtext に入れたいんですが、これでは動かないのです。 <> Name_Not_Found<>sage<>2011/03/28(月) 15:14:08.18 ID:???<> >>825
今日始めてscriptに触ったので
http://aaa.js/内が間違ってる可能性がダントツに高いです。

>>826
document.write("ここに記入");
だけでいいんでしょうか?
<> Name_Not_Found<>sage<>2011/03/28(月) 15:42:04.14 ID:???<> はいはい乙。 <> Name_Not_Found<>sage<>2011/03/28(月) 15:43:49.86 ID:???<> >>828
あとopen
closeしような、 <> Name_Not_Found<>sage<>2011/03/28(月) 16:21:35.97 ID:???<> >>827
自己解決したかもです。失礼しました。 <> Name_Not_Found<>sage<>2011/03/28(月) 16:48:05.87 ID:???<> >>830
ありがとうございます。

改行する場合は\を記入すればいいらしいのですが、
document.open();
document.write('<table border="0" width="100%">\
<tr>\
<td width="95"><a href="" target="hoge"><img src="" alt="" height="115" width="90"></a>\
</td>\
</tr>\
');
document.close();
使い方はこんな感じであってるのでしょうか? <> Name_Not_Found<><>2011/03/28(月) 17:35:18.03 ID:+yWotrlf<> PerlやPHPのように変数名の頭に$を付ける事は仕様的にOKですか?
一応動くことは動いたのですが <> Name_Not_Found<>sage<>2011/03/28(月) 17:41:41.41 ID:???<> 仕様的にOKかと言われたらOK
ひらがなだっていけるよ

ただJavaScriptの場合フレームワークの実装で
$はdocument.getElementByIdのショートカットだったりするので
変数につけるってのはお勧めしない
変数にはvarをつけるんだからわざわざ$つけるのもおかしいかと <> Name_Not_Found<>sage<>2011/03/28(月) 17:43:56.97 ID:???<> 簡単なjsloaderを作ってみました
-----
(function() {
var dir = new Array("./", "./common/", "./common/js/"),
js = new Array("foo.js", "bar.js", "baz.js"),
head = document.getElementsByTagName("head")[0];

var script;
for (var i = 0, dlen = dir.length; i < dlen; i++) {
for (var j = 0, jlen = js.length; j < jlen; j++) {
script = document.createElement("script");
script.setAttribute("type", "text/javascript");
script.setAttribute("src", dir[i] + js[j]);
head.appendChild(script);
}
}
})();
-----
こんな感じですが、存在しないファイルのscriptタグも生成されてしまいます。xmlhttprequestを使わずにファイルの存在を確認するお手軽な方法はないでしょうか?
いろんなサイトのjsloaderを見てみましたが、コードが複雑でいろいろやっているようです。自分が作ったのは、html内のscriptタグをjsloader一本にまとめてすっきりさせたかったから
ですが、そもそもjsloaderって何の為にあるんでしょうか?あと存在しないファイルのscriptタグをappendChildして後々問題にならないでしょうか? <> Name_Not_Found<><>2011/03/28(月) 17:50:13.42 ID:ow5SX7/g<> >>835
なんで
var js = [
    "./foo.js".
    "./common/bar.js",
    "./common/js/baz.js"
];

ではいかんの? <> Name_Not_Found<><>2011/03/28(月) 17:50:57.80 ID:ow5SX7/g<> 誤字った

var js = [
    "./foo.js",
    "./common/bar.js",
    "./common/js/baz.js"
];

だ <> Name_Not_Found<>sage<>2011/03/28(月) 17:56:18.41 ID:???<> いいんだけど・・・気分的になんか・・・
どこにどのファイル置いたか忘れた・・・あーめんどくせーって時に使えるかなって・・・
<> Name_Not_Found<>sage<>2011/03/28(月) 17:59:16.32 ID:???<> prototype(ライブラリのほうじゃないですよ)ってどんな場合に使うと恩恵があるんですか? <> Name_Not_Found<>sage<>2011/03/28(月) 18:02:31.72 ID:???<> >>839
仕様書に解説が色々あるから読んでください。 <> Name_Not_Found<>sage<>2011/03/28(月) 18:09:52.12 ID:???<> こうしてみたけど。まぁあんまり意味ないですね・・・。for inとかパフォーマンス悪いと聞いたのであんまり使いたくなかった。
コードの読みやすさも考えるとパフォーマンス重視のみでも駄目なのかな。
(function() {
var dir = new Array(), head = document.getElementsByTagName("head")[0];

dir["./"] = new Array("baz.js");
dir["./common/"] = new Array("bar.js");
dir["./common/js/"] = new Array("foo.js");

var script;
for (i in dir) {
script = document.createElement("script");
script.setAttribute("type", "text/javascript");
script.setAttribute("src", i + dir[i]);
head.appendChild(script);
}
})(); <> Name_Not_Found<>sage<>2011/03/28(月) 18:13:23.47 ID:???<> すいませんスマートフォンでalertが効きません
alert(1);
モバイルではモバイル用のjavascriptっていうのがあると思うのですが
モバイルでは何の関数を使うとアラートが出せるのでしょうか? <> Name_Not_Found<>sage<>2011/03/28(月) 18:18:57.15 ID:???<> ["./baz.js", "./common/bar.js", "./common/foo.js"].forEach(function(e){
    var s = document.createElement("script");
    document.getElementsByTagName("head")[0].appendChild(s);
    s.setAttribute("type", "text/javascript");
    s.setAttribute("src", e);
}); <> Name_Not_Found<><>2011/03/28(月) 18:37:03.92 ID:ow5SX7/g<> >>842
alert("問題なく出たよ?"); <> Name_Not_Found<>sage<>2011/03/28(月) 19:35:46.18 ID:???<> 配列をfor inで回すなと…

上にあるけどforEachがお勧め <> Name_Not_Found<>sage<>2011/03/28(月) 19:38:59.45 ID:???<> window.showModalDialog
で開いたフレームページについて、
(モーダル呼び出し元と呼び出し先は別ドメイン)

IEで<input type="text">に文字列が貼り付けできない
という情報をもらいました。

確認しようと、本番環境とは別に同じような構成を用意して
(本番環境は今触れない...)
IE6〜8で試してみたけど再現しないので
困ってるのですが、何か原因に心当たりありませんでしょうか。

よろしくお願いします。 <> Name_Not_Found<>sage<>2011/03/28(月) 19:44:08.87 ID:???<> 古いブラウザだとforEachは使えない。 <>
忍法帖【Lv=1,xxxP】 【東電 90.6 %】 <>sage<>2011/03/28(月) 19:59:43.48 ID:???<> for in使うならdir = {};で。
あと>>841は./に二つ以上詰め込めないじゃん。

>>846
構成はあってるの?というかソース。 <> 847<>sage<>2011/03/28(月) 20:27:42.90 ID:???<> IE8でもforEachは使えないみたいね。
ECMAScript 3rd Editionにも規定されていない。それ以外の対応状況は知らんが <> Name_Not_Found<>sage<>2011/03/28(月) 20:31:05.38 ID:???<> >>849
https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/array/foreach <> Name_Not_Found<>sage<>2011/03/28(月) 21:14:28.65 ID:???<> for(i in ["hello","world"]){
    console.log(i);
}
今気づいたけどfirefox4だと 0, 1が出力されるようになってるのね <> Name_Not_Found<>sage<>2011/03/28(月) 21:18:17.01 ID:???<> え?どのブラウザでもそうでしょ <> Name_Not_Found<>sage<>2011/03/28(月) 21:40:57.03 ID:???<> javaとかのfor inとは違うぞ
<> Name_Not_Found<>sage<>2011/03/28(月) 22:08:18.06 ID:???<> >>848
ミスです。治したらfirefoxでは正常に動くのにieで動かなくなりました。何故でしょうか?
(function() {
var dir = new Object(), head = document.getElementsByTagName("script")[0];

dir["./common/js/"] = new Array("foo.js", "bar.js");

var script;
for (i in dir) {
for (var j = 0, len = dir[i].length; j < len; j++) {
script = document.createElement("script");
script.setAttribute("type", "text/javascript");
script.setAttribute("src", i + dir[i][j]);
head.appendChild(script);
}
}
})(); <> 854<>sage<>2011/03/28(月) 22:18:51.65 ID:???<> script自体はちゃんと作れているようです。
alert(script.src);で確認しました。
どうやらappendChildができていないようですが・・・。
alert(head);もalert(head.appendChild);もちゃんと動きます。 <> Name_Not_Found<>sage<>2011/03/28(月) 22:30:27.54 ID:???<> ぶっちゃけ何がやりたいの?
そのコード <> Name_Not_Found<>sage<>2011/03/28(月) 22:56:56.32 ID:???<> for-in は実行順の保証がないので forEach か for が妥当かと。 <> Name_Not_Found<>sage<>2011/03/28(月) 23:05:02.24 ID:???<> forEachは今の所Firefoxだけじゃん <> Name_Not_Found<>sage<>2011/03/28(月) 23:05:42.75 ID:???<> >>854
にわか知識で手を抜こうとして失敗する典型だな。まあ、なにごとも勉強だけど。
とりあえず、getElementsByTagName("script") のscriptはheadの間違いだろ <> Name_Not_Found<>sage<>2011/03/28(月) 23:05:57.95 ID:???<> ループ回数も保証されていないので、配列の処理にfor-inは使うべきではない。
互換性が低すぎるので、forEachも使うべきではない。 <> Name_Not_Found<>sage<>2011/03/28(月) 23:10:28.30 ID:???<> Array.prototype.forEachならECMA 262 5thでも定義されてるし、
Firefox、Opera9.5、Safari3、Chrome、IE9で使える。
IE6,7にもArray.prototype.forEachを定義することはできるけど、あまりオススメはしない。
ちなみに、E4Xの for eachのことならFirefoxだけだ。 <> 854<>sage<>2011/03/28(月) 23:11:01.18 ID:???<> あ、しまった。
×head = document.getElementsByTagName("script")[0];
◯head = document.getElementsByTagName("head")[0];

>>857
そうですね。そういえば少し前に何かの記事でforinの中にfor文作るとすごいパフォーマンスが下がるみたいに書いてあったとうろ覚えしてます。
やっぱ無駄にfor文増やすより普通に./common/js/***で指定した方がよさそうです。

みなさん有難うございました。 <> 854<>sage<>2011/03/28(月) 23:18:23.63 ID:???<> なんかの記事っていうのもあれか・・・。これです。
http://www.hyuki.com/yukiwiki/wiki.cgi?EfficientJavaScript#i11
こういうのちょくちょく読んでるんですが、当てにできるのかな・・・。 <> Name_Not_Found<>sage<>2011/03/28(月) 23:20:46.20 ID:???<> 横からだが他にもおかしいところが山程ある
(function() {
    var files  = ["foo.js", "bar.js"],
        length = files.length,
        head   = document.getElementsByTagName("head")[0];
    for (var i=0; i < length; i++) {
        var script = document.createElement("script");
        script.setAttribute("type", "text/javascript");
        script.setAttribute("src", "./common/js/" + files[i]);
        head.appendChild(script);
    }
})();

書くならこんな感じにする事 <> 854<>sage<>2011/03/28(月) 23:38:03.81 ID:???<> >>864
jsがfilesになっているのはできるだけ分かりやすい名前を使うっていう事しょうか。
for(var i = 0, length = files.length; i < length; i++)が普通だと思っていました。外に出した方がいいんですね。

あと配列のところですが、["foo.js", "bar.js"]よりもnew Array();で作った方がいいという記事をまえに見たのでそうしてました。
ここの「括弧で生成せずにnewを使う」のところです。高速化より見やすさを重視してという事でしょうか?
http://journal.mycom.co.jp/news/2009/11/11/015/index.html <> Name_Not_Found<>sage<>2011/03/28(月) 23:47:12.52 ID:???<> >>865
配列は[]を使う事
new使えとかいうそういう2年近く前の古くさい記事は忘れろ
ついでにnew Objectは{}とする事

new する時は限られたときのみ
これは基礎中の基礎 <> Name_Not_Found<>sage<>2011/03/28(月) 23:48:37.04 ID:???<> どっちもかわんねえよ <> Name_Not_Found<><>2011/03/28(月) 23:50:45.45 ID:OEsbDifs<> 質問させて下さい。
書くと長くなってしまうのでサンプルページを貼ります。

tp://colorpowered.com/colorbox/core/example1/index.html
の画像表示方法を
tp://jsajax.com/Articles/scrollablemenulinks/775
のスクロールメニューのリンクから呼び出したいのですがうまくいきません。
<body>内に普通に
<a href="画像.gif" rel="example1" title="test">文字</a>
と記述すればちゃんと表示されるのですが、スクロールスクリプトで中身を表示させるところの
var menucontents='<nobr>中身</nobr>'
に入れてしまうと画像urlに直接飛んでしまいます。
両方とも原文ままを導入しているのですがそこだけひっかかってしまいます。
可能でしたらどこを変えたらいいのか教えていただけるとありがたいです。

ちなみにWinXP,IE最新Safari最新でチェックしています。
よろしくお願いします。 <> 854<>sage<>2011/03/28(月) 23:52:13.48 ID:???<> あーdirを一個に減らしてたから分かりづらかったのかもしれないです・・・。
(function() {
var dir = new Object(), head = document.getElementsByTagName("head")[0];

dir["./"] = new Array("qux.js");
dir["./common/"] = new Array("baz.js");
dir["./common/js/"] = new Array("foo.js", "bar.js");

var script;
for (i in dir) {
for (var j = 0, len = dir[i].length; j < len; j++) {
script = document.createElement("script");
script.setAttribute("type", "text/javascript");
script.setAttribute("src", i + dir[i][j]);
head.appendChild(script);
}
}
})();
ほんとはこんな感じにディレクトリ毎のファイルをscriptタグのsrcに指定してheadにappendChildするっていう感じでした。
連投してほんとにすいません。これで終わります・・・。 <> Name_Not_Found<>sage<>2011/03/28(月) 23:53:42.09 ID:???<> >>865
ひどい日本誤訳だな。グラフよく見てみろ、ほんちょびっとだけリテラルのほうが速いぞ。
あと、この程度の差は数万回レベルのループとかじゃないと差が出ないので、気にしないのが良いと思うね。
気になるってんなら仕方ないけど…、病的と言われるレベルだってことは認識してほしいね。
あとEfficientJavaScriptは良記事だったとは思うけど、元記事が書かれたのは2006年11月だよ。
チェックしてないけど、古い情報が混ざってるだろうね。
<> Name_Not_Found<>sage<>2011/03/28(月) 23:55:15.20 ID:???<> 命名規則なんて好きにしろ

後、その記事おかしくね?
リテラルの方が早いんだが… <> Name_Not_Found<><>2011/03/29(火) 01:00:12.02 ID:+OBxSamT<> good partsのnewを使うなの件にもの凄い言い掛かり感 <> Name_Not_Found<>sage<>2011/03/29(火) 01:25:04.90 ID:???<> Good Parts、なんだかんだでクロックフォード御大の好みがにじみ出てるからね・・・

先日出た「ハイパフォーマンスJavaScript」は、
これまで散逸しがちだった「突っこんだ話」が1冊にまとまってて便利だと思ったよ
さすがに原著の出版が2010年3月なので、ブラウザ関連の話は古びてるものも出てきてたけれど・・・
NCZ様々だなー <> Name_Not_Found<>sage<>2011/03/29(火) 01:29:53.44 ID:???<> リテラルの方が(文法的に)いいと推奨しているサイトがありますが、
理由がわかりませんでした。どうしてでしょう? <> Name_Not_Found<><>2011/03/29(火) 02:20:05.19 ID:3x4QjK18<> コンストラクタ関数をnewを付けずに実行するとグロスコが汚れる
これを回避するためにはnewを使わないことだ
だからオブジェクトも配列もリテラルで書くべきだ


なんて言われても
ハンマーで頭を殴ると死ぬから家を建てる時には釘を使うな、って感じがするよなあ <> Name_Not_Found<>sage<>2011/03/29(火) 02:31:12.37 ID:???<> つ【Object.create】 <> Name_Not_Found<>sage<>2011/03/29(火) 02:42:10.97 ID:???<> var xx = 0;
window.onload = function(){
var img = new Image();
img.onerror = function(){xx = 1;};
img.src = "x.jpeg";
}
IEだとxxに1が入るんですけど、firefox、opera、chromeなどは全て代入処理が行われませんでした。
どうしてでしょうか? <> Name_Not_Found<>sage<>2011/03/29(火) 06:48:38.39 ID:???<> けどnewせずにprototype継承する方法ってあるの? <> Name_Not_Found<>sage<>2011/03/29(火) 08:12:24.08 ID:???<> createみたいなメソッドの中にnewする部分を閉じ込めて通常コード
には出ないようにするんでないの。でもそれならコンストラクタを
newつけずに呼んだらその中で検出して対処するんだっていいと思って
いるけどね。 <> Name_Not_Found<>sage<>2011/03/29(火) 08:43:12.97 ID:???<> >>879
> newつけずに呼んだらその中で検出して対処するんだっていいと思って
> いるけどね。

それ、どうやるの?

function create(){this.x = 'X'}
var y = {};
y.c = create;
y.c()

とやったとき、newつけていないことを検出できる? <> Name_Not_Found<>sage<>2011/03/29(火) 08:50:13.94 ID:???<> >>874
実行時にエラーチェックできるから。 <> Name_Not_Found<>sage<>2011/03/29(火) 09:41:55.51 ID:???<> >>880
わざわざ他のもののメソッドにしたらそりゃ分からんだろうけど。
そもそもコンストラクタとして使うものにcreateとかいう名前つける?
小文字で始める?そういうコード普通に書いているというのなら私には何の
アイデアもないです。 <> Name_Not_Found<>sage<>2011/03/29(火) 10:37:53.31 ID:???<> jqueryを覚えたらprototypeとかmootoolsとか覚えなくても問題ないですか? <> Name_Not_Found<>sage<>2011/03/29(火) 10:40:25.05 ID:???<> >>880,882
>>876 <> Name_Not_Found<>sage<>2011/03/29(火) 11:07:33.59 ID:???<> 今すぐES5で書けという意味かな…それでいいの? <> Name_Not_Found<>sage<>2011/03/29(火) 11:43:55.35 ID:???<> >>878

>>875
> コンストラクタ関数をnewを付けずに実行するとグロスコが汚れる
> これを回避するためにはnewを使わないことだ
てことなら、コンストラクタ内でnewするのはOKってことだから、

var Constructor = function() {
if (!(this instanceof Constructor)) {return new Constructor();}
}
でいいんじゃない? <> Name_Not_Found<><>2011/03/29(火) 12:36:30.68 ID:+OBxSamT<> わかりづれー
「コンストラクタ関数はnewする以外に使わないこと!」じゃ駄目なのかね

汎用的な利用が予想されるライブラリ的なものを作るのだったら
潜在的なバグの可能性になるかも知れないけどそれでもバグの理由は
「コンストラクタ関数をそのまま実行しても期待通りに動かない」からであって
「グローバルを汚す」のは副次的な問題じゃん <> Name_Not_Found<>sage<>2011/03/29(火) 13:00:39.60 ID:???<> >>886-887
別にvarにしなくても普通にfunctionのままで予防的に/**/の行を追加とかは?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head>
<title>sample</title>
</head>
<body>
<pre><script type="text/javascript">
function Counter() {
if(!(this instanceof Counter)) { return new Counter(); } /**/
this.x = 1;
this.add = function(d) { return this.x += d; }
}
var c1 = new Counter();
var c2 = Counter();
var c3 = Counter();
document.writeln(c1.add(1)); document.writeln(c1.add(1))
document.writeln(c2.add(1)); document.writeln(c2.add(1));
document.writeln(c3.add(1)); document.writeln(c3.add(1));
</script></pre>
</body>
</html>
<> Name_Not_Found<>sage<>2011/03/29(火) 13:22:54.83 ID:???<> >>887
たとえば組み込みのObjectコンストラクタだと、
newするときに渡す値によって使われるコンストラクタが違うので、バグの温床になる

var o1 = new Object();
o1.constructor // Object
o1.toFixed // undefined

var o2 = new Object(1);
o2.constructor // Number
o2.toFixed // 存在する

Objectコンストラクタ以外でも、上にあるようなグローバルスコープの問題とかがあるから
リテラルで済ませられるときにはnewを使うなというのは正しいと思う <> Name_Not_Found<>sage<>2011/03/29(火) 13:27:23.01 ID:???<> >>888
おまえはいったい何が言いたいんだ <> Name_Not_Found<>sage<>2011/03/29(火) 14:53:19.76 ID:???<> ieの場合、document.allとdocument.getElementsByTagName(*)はどっちが速いですか? <> Name_Not_Found<>sage<>2011/03/29(火) 16:13:07.81 ID:???<> document.allが速いです。 <> Name_Not_Found<>sage<>2011/03/29(火) 20:23:30.91 ID:???<> 日本でもしものサマータイム導入に備えて今のうちにコード対応したいのですが
サマータイムに対応できるライブラリってありませんか?
<> Name_Not_Found<><>2011/03/29(火) 22:07:34.60 ID:XG+YHQtC<> 日本のサマータイムがいつからいつまでか決定していないからなあ
GMTからずらすだけだから、そんなに面倒ではなさそう <> Name_Not_Found<>sage<>2011/03/29(火) 22:45:30.63 ID:???<> //練習に作った2010年電気代を安い順に並び替える
var a=new Array(4476,3757,3746,3659,3830,2116,3341,4314,4783,6033,3594,2395);
var c=new Array();var i,j,t,min,s;
for (j=0;j<a.length;j++){c[j]=a[j];}
for (i=0;i<a.length-1;i++){min=a[i];s=i;
for (j=i+1;j<a.length;j++){if (a[j]<min){min=a[j];s=j;}}t=a[i];a[i]=a[s];a[s]=t;}
for (i=0;i<a.length;i++){
poo=a[i];for (j=0;j<a.length;j++){if(c[j]===poo){h=j;}}
if(h<9){h="0"+(h+1);}
else{h=h+1}
document.write(h+"月"+":"+a[i]+"<br>");}
なんか無駄が多い気がする解決策ありますか? <> Name_Not_Found<>sage<>2011/03/29(火) 22:57:54.56 ID:???<> a=[[1,4476],[2,3757],〜]
a.sort(function(a,b){
return a[1] > b[1];//個々は昇順降順適当に合わせて
}) <> Name_Not_Found<>sage<>2011/03/29(火) 23:40:20.66 ID:???<> 特定の月の最終日曜日(今月なら27日)を取得する方法が分かりません
単純に月の日数を取得して日曜日かどうか判断していく方法しか思いつきませんでした
コードは確認してないけどこんな感じですか?
もっとかっこいいアルゴリズムを教えて欲しいです

year = 2011;
month = 3;
lastday = new Date(year, month+1, 0).getDate();
for (var i=lastday; 1<lastday; lastday--) {
if (0 == lastday.getDay()) break;
}
alert("最終日曜日は"+lastday+"日です");
<> Name_Not_Found<>sage<>2011/03/29(火) 23:58:11.91 ID:???<> var year = 2011;
var month = 3;
var _D = new Date(year, month, 0);
//"最終日曜日は"+(_D.getDate() - _D.getDay())+"日です" <> Name_Not_Found<>sage<>2011/03/30(水) 00:03:34.74 ID:???<> function getDays(year, month){
    if (month == 2){
        if (year % 400)
            return 29;
        if (year % 100)
            return 28;
        if (year % 4)
            return 29;
    } else if (month == 4 || month == 6 || month == 9 || month == 11) {
        return 30;
    } else {
        return 31;
    }
}
万年カレンダーでググれば公式があるから <> Name_Not_Found<>sage<>2011/03/30(水) 00:08:52.65 ID:???<> >>897
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head>
<title>sample</title>
<script type="text/javascript">
function calc() {
var y = parseInt(document.getElementById('t0').value, 10);
var m = parseInt(document.getElementById('t1').value, 10);
var d = (m<12) ? new Date(y, m, 1) : new Date(y+1, 0, 1);
var x = d.getDay(); if(x == 0) { x = 7; }
var s = new Date(d.getTime()-x*86400000);
document.getElementById('t2').value = String(s.getDate());
}
</script>
</head>
<body>
<div>Year:<input type="text" id="t0"> Month:<input type="text" id="t1">
<button type="button" onclick="calc()">Calc</button>
Last Sunday:<input type="text" id="t2" readonly></div>
</body>
</html> <> Name_Not_Found<>sage<>2011/03/30(水) 00:10:36.43 ID:???<> そうか、月をまたがらないんだからただ引けばよかったのか…
<> Name_Not_Found<>sage<>2011/03/30(水) 08:18:30.87 ID:???<> 変な質問だったらすみません。
サイ本みたいな本って普通、学習用として最初から最後まで読むものですか?
それとも詳細に書かれたリファレンスのような感覚で、
作業中に気になって、他の練習用テキストや、リファレンスで対応できなかった時などに該当部分を読んだりするものですか? <> Name_Not_Found<>sage<>2011/03/30(水) 08:20:20.98 ID:???<> 質問です。
----------
(function(fn) {
  try {
    document.documentElement.doScroll("left");
  } catch (e) {
    setTimeout(arguments.callee, 0);
    return;
  }
  fn(); //ここでalert(fn);とするとunderfined
})(function() {
  alert("foo");
});
----------
このような関数を作成しました。ie用のDOMContentLoaded対策のtry〜catch文がなければfn関数は正常に動くのですが、
try〜catch文をいれるとfnがunderfinedになります。fnの参照がどこかで途切れているのだと思いますが、原因がわかりません。
よろしくお願いします。 <> Name_Not_Found<>sage<>2011/03/30(水) 08:31:10.56 ID:???<> あり得ないおかしさだねー。tryの前でもalert(fn)するとどうなる? <> Name_Not_Found<>sage<>2011/03/30(水) 08:34:07.69 ID:???<> 900超えたけど、次テンプレは結局どれにするという話でしたか?
そろそろ確認しておかないと… <> Name_Not_Found<>sage<>2011/03/30(水) 08:38:08.64 ID:???<> >>903
そりゃ、setTimeout(arguments.callee, 0)で呼ぶときに引数がないからじゃね?
setTimeout(function(){arguments.callee(fn)}, 0)とかならどう?

分かっていると思うけど、そのコードだとdocument.documentElement.doScrollのないブラウザは無限ループに陥るね。 <> Name_Not_Found<>sage<>2011/03/30(水) 08:44:57.09 ID:???<> >>899
その閏年判定公式は老害コードって結論出たでしょ
今更そんなモン使わないで欲しいわ <> Name_Not_Found<>sage<>2011/03/30(水) 09:09:41.34 ID:???<> >>907
老害コードってのがよく判らないけど、
確かにおかしいねコレ。 <> Name_Not_Found<><>2011/03/30(水) 09:20:05.07 ID:0xzE7jEG<> ThickBox系のライブラリで、
デフォルトでキャプション部分にHTMLを使えるものって、
Highslide以外にありますか?

大抵がtitle属性に指定する形なので・・・ <> Name_Not_Found<>sage<>2011/03/30(水) 09:29:54.99 ID:???<> >>904
try〜catch文の前だとちゃんと表示されます。
>>906
有難うございます。引数を指定していないのが原因でした。
でも何故かstack overflow at line:6が出てしまいます。

やっぱり普通にattachEventのonloadでやった方がいいかな・・・。 <> 906<>sage<>2011/03/30(水) 09:42:00.47 ID:???<> よく考えたら>>906だとcalleeの指す対象が変わっちゃうからおかしくなるし、そこでネストが積み上げられるからそれがオーバーフローの原因かもしれん。すまん。

(function(fn) {
  function inner(){
    try {
      document.documentElement.doScroll("left");
    } catch (e) {
      setTimeout(arguments.callee, 0);
      return;
    }
    fn();
  }
  inner();
})(function() {
  alert("foo");
});

これでどうか? <> Name_Not_Found<>sage<>2011/03/30(水) 10:03:38.52 ID:???<> >>907
じゃあどういうコードならいいのか提示してみろよ
分かりもしないのに批判するのは誰でもできるぞ <> Name_Not_Found<>sage<>2011/03/30(水) 10:25:05.55 ID:???<> >>907
じゃあ、老害コードじゃない万年カレンダーのソース頂戴 <> 910<>sage<>2011/03/30(水) 10:25:52.20 ID:???<> >>906 >>911
できました!有難う御座います。 <> Name_Not_Found<>sage<>2011/03/30(水) 10:32:15.89 ID:???<> 何でsetTimeoutは繰り返してくれないんですか?
setIntervalは繰り返してくれるのにsetTimeoutは
function a(){
alert(1);
t = setTimeout("a()",1000);
}
って書かないとダメなのは何故ですか? <> Name_Not_Found<>sage<>2011/03/30(水) 10:51:47.55 ID:???<> >>915
そういうものだから。
繰り返しが必要なら setInterval() を使えばいいでしょう。
<> Name_Not_Found<>sage<>2011/03/30(水) 11:05:00.81 ID:???<> 環境Windows 7 Ultimate 64bit
メモリ 16GB
HDD 2TB

alertにCSSを適用したいのでjqueryで
alert("テスト").css("background","#ff0000");
で出来ませんでした <> Name_Not_Found<>sage<>2011/03/30(水) 11:08:46.68 ID:???<> 自己解決しました。 <> Name_Not_Found<><>2011/03/30(水) 11:28:41.80 ID:zh3g4ImH<> 探したけど、4レスに整理されたテンプレ、これでいいのかな。
http://codepad.org/PW2FFBIs
そして別サイトにしたFAQへのリンクを挿入するの?
http://fiddle.jshell.net/vSqKr/21/show/ <> Name_Not_Found<>sage<>2011/03/30(水) 11:29:35.08 ID:???<> 出来れば別にサイトに
広告入らない鯖でお願いします
入れるなら広告入らない鯖借り手俺が管理する <> Name_Not_Found<>sage<>2011/03/30(水) 11:51:55.26 ID:???<> >>907
ねえ、まだー? <> Name_Not_Found<>sage<>2011/03/30(水) 11:57:57.80 ID:???<> >>920
あまり時間ないんで、もしボランティアお願いできるのなら、
鯖借りて内容を移してリンク貼ってください。それを皆で確認したら
テンプレにはそのリンクを入れるというのとでどうかな? <> Name_Not_Found<>sage<>2011/03/30(水) 12:09:36.19 ID:???<> GoogleドキュメントかGoogleサイトとかは? <> Name_Not_Found<>sage<>2011/03/30(水) 12:10:09.95 ID:???<> >>921
907 じゃないけど、そもそもおかしいでしょー? <> Name_Not_Found<>sage<>2011/03/30(水) 12:14:25.92 ID:???<> >>920
お願いします。 <> Name_Not_Found<>sage<>2011/03/30(水) 12:16:58.45 ID:???<> そもそも>>899は的はずれな解答なんだが。

というかなんでnew Date().getDate()じゃだめなの? <> Name_Not_Found<>sage<>2011/03/30(水) 12:24:53.36 ID:???<> >>919-1000
wikiとかのがいいじゃね?
皆で更新できるしさ <> Name_Not_Found<>sage<>2011/03/30(水) 12:26:08.59 ID:???<> >>912-913
過去ログにあるよ
<> Name_Not_Found<>sage<>2011/03/30(水) 12:27:13.65 ID:???<> >>924
おかしいって言うなら、おかしくないのを是非 <> Name_Not_Found<>sage<>2011/03/30(水) 12:27:58.26 ID:???<> 過去ログだせや <> 907<>sage<>2011/03/30(水) 12:30:25.32 ID:???<> 因み俺が言ってるのは閏年判定公式の考え方がいらないって意味ね
100で割ったりするあれはもう老害でしょ <> Name_Not_Found<>sage<>2011/03/30(水) 12:31:16.37 ID:???<> で、コードは? <> Name_Not_Found<>sage<>2011/03/30(水) 12:45:34.59 ID:???<> しゅくだいは じぶんで かんがえよう <> Name_Not_Found<>sage<>2011/03/30(水) 12:51:21.41 ID:???<> 出来もしないのに批判しちゃった。
何故おかしいのか説明も出来ず周りにコード出せと言われてしまった。
引くに引けなくなってしまい「それくらいも分からないのか?」と言うしかできなくなった。
何を言われても「ggれ」「自分で考えろ」で誤魔化す。
本当は分からないのに自分のプライドを傷付けられるのが怖くてそうする事しかできなかったんだ。 <> Name_Not_Found<>sage<>2011/03/30(水) 12:54:29.47 ID:???<> 正解でてるけどわからないんだろうなぁ <> Name_Not_Found<><>2011/03/30(水) 13:01:22.11 ID:50NS9npP<> >895
<script>
var a=new Array(4476,3757,3746,3659,3830,2116,3341,4314,4783,6033,3594,2395)

var i,A;A=[]
for(i=0;i<a.length;i++){A[i]=[i,a[i]]}
A=A.sort(function (p,q){return p[1]-q[1]})
for(i=0;i<A.length;i++){
m=A[i][0]+1;if(m<10)m="0"+m
document.write(m+"月:"+A[i][1]+"<br>")}
</script>
<> Name_Not_Found<>sage<>2011/03/30(水) 13:07:42.95 ID:???<> >>931
いや、>>899のコードもおかしいけど、その考え方もおかしい。
判定する必要がある時にはどうするんだ。 <> 907<>sage<>2011/03/30(水) 13:08:37.85 ID:???<> >>934
本気で分からないみたいだね
相手を怒らせてコードを出させようとしてるみたいだけど
そんな事しても社会じゃ、やっていけないよ?

春休みの宿題頑張れよ

var today = new Date();
var y = today.getFullYear();
var hoge = new Date(y,2,1-1);
hoge.getDate()!=28?alert('閏年です'):alert('閏年じゃない');


<> Name_Not_Found<>sage<>2011/03/30(水) 13:09:58.43 ID:???<> >>935
わからないから教えてください <> 907<>sage<>2011/03/30(水) 13:10:20.46 ID:???<> >>937
言葉にあやがあった
閏年判定は必要だが公式はいらないって事ね <> 924<>sage<>2011/03/30(水) 13:13:20.74 ID:???<> >>938
それはちょっとどーかなーw <> Name_Not_Found<>sage<>2011/03/30(水) 13:16:24.77 ID:???<> >>934
君もどうかと思うぞ。
899のコードは今年の判定すらできないのに、それも判らない? <> 907<>sage<>2011/03/30(水) 13:21:04.51 ID:???<> >>941
まさかの駄目出しw
何が悪いか指摘よろ

俺的には余計な分岐が減らせるからフローチャートやテストの工数が落とせて
閏年判定は専らこのやり方なんだけどw
まぁ3/1決め打ちなのは気持ち悪いかもしれんが <> Name_Not_Found<>sage<>2011/03/30(水) 13:23:06.55 ID:???<> 何がよくて何がダメで何をどうしたらどうなったかをちゃんと書けよ <> Name_Not_Found<>sage<>2011/03/30(水) 13:26:41.25 ID:???<> 2月の日数を取得して28日分だったら閏年とかwwwwwwwwwwww <> Name_Not_Found<>sage<>2011/03/30(水) 13:27:42.86 ID:???<> >907は自分の時は具体的な指摘を求めるのね <> Name_Not_Found<>sage<>2011/03/30(水) 13:43:00.48 ID:???<> 2月が28日まで確認して閏年かどうか決めるとか横着過ぎ <> Name_Not_Found<>sage<>2011/03/30(水) 13:43:36.14 ID:???<> >>945
ライブラリに任せるのはそう変じゃないでしょ。 <> Name_Not_Found<>sage<>2011/03/30(水) 13:46:22.30 ID:???<> 曜日判定だってツェラーの公式を使わなくても
ライブラリが返してくれるでしょ。
2月の日数で閏年が判るのだって目的に合致してると思うけどな。
ライブラリってのはそういう物だし。
2月の日数がダメだって理由を知りたいぞ。 <> Name_Not_Found<>sage<>2011/03/30(水) 13:50:25.15 ID:???<> >>942
getDays(2000,2)//undefined
条件分岐ひどいなこりゃwwwわろたw <> Name_Not_Found<>sage<>2011/03/30(水) 13:51:00.49 ID:???<> Date に全て投げるのなら閏年を判定する必要はなくなるんじゃないの。閏年を判定する意味がわからない。 <> Name_Not_Found<>sage<>2011/03/30(水) 13:51:35.10 ID:???<> おいテンプレの話題してたのに流すな氏ねカス共 <> Name_Not_Found<>sage<>2011/03/30(水) 13:51:52.59 ID:???<> PCには正確な閏年のデータが入ってるって前提だよね? <> Name_Not_Found<>sage<>2011/03/30(水) 13:58:53.74 ID:???<> >>953
安全な仮定だと思う。十分に。 <> Name_Not_Found<>sage<>2011/03/30(水) 14:03:00.41 ID:???<> パフォーマンスは段違い。

function isLeapYear1(y) {
return (new Date(y, 2, 1-1).getDate() !== 28)? 1 : 0;
}

function isLeapYear2(y) {
if (!(y % 400)) return 1;
if (!(y % 100)) return 1;
if (!(y % 4)) return 1;

var s = +new Date();
for (var i = 0; i < 1000000; ++i) {
isLeapYear1(2011);
// isLeapYear2(2011);
}
alert(+new Date() - s);
<> Name_Not_Found<>sage<>2011/03/30(水) 14:03:46.26 ID:???<> いつまでも続けるなうざい <> Name_Not_Found<>sage<>2011/03/30(水) 14:03:55.43 ID:???<> >>947
三角関数を使わずにテイラー展開する派? <> 955<>sage<>2011/03/30(水) 14:04:22.73 ID:???<> 途中切れてる;; <> Name_Not_Found<><>2011/03/30(水) 14:06:09.59 ID:8Ph8Wn9I<> >>952
個人的にはwiki案を推す

広告嫌だって人が鯖借りてくれるってんなら
ありがたくお任せしたいけど、運用まで丸投げだと色々アレだから
wikiインスコしてくれるといいな

現状のコード共有サイトのままでも悪くない気はする
スタイルも誰か書いてくれたし <> Name_Not_Found<>sage<>2011/03/30(水) 14:08:21.22 ID:???<> だから>>899自体が的外れだって。


テンプレ議論
>>919
>>920
>>922
>>923
>>925
>>927

>>920さんまち?GoogleとかWikiってのもあがってるけど。
というか>>919って広告入ってるの?見当たらないんだけど。
>>919の4レスとFAQへのリンクでいいんじゃね? <> Name_Not_Found<>sage<>2011/03/30(水) 14:12:08.54 ID:???<> >>919のは最新のが解りづらいぐらいか? <> Name_Not_Found<>sage<>2011/03/30(水) 14:12:17.64 ID:???<> Googleサイトもwikiとして利用できるからそこにドキュメントを入れて皆で更新できるようなものとか <> Name_Not_Found<>sage<>2011/03/30(水) 14:14:18.99 ID:???<> jsスレだからjsをapiとして提供して各ユーザーのローカルでhtmlからインクルード <> Name_Not_Found<>sage<>2011/03/30(水) 14:16:14.75 ID:???<> >>961
勝手に更新したり荒らされたりしたときに困るからこれでいいと思う <> Name_Not_Found<>sage<>2011/03/30(水) 14:17:08.89 ID:???<> >>963
面白いけど誰がAPIを提供する? <> Name_Not_Found<>sage<>2011/03/30(水) 14:21:53.17 ID:???<> 次スレは975超えたら。と思ってたら急激に進んだのでもう近い。
「とりあえず」次スレは>>919の4レスとFAQリンクでいいと洩れも思う。
FAQリンクの番号は一番大きいのは23番だけど、23番でいいの?22とか21の
方が良いという説はあったっけ?とにかくテンプレの55行目をその
適切な番号に取り替えると(忘れないようにしないと)。 <> Name_Not_Found<>sage<>2011/03/30(水) 14:33:16.45 ID:???<> 前より面倒なことになること間違いなし <> 907<>sage<>2011/03/30(水) 14:43:39.19 ID:???<> >>946
指摘して結果的にコードも晒したでしょ
2/29で閏年じゃない場合かその逆のパターンがあるなら是非ソースと共に指摘してくれ

OSやブラウザにバグがある事を除いて
<> Name_Not_Found<>sage<>2011/03/30(水) 14:46:46.69 ID:???<> OSとブラウザにバグがあるならそれを想定してコードを書くべきだと思うが <> Name_Not_Found<>sage<>2011/03/30(水) 15:02:17.84 ID:???<> テンプレどうなったの!早くまとめてよ! <> Name_Not_Found<>sage<>2011/03/30(水) 15:14:10.71 ID:???<> >>902
一通り全部読んで、後から必要になったらリファレンス的に。 <> Name_Not_Found<>sage<>2011/03/30(水) 15:14:26.61 ID:???<> 時間がない! とりあえず
http://codepad.org/PW2FFBIs
で、55行目の番号は13→21 ということで975超えたら次スレ立てよう!
まだ何かあるようならまた次スレ冒頭で確認するということで! <> Name_Not_Found<>sage<>2011/03/30(水) 15:40:12.28 ID:???<> 閏年とかどうでもいいから、万年カレンダーのソースくれよ <> Name_Not_Found<><>2011/03/30(水) 15:44:00.50 ID:V3xE9fmx<> >>972
よし、まかされた。
975超えたらやる <> Name_Not_Found<>sage<>2011/03/30(水) 15:50:44.40 ID:???<> テンプレとかいらんでしょ
どうせ質問者は>>1なんてみず最後のレスしか見ない
リンクだけ貼っとけ
ごちゃごちゃして見苦しい <> Name_Not_Found<><>2011/03/30(水) 15:55:01.16 ID:V3xE9fmx<> 次スレ
http://hibari.2ch.net/test/read.cgi/hp/1301467978/ <> Name_Not_Found<><>2011/03/30(水) 16:14:22.05 ID:V3xE9fmx<> >>973
いつも使ってるので良ければあるが <> Name_Not_Found<>sage<>2011/03/30(水) 16:19:19.22 ID:???<> >>977
ありがとう <> Name_Not_Found<>sage<>2011/03/30(水) 16:21:14.16 ID:???<> まだもらってないじゃないか。 <> Name_Not_Found<>sage<>2011/03/30(水) 16:27:25.91 ID:???<> > 太陽暦では、季節に暦を一致させるため、暦年の平均の長さを平均回帰年(約365.242199日)に一致させる。
> 通常の太陽暦では平年は365日で、閏年は閏日が挿入されて366日である。閏年は約4年に1度ある。

楽勝じゃろ <> Name_Not_Found<>sage<>2011/03/30(水) 16:29:02.77 ID:???<> http://ja.wikipedia.org/wiki/%E9%96%8F%E5%B9%B4#.E3.82.B3.E3.83.B3.E3.83.94.E3.83.A5.E3.83.BC.E3.82.BF.E3.82.B7.E3.82.B9.E3.83.86.E3.83.A0.E3.81.A8.E9.96.8F.E5.B9.B4 <> Name_Not_Found<><>2011/03/30(水) 16:54:38.09 ID:V3xE9fmx<> >>978
ほい
http://jsbin.com/otiga4/2/edit

Cal()の引数に週の最初にする曜日(なければ日曜)を。
getCalData()の引数に年と月(なければ今日)を渡すと
[
    [undefined,undefined,1,2,3,4,5],
    [6,7,8,9,10,11,12],
    [13,14,15,16,17,18,19],
    [20,21,22,23,24,25,26],
    [27,28,29,30,31]
]

な感じの配列が返ってくるはず <> Name_Not_Found<>sage<>2011/03/30(水) 17:49:40.45 ID:???<> >>976 多謝!
>>975 テンプレ不要という合意を得たいなら次スレ冒頭でぜひ議論を。
個人的には4レスのテンプレは欠点より利点の方が上回ると思ってる。 <> Name_Not_Found<>sage<>2011/03/30(水) 17:53:06.26 ID:???<> >>982
すげー
解説求む <> Name_Not_Found<>sage<>2011/03/30(水) 18:05:14.63 ID:???<> ソース嫁w <> Name_Not_Found<>sage<>2011/03/30(水) 18:05:24.26 ID:???<> コード読めよ乞食 <> Name_Not_Found<><>2011/03/30(水) 18:51:25.67 ID:V3xE9fmx<> >>984
解説することなんて殆ど無いと思うんだが

月の初日の曜日を求める
月の最終日(翌月の初日の前日)を求める
週の最初の曜日の分だけズラしつつ、1〜最終をn行7列の二次元配列に詰め込む

ってだけなので
わからんことがあれば個別に <> 907<>sage<>2011/03/30(水) 19:28:24.37 ID:???<> >>969
そもそもシステム日付を利用しているのは例であって

OSやブラウザのバグだと曜日判定ライブラリも使えないのは一緒でしょ

例えば入力チェック処理でも使えるし、いつもの公式よりパフォーマンスもいいし
何か問題ある?
<> Name_Not_Found<>sage<>2011/03/30(水) 19:50:11.99 ID:???<> パフォーマンスが>>955のことをいっているならコードがおかしい <> Name_Not_Found<>sage<>2011/03/30(水) 19:59:58.37 ID:???<> パフォーマンスは 2 の方がずっと良いよ。
※ 2 の形は >>899 から引用。

function isLeapYear1(y) {
return (new Date(y, 2, 1-1).getDate() !== 28)? 1 : 0;
}

function isLeapYear2(y) {
if (!(y % 400)) return 1;
if (!(y % 100)) return 0;
if (!(y % 4)) return 1;
return 0;
}

var s = +new Date();
for (var i = 0; i < 1000000; ++i) {
isLeapYear1(2011);
// isLeapYear2(2011);
}
alert(+new Date() - s);

<> Name_Not_Found<>sage<>2011/03/30(水) 21:06:20.08 ID:???<> 閏年判定ロジックは昔どっかの宿題スレで格好いいロジック見かけたな。 <> Name_Not_Found<><>2011/03/30(水) 21:36:20.76 ID:V3xE9fmx<> wikiに書いてある
year%4 == 0 && year%100 != 0 || year%400 == 0

が一番スマートなんじゃないか? <> Name_Not_Found<><>2011/03/30(水) 21:39:44.59 ID:F+OQQPEw<> >>992
そう思う。複雑に考えすぎなんじゃないかね…。
http://jsfiddle.net/9B3HJ/1/ <> Name_Not_Found<><>2011/03/30(水) 23:53:29.93 ID:98nFxFjT<> document.writeするとページが変わる場合があるのですが、
そうなる場合とそうならない場合の違いって何なんでしょうか? <> Name_Not_Found<>sage<>2011/03/30(水) 23:55:00.18 ID:???<> 907逃亡説 <> Name_Not_Found<>sage<>2011/03/31(木) 00:09:23.31 ID:???<> <head>の中で使ってるんでねーの?
>>994 <> Name_Not_Found<>sage<>2011/03/31(木) 00:55:13.07 ID:???<> >>995
誠実に応えてたと思うけどな。
何を求めて行動してる? <> Name_Not_Found<>sage<>2011/03/31(木) 01:10:58.66 ID:???<> うるう年判定とかを自分で書いちゃうタイプの人がバグを作りこんで、
907みたいな人が尻拭いをしてるんだろうなー
うめうめ <> Name_Not_Found<><>2011/03/31(木) 01:21:10.79 ID:7/K68nMp<> まあ、Dateがそんなに速くないってことがわかって勉強になったわ
うめうめ <> Name_Not_Found<>sage<>2011/03/31(木) 01:22:51.00 ID:???<> >>1000 <> 1001<><>Over 1000 Thread<> このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。 <>