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

このエントリーをはてなブックマークに追加
1Name_Not_Found
JavaScript を自ら学ぶ人のための質問スレッドです。
>>2-4のテンプレを読んだ上で質問してください。

■質問を書く上で
(1) 質問にならない投稿はご遠慮ください。(煽り、コード制作依頼など)
(2) 他の人に迷惑をかけるスクリプトの質問はご遠慮ください。
  (ブラクラ、[戻る], [閉じる], [クリック] の妨害、画面占有など)
(3) 長い間連続して質問する場合にレス番を名前にしてあれば、質問の流れが回答者に伝わりやすくなります。
(4) 常に自発的に調べる心構えを持ってください。
  具体的には「自分で調べてから質問する」「回答をもらってわからない単語があればGoogle検索してみる」など。
  わからない内容を代わりに調べてくれる回答者をお望みの方は余所で質問してください。
(5) 出来るだけ一般的な用語を使用してください。脳内オレオレ用語は混乱の元です。
(6) 出来るだけサンプルコードを掲示してください。言葉による説明は行き違いが生まれる場合があります。
  ※必ず「問題の事象が再現されること」を確認してください。
   必要な部分だけ切り出したつもりで現象が再現できていなかったケアレスミスがしばしば見られます。
(7) サンプルコードに HTML が含まれる場合は http://validator.w3.org/ で [Check] してみてください。
(8) 質問を具体的かつ詳細に書くと回答を得られやすいです。質問テンプレートを活用してみてください。

■質問テンプレート
【環境】OS, ブラウザをバージョンと共に記入してください。(ex: IE8, Firefox4)
【何をしたのか】何をしたら問題の現象が発生するのか。再現手順を具体的に書いてください。
【エラーメッセージ】エラーメッセージがあれば正確に書き写してください。(Windows なら「コピット」を活用)
【期待する結果】最終的にどういう結果を望んでいるのか、を書いてください。
【サンプルコード】現象を再現可能な最小限のコードを書いてください。
 1レスに収まらないならコード投稿サイトを利用してください。
 http://jsdo.it/ http://jsbin.com/ http://jsfiddle.net/ http://ideone.com/
2Name_Not_Found:2011/11/16(水) 12:31:27.18 ID:???
■前スレ
+ JavaScript の質問用スレッド vol.90 + (名前間違い:本来はvol.92)
http://hibari.2ch.net/test/read.cgi/hp/1319633963/

■過去スレ全集
http://www2.atpages.jp/mirror/2ch/javascript/
http://usamimi.info/~mirrorhenkan/2ch/javascript/ (閲覧のみ)
http://wing2.jp/~mirrorhenkan/2ch/javascript/ (閲覧のみ)

■関連スレ
ECMAScript デス 3
http://hibari.2ch.net/test/read.cgi/tech/1190160481/
Ajaxでも語りませんか Rigel4
http://hibari.2ch.net/test/read.cgi/php/1166751613/
【誰か】jQueryのここがわからない【助けて】
http://hibari.2ch.net/test/read.cgi/tech/1229881548/
1行javascriptプログラミング
http://hibari.2ch.net/test/read.cgi/hp/1066750037/
WSH(・∀・)スレッド! Part 4
http://hibari.2ch.net/test/read.cgi/tech/1243095768/
Webサイト制作初心者用質問スレ part226
http://hibari.2ch.net/test/read.cgi/hp/1317832246/
CSS初心者スレッド=10th=
http://hibari.2ch.net/test/read.cgi/hp/1306489752/
役に立つ書籍は? 4冊目
http://hibari.2ch.net/test/read.cgi/hp/1172823674/
3Name_Not_Found:2011/11/16(水) 12:32:26.64 ID:???
■主要FAQ (全部は http://fiddle.jshell.net/vSqKr/26/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がそこまで読まれてない。window.onload 中でやるとか。
4Name_Not_Found:2011/11/16(水) 12:33:40.96 ID:???
5Name_Not_Found:2011/11/16(水) 13:10:30.02 ID:???
このスレは93ではなく、本来なら92です。
次スレが93です。
6Name_Not_Found:2011/11/16(水) 13:22:03.88 ID:???
げげっ! 番号間違えましたか。すみません。すみません。すみません。
前スレが91だったの?
7Name_Not_Found:2011/11/16(水) 13:25:15.02 ID:???
あやまってもゆるさない
8Name_Not_Found:2011/11/16(水) 14:04:26.85 ID:???
92で立てるスレが90として立ったから93で問題ない
9Name_Not_Found:2011/11/16(水) 14:22:30.91 ID:???
前スレは91予定が90として立ったんだよ
10Name_Not_Found:2011/11/16(水) 14:25:13.79 ID:???
11Name_Not_Found:2011/11/16(水) 14:30:38.54 ID:???
93スレ目だからこのままでいい
いちいち騒ぐことかねぇ
12Name_Not_Found:2011/11/16(水) 14:32:58.20 ID:???
解釈というか前スレより前までは正しいナンバリングだったみたいだから
だとするとこのスレは92
13Name_Not_Found:2011/11/16(水) 14:38:32.32 ID:???
92と思う人が立て直せばいいんじゃない?
14Name_Not_Found:2011/11/16(水) 14:39:49.61 ID:???
誰も立て直せとは言ってなくね
次のためにこのスレは本来は何番なのか確定しておきたいだけで
15Name_Not_Found:2011/11/16(水) 14:52:11.49 ID:???
次も間違える予感
16Name_Not_Found:2011/11/16(水) 14:54:01.41 ID:???
javascript:document.body.appendChild(document.createTextNode(document.title))

↑これは動くんですが
↓これが動きません。

javascript:document.body.prependChild(document.createTextNode(document.title))

先頭に追加するにはどうすればできるのか教えて下さい。
17Name_Not_Found:2011/11/16(水) 15:09:26.78 ID:???
insertBefore つかえばいいんじゃね。
18Name_Not_Found:2011/11/16(水) 15:19:19.06 ID:???
document.body.insertBefore(document.createTextNode(document.title),document.body.firstChild);

できました。どうも。
19Name_Not_Found:2011/11/16(水) 16:30:42.43 ID:???
twitterからjsonを取得したいのですがstatusが0になって取得できません。ローカルのファイルは取得できます。twitterからjsonする方法をご指導お願いします
var xhr;
if (XMLHttpRequest) {
xhr = new XMLHttpRequest();
} else {
try {
xhr = new ActiveXObject('MSXML2.XMLHTTP.6.0');
} catch (e) {
try {
xhr = new ActiveXObject('MSXML2.XMLHTTP.3.0');
} catch (e) {
try {
xhr = new ActiveXObject('MSXML2.XMLHTTP');
} catch (e) {
alert("ActiveXを有効にしてください");
}
}
}
}

xhr.onreadystatechange = function() {
if (xhr.readyState == 4) {
if (xhr.status == 200) {
alert(xhr.responseText);
} else {
alert("status = " + xhr.status);
}
}
}
xhr.open("GET","http://search.twitter.com/search.json?q=%40%E3%83%86%E3%83%AC%E3%83%93&callback=?",true);
xhr.send();
20Name_Not_Found:2011/11/16(水) 16:41:59.19 ID:???
あきらメロン
21Name_Not_Found:2011/11/16(水) 16:46:31.27 ID:???
>>19
クロスドメイン?
22Name_Not_Found:2011/11/16(水) 16:59:46.85 ID:???
はてなブックマークボタンについて質問があります。
あれってURLとタイトルを指定せずにボタン作成した場合って、
ツイッターとかみたいに、そのページのURLとタイトルを登録する仕様になってますか?
23Name_Not_Found:2011/11/16(水) 17:05:19.59 ID:???
(゚Д゚;≡;゚д゚)え?ココハドコ?
24Name_Not_Found:2011/11/16(水) 17:43:22.57 ID:???
>>19
XHRじゃなくJSONPでやった方が楽だと思う
25Name_Not_Found:2011/11/16(水) 17:46:07.20 ID:???
XDomainRequest
2619:2011/11/16(水) 18:03:29.73 ID:???
scriptタグを使うやり方で解決しました
>>24
JSONPでやる方法というのはどういうのですか?
XDomainRequestはChromeで動きませんでした。
27Name_Not_Found:2011/11/16(水) 18:12:15.01 ID:???
XDomainRequestはIEのXHRの不備を補うもので、勝手にクロスドメインリクエストできるオブジェクトじゃないよ
28Name_Not_Found:2011/11/16(水) 18:44:15.34 ID:???
>>26
その解決したっていうscriptタグでやる方法がJSONPと呼ばれるもの
callbackに何かしら指定したんでしょ?
29Name_Not_Found:2011/11/16(水) 18:44:37.06 ID:???
Chrome なら XML HttpRequest Level 2 を使えるはず
30Name_Not_Found:2011/11/17(木) 00:01:50.36 ID:???
XMLHttpRequest Level 2やXDomainRequestでドメインを跨いだリクエストを投げることはできるけど、
レスポンスを受け取るにはレスポンスを返す側(この場合だとTwitter)がAccess-Control-Allow-Originってヘッダを
適切に指定していないと無理。
よくわからないのに適当に答えてるのかね
31Name_Not_Found:2011/11/17(木) 02:02:49.34 ID:???
前スレ>>999
>$記号だけ除外された経緯
ES2で機械生成識別子の目印という意味を与えられた
RegExp.$1みたいに自動変更されるから勝手に触んなっての
ぐぐるのコンプレッサはドットを$に変換して速度を稼いでたな

しかしドシロウトどもが嬉々として$を使いはじめて収拾つかなくなった
いまどきRegExp.$1を使うアホもいないだろうってんでES5で$は自由になった

だがな、"use strict"なんてバカみたいな文字列より
$use_strict=trueのように$をエンジン制御変数に使えたほうがよかった
どうせそのうち、@だの似たような文字を導入すんだろうから
$をそのまま使えりゃよかったんだ
32Name_Not_Found:2011/11/17(木) 02:15:19.41 ID:???
RegExp.$1使ってるけどJQueryと一緒に使うとまずいの?
33Name_Not_Found:2011/11/17(木) 03:08:54.40 ID:???
いっそ変数をわかりやすくするためphpみたいに先頭に$つけて使えば便利じゃね
34Name_Not_Found:2011/11/17(木) 04:23:26.07 ID:???
>>32
非推奨になったんだよ、それ
https://developer.mozilla.org/ja/JavaScript/Reference/Deprecated_Features

RegExp.prototype.execかString.prototype.match使えってこと
execとmatchはgオプションが有効なときの挙動が違うのに注意な
35Name_Not_Found:2011/11/17(木) 08:14:01.12 ID:???
$は機械的に生成されるコードにのみ許される文字だったはず(ES3)
ES3からES5への変遷で仕様が変わったのは上の人のいう通り
jQueryやprototype.jsの影響か人が書くコードにも許されるようになったが、本来は後でそれが上書きされてもいい変数として定義される
36Name_Not_Found:2011/11/17(木) 09:32:24.90 ID:???
select()で選択されたtextareaやinput type=textが選択されているか調べる方法がわかりません
Rangeなどを使った方法はあるようですが、選択に比べてやけに難しいような・・・
37Name_Not_Found:2011/11/17(木) 11:26:22.12 ID:???
JSONPでコールバックで帰ってきたときのイベントをaddEventListenerで取得する方法はないですか?
38Name_Not_Found:2011/11/17(木) 12:03:36.11 ID:???
>>36
onfocus
39Name_Not_Found:2011/11/17(木) 15:30:14.59 ID:9qMsgmp1
質問です
ローカルストレージにkeyが数字だったり文字だったりする多重配列を記憶及び取り出しする方法を教えてください。
どうやらブラウザ毎で挙動がちがうようなので、共通でできる方法を教えてください。お願いします。
40Name_Not_Found:2011/11/17(木) 15:41:23.03 ID:???
41Name_Not_Found:2011/11/17(木) 16:32:28.74 ID:???
JSON使うのはいいんだけど、Prototype.jsの1.6?が使われてて
かつfirefoxのバージョンが3.6とかだと悲惨な事になるはず・・・
Operaとかでも発生したような気がするが忘れた
42Name_Not_Found:2011/11/17(木) 17:12:27.04 ID:???
>>34
さんくす!
43Name_Not_Found:2011/11/17(木) 17:21:58.84 ID:???
同僚「休日なにしてた?」
オレ「JS(Javascritpt)の勉強してた」
同僚「女子小学生(JS)の勉強とかロリコンかよwwwキメーwww」

こんな感じの同僚はおまいらの周りにいる?
44Name_Not_Found:2011/11/17(木) 17:33:46.82 ID:???
同僚「休日なにしてた?」
オレ「ES(ECMAScritpt)の勉強してた」
同僚「ES細胞の勉強とかロリコンかよwwwキメーwww」
45Name_Not_Found:2011/11/17(木) 18:02:06.29 ID:???
JSはまだしもESとは言わんだろ・・・
46Name_Not_Found:2011/11/17(木) 18:07:55.04 ID:???
就活でJavascritptをがんばって勉強したアピールしたいのですが
どういえば言えばいいですか?
47Name_Not_Found:2011/11/17(木) 18:10:20.80 ID:???
自分で作った作品持っていけ
48Name_Not_Found:2011/11/17(木) 18:18:13.52 ID:???
カヤックのHTMLテスト受けて点数これぐらいでましたもありかもしれん(Web屋限定でw
49Name_Not_Found:2011/11/17(木) 18:18:30.94 ID:???
拡張子がesだから言うんでない?
50Name_Not_Found:2011/11/17(木) 19:07:13.39 ID:???
今時javascriptだけアピールされてもねwwwwwwwwwwwwww
51Name_Not_Found:2011/11/17(木) 19:30:14.82 ID:???
<div>
<span><b>1</b></span>
<span><b>2</b></span>
<span><b>3</b></span>
</div>

htmlの中にこういう構造のタグがあるとします
spanに挟まっているbタグを全てobjに格納したいのですが
var obj = document.getElementsByTagName('span').getElementsByTagName('b');
alert(obj.length); // 3って表示して欲しいのにエラーになります

求めたいことは仮にhtmlが上のだけだとして
var obj = document.getElementsByTagName('b');
alert(obj);// 3
の結果です
htmlはいじれません
どのようにしてオブジェクトをとることができますか?
52Name_Not_Found:2011/11/17(木) 19:42:49.39 ID:???
getElementsByTagNameは配列を返すからとかじゃね
53Name_Not_Found:2011/11/17(木) 19:47:34.89 ID:???
querySelectorAllでも使えば
54Name_Not_Found:2011/11/17(木) 19:57:53.90 ID:???
>>51
<div>
<span><b>hoge</b></span>
<span><b>fuga</b></span>
<span><b>piyo</b></span>
</div>

<script>
window.onload = function() {
var obj = document.getElementsByTagName('span')[0].getElementsByTagName('b');
alert(obj.length); // 1
alert(obj[0].innerHTML); // hoge

var obj2 = document.querySelectorAll('span > b');
alert(obj2.length); // 3
alert(obj2[0].innerHTML); // hoge
alert(obj2[1].innerHTML); // fuga
alert(obj2[2].innerHTML); // piyo
};
</script>
55Name_Not_Found:2011/11/17(木) 19:59:33.80 ID:???
>>51
forループ使ってb要素を集めるとか
56Name_Not_Found:2011/11/17(木) 20:37:46.10 ID:???
>>51
オレも考えたぜ

<body>

<div>
<span><b>1</b></span>
<span><b>2</b></span>
<span><b>3</b></span>
<span><b>4</b></span>
</div>

<script type="text/javascript">
var obj=document.getElementsByTagName('span'),t=0;
for(var i=0;i<obj.length;i++){
for(var s=0;s<obj.length;s++){
if(obj[i].childNodes[s]){t++;}
}
}
alert("<b>タブの数="+t);//t=4となる
</script>
</body>

しかし、何でかalert(obj.childNodes.length);でエラーなんだよな
何でなんだ?
57Name_Not_Found:2011/11/17(木) 20:48:01.09 ID:???
>>56
getElementsByTagNameで返されるのはNodeListだから。
childNodesはNodeに属するプロパティ。
childNodesはNodeListとして構成される。
なのでobj.lengthは通る。

こういった場合の解決方法は>>53-54で使われているquerySelectorAllか
document.evaluateを使ったXPathを使った方法かになるんじゃないかな。

どのバージョンまでサポートされてるかは忘れたけど、
document.evaluateはIEでの対応が微妙だったはず。
58Name_Not_Found:2011/11/17(木) 21:05:36.91 ID:???
>>57
なんかオレの知らない方法だな、イジッテたら分かったが、
obj[0].childNodes.lengthで1個目のspanの子ノードの数が取得
できるって分かったから、obj[i].childNodes.lengthで
iを0からobj.lengthの値までforで回すと子ノード<b>タブの数
が計算できるな、二重にforを使う必要がなかったな。

<body>
<div>
<span><b>1</b><b>1</b</span>
<span><b>2</b></span>
<span><b>3</b></span>
<span><b>4</b></span>
</div>
<script type="text/javascript">
var obj=document.getElementsByTagName('span'),t=0;
for(var i=0;i<obj.length;i++){
t=t+obj[i].childNodes.length;
}
alert("<b>タブの数="+t);//t=5と出る
</script>

</body>
59Name_Not_Found:2011/11/17(木) 22:17:38.16 ID:???
こんな偉そうな初心者も珍しいで
60Name_Not_Found:2011/11/17(木) 22:22:20.46 ID:???
>>58
それはspanの中にb以外が入った時に間違った結果になるでしょ
61Name_Not_Found:2011/11/17(木) 23:28:25.36 ID:???
っていうか、>>51が欲しいのはbタグの数じゃなくて、bタグの要素のリストだぞ。
3って表示して欲しいのに とは書いてあるが。
62Name_Not_Found:2011/11/18(金) 01:38:23.79 ID:???
Ajaxで書き換えた後の中に記述してあるjavascriptが動作しないのは仕様ですか?
63Name_Not_Found:2011/11/18(金) 02:02:33.72 ID:???
いいえ
64Name_Not_Found:2011/11/18(金) 02:19:47.40 ID:???
>>63
Ajaxで書き換えた後の中にある
<a href="javascript:document.form.submit()">
の部分をクリックすると
document.form.submit is not a function
と出てきます。
フォームの中にsubmitの単語が他に含まれていた場合もこうなるみたいですが今回はそのエラーではありません。
ちなみにAjaxの書き換えに使用するphpファイルは
直接開いてみたところエラーが出ずにちゃんと飛んだのでAjaxに使用した場合うまく動作しません。

65Name_Not_Found:2011/11/18(金) 02:48:30.16 ID:???
javascriptスキーマとかどこの原始人だよ
66Name_Not_Found:2011/11/18(金) 02:52:15.70 ID:???
document.formってなんだよ
document.getElementById('form')のこと?
67Name_Not_Found:2011/11/18(金) 02:57:30.33 ID:???
アコーディオンメニューをjQueryのslideDownとslideUpを使って
作成したのですが、slideDownで下がりslideUpで上がるアニメーション
のときにアコーディオンメニューとアコーディオンメニューの下に書いた
文字がブレるような挙動をするのですが、仕様なんですか?
6864:2011/11/18(金) 02:59:51.46 ID:???
jQueryの記述に変えたところなんとかできました。

>>65
ダメなの?w
69Name_Not_Found:2011/11/18(金) 08:09:35.24 ID:???
>>68
せめて document.forms['form'].submit(); にして

> ダメなの?w
リンクではないからa要素である必要性はないでしょ?
http://www.yomotsu.net/wp/?p=591
70Name_Not_Found:2011/11/18(金) 08:23:21.91 ID:???
>>64
IEだとDOMで動的に生成した要素にonclick=javascript:〜などは使えないです。
71Name_Not_Found:2011/11/18(金) 08:27:42.68 ID:???
>>70
いやいや、onclick="javascript:*" は全然意味が違うでしょう
ラベルじゃないですか
72Name_Not_Found:2011/11/18(金) 08:39:40.52 ID:???
>>71
a href=〜でも同じだったとおもう。
回避策はあったけど今すぐは思い出せない。
73Name_Not_Found:2011/11/18(金) 08:59:12.49 ID:???
>>72
IE8 で再現できません
http://jsfiddle.net/u8ygk/
setAttribute のバグを混同して記憶しているのでは?
http://www.tagindex.com/kakolog/q4bbs/2201/2582.html
74Name_Not_Found:2011/11/18(金) 09:05:24.62 ID:???
回避策ですが・・・
送信するform要素に id="form"、追加されるa要素に id="formLink"
を設定しているとして、以下のコード書いたらいけるとおもうよ。

var fromSubmit = function(){
document.getElementById( 'form' ).submit();
}
var formSubmitLink = document.getElementById( 'formLink' );
formSubmitLink.onclick = fromSubmit;


>>73
はまったのは、IE6-7だったかも。
75Name_Not_Found:2011/11/18(金) 09:16:32.53 ID:???
>>74
情報を小出しにしないでください
setAttribute のバグなら IE8 で解消されたことは理解してますし、>>73は IE6-7 でも動作するように書いています(環境がないので試してませんが)
http://fiddle.jshell.net/vSqKr/26/show/#Q13
あなたの環境では動作しないのでしょうか?

onclickにjavascriptラベルを適用する意味は全くありません
私の知る限りでは、element.onclick なり attachEvent なりを使えば IE6-7 でも適用できるはずです
76Name_Not_Found:2011/11/18(金) 09:25:03.16 ID:???
>>75
すみませんね、引っ込みますよ。
7775:2011/11/18(金) 09:25:13.13 ID:???
> >>73は IE6-7 でも動作するように書いています(環境がないので試してませんが)
失礼。コンソールが使えないのでアドオンなしの IE6-7 ではエラーになりますね。
alert() に変更しました。
http://jsfiddle.net/u8ygk/1/
78Name_Not_Found:2011/11/18(金) 09:30:20.17 ID:???
別に引っ込まなくてもよかったんじゃないの
IEで動作するか確かめるだけだし
79Name_Not_Found:2011/11/18(金) 09:36:16.05 ID:???
今回のバグとは関係ないだろうけど、<a onclick="javascript:alert(true)"> とラベルの件は過去ログでも話題になってた気がする
80Name_Not_Found:2011/11/18(金) 09:49:29.93 ID:???
var a = document.createElement('a');
a.setAttribute('onclick', 'javascript:alert(true)'); // 結局、こういうことだったの?
81Name_Not_Found:2011/11/18(金) 10:10:14.58 ID:???
jqueryかその他のじjavascriptで以下のことをできるソースを探しています。
ご存知のかたがいましたら教えていただけないでしょうか?

formで画像のサブネームを選択したかを判定したいのですが、formのチェックボックスをつけるのではなく、画像をクリックしたときに、
画像の色を変えるもしくは、画像に枠線などをつけてON/OFFを判定するような感じにしたいです。
82Name_Not_Found:2011/11/18(金) 10:19:01.14 ID:BQ7iYbMM
>>81
画像ごとに<input type="hidden">つくって、それをいじるようにするのは?
または、imgのON/OFFでクラス使うなら、クラスで判定してもいいだろうし
83Name_Not_Found:2011/11/18(金) 10:38:54.23 ID:???
>>81
<img src="sample.jpg" aria-selected="true">
8481:2011/11/18(金) 10:51:36.20 ID:???
>>82,83
ありがとうございます。
なるほど、チェックボックスかくして、自作したほうが簡単そうですね(^^ 
85Name_Not_Found:2011/11/18(金) 11:29:37.39 ID:???
Twitterのページを開きっぱなしにすると新しいツイートを自動で確認してくれますが
あれはどうやってるのですか?
確認するたびにJSONPでscriptタグを作ってるのですか?
86Name_Not_Found:2011/11/18(金) 11:30:42.71 ID:???
>>85
setIntervalとかじゃね?
87Name_Not_Found:2011/11/18(金) 11:52:09.89 ID:???
>>85
定期的に ttp://api.twitter.com/1/statuses/home_timeline.json をXHRで読み込んでいる
88Name_Not_Found:2011/11/18(金) 12:12:42.74 ID:???
>>86-87
ありがとうございます
89Name_Not_Found:2011/11/18(金) 15:12:59.39 ID:???
<text:sample>
<string>サンプル</string>
</text:sample>

上記のようなコロンを含む要素をRSSやXMLで見かけますが
:sampleがついたtext要素を取得する場合は何を使えば良いのですか?
90Name_Not_Found:2011/11/18(金) 17:24:13.64 ID:???
:sampleがついたtext要素じゃなくてtext:がついたsample要素じゃないのかい
91Name_Not_Found:2011/11/18(金) 17:36:07.87 ID:???
getElementsByTagNameNS
92Name_Not_Found:2011/11/18(金) 17:41:03.75 ID:???
え?
textが要素で
:sampleは名前空間じゃありませんでしたか?
93Name_Not_Found:2011/11/18(金) 17:51:36.70 ID:2ZVqRsYw
<text:sample>サンプル</text:sample>と書き換えてて

var obj = document.getElementsByTagNameNS('sample', 'text');
alert(obj.innerHTML);
としてみましたがundefinedになりました
94Name_Not_Found:2011/11/18(金) 17:55:48.99 ID:???
getElementsByTagNameNS(text:に結び付けられているURI, 'sample')
95Name_Not_Found:2011/11/18(金) 18:28:27.09 ID:8D4ReCX/
アプリ共通のスクリプトとして以下のように書くことが多かったんですが

var fooNode = document.getElementById("foo");
if (fooNode) { ... }

jqueryではどう書きますか?
var fooNode = $("#foo");
とすると要素がない場合には空配列が返るので
if (fooNode.length) { ... }
と書けますが、なんか変な感じでしっくりきません。
いいのかな?
96Name_Not_Found:2011/11/18(金) 19:25:48.05 ID:???
>>95
問題ありません。
length はjQueryオブジェクトの数をあらわします。
http://api.jquery.com/length/
97Name_Not_Found:2011/11/18(金) 20:14:20.86 ID:8D4ReCX/
>>96
ありがとうございます!
98Name_Not_Found:2011/11/18(金) 20:46:23.01 ID:???
jqueryは $(セレクタ.操作1().操作2()… って書けるのが醍醐味だからね。
選択できなかったからってnullなどを返すのはまずいわけだな。
0個の選択という状態にしておいて、操作の所ではなにもしないって感じになっている。

.isEmpty()ぐらいあっても良かったかもしれんが…
$.fn.isEmpty = function() {
return this.length <= 0;
};
拡張するならこうか。
99Name_Not_Found:2011/11/18(金) 21:08:56.81 ID:???
querySelectorAllみたいなもんだからあれでいいんだよ
100Name_Not_Found:2011/11/18(金) 22:45:34.55 ID:???
本職、趣味、学生問わず
IDE or エディタって何を使ってます?
101Name_Not_Found:2011/11/18(金) 22:51:51.20 ID:???
Eclipse
102Name_Not_Found:2011/11/18(金) 23:03:06.82 ID:???
Eclipse単体でJavaScriptって対応している?
なんかプラグイン入れている?
103Name_Not_Found:2011/11/18(金) 23:04:07.98 ID:???
多分出てくるであろうものを先に列挙しておく
秀丸、Emeditor、terapad、Vim、Emacs
104Name_Not_Found:2011/11/18(金) 23:04:46.21 ID:Pod0/mvi
BBEDIT
105Name_Not_Found:2011/11/18(金) 23:05:26.95 ID:???
EclipseではWSTから独立したJSDTというパッケージがある
106Name_Not_Found:2011/11/18(金) 23:08:13.79 ID:???
>>102
”素”のEclipseは追加でプラグインがいるはず
mergedocのはどれ選んでも入ってた
107Name_Not_Found:2011/11/18(金) 23:10:27.04 ID:???
単語をしっかり覚えてないからエディタじゃ、開発速度が数十倍遅くなるかもしれんw
108Name_Not_Found:2011/11/18(金) 23:10:54.78 ID:???
最近はNetbeansも使いやすくなってきた
109Name_Not_Found:2011/11/18(金) 23:29:03.61 ID:???
Aptana Studioを使っている
110Name_Not_Found:2011/11/18(金) 23:37:27.38 ID:???
Mery使ってる
111Name_Not_Found:2011/11/18(金) 23:40:20.62 ID:???
echo使ってる
echo '<script type="text/javascript">' >> index.html
112Name_Not_Found:2011/11/18(金) 23:47:00.97 ID:???
notepad.exe使ってる
113Name_Not_Found:2011/11/19(土) 00:24:41.30 ID:???
>>100
学生です。html、css、Javascript、C言語はTeraPadを使い、
phpはPeggy padを使ってます。
TeraPadっていう、テラっていう厨二のような名前がお気に入りです。
114Name_Not_Found:2011/11/19(土) 02:23:18.40 ID:???
JavaScriptってメモリの破棄のタイミングが不明なんだが
どんどん動画のオブジェクト作って上書きしていって大丈夫なのだろうか
115Name_Not_Found:2011/11/19(土) 02:36:49.74 ID:???
vimいないのか・・・
116Name_Not_Found:2011/11/19(土) 04:22:38.60 ID:AOxPpQBL
いないことはないよ
117Name_Not_Found:2011/11/19(土) 04:36:21.01 ID:???
俺はvim使ってるがな
118 忍法帖【Lv=13,xxxPT】 :2011/11/19(土) 04:55:03.87 ID:???
Df
119Name_Not_Found:2011/11/19(土) 08:59:28.74 ID:???
>>114
モダンブラウザならeajax.gc()でGC呼べる
120Name_Not_Found:2011/11/19(土) 09:21:06.57 ID:???
>>119
Firefox,Opera,Google Chrome で "ReferenceError: eajax is not defined" になった
121Name_Not_Found:2011/11/19(土) 10:31:05.12 ID:???
$()関数って何て読むのですか?
$はjQueryと同じ意味なので、jQuery関数ですか?
122Name_Not_Found:2011/11/19(土) 10:40:51.94 ID:???
http://scan.netsecurity.ne.jp/article/img/2011/11/13/27625/93.html
tokuhirom、ma.la?っていう人の話だけ聞きたい
色々なスレで見かけるけどWEB業界で有名らしいね
動画ありませんか?
123Name_Not_Found:2011/11/19(土) 11:22:04.87 ID:???
>>122
質問するスレを間違ってませんか?
124Name_Not_Found:2011/11/19(土) 13:46:24.46 ID:???
>>121
俺は「だらーかんすう」と読んでる。
125Name_Not_Found:2011/11/19(土) 13:48:45.58 ID:???
場合による
126Name_Not_Found:2011/11/19(土) 13:51:34.62 ID:???
document.getElementById("msg").innerHTML =("あああ"++"<br>");
document.getElementById("msg").innerHTML +=("いいい"++"<br>");で
あああ
いいい
と出力されますが、jqueryでは
$("#msg").html("あああ");
$("#msg").html("いいい");とするとあああが上書きされていいいになります。
$("#msg").html+("いいい")とするとエラーが出ます。
どうすればいいのですか?
127Name_Not_Found:2011/11/19(土) 13:56:09.63 ID:???
>>126
その「html+」っていうのはあんたの創作でしょ。
創作を楽しむのならここで質問されてもねえ。
創作でなく真面目にJQuery使うのなら真面目にJQueryのドキュメント
にひととおり目通すべきなんじゃないでしょか。
128Name_Not_Found:2011/11/19(土) 14:00:59.76 ID:???
>>126
その発想はなかったw
こーゆー初心は忘れちゃいかんな
129Name_Not_Found:2011/11/19(土) 14:01:07.07 ID:???
いいこと言うなあ
日本語リファレンスでもいいから見るべきだね
間違っていたり最新じゃないかもしれないけど勝手に想像するよりはいい
130Name_Not_Found:2011/11/19(土) 14:42:07.56 ID:???
>>126
全部(書き換え/取得)したいならhtml
追加したいならappend等色々
詳細はまぬあるみろ
131Name_Not_Found:2011/11/19(土) 14:45:18.73 ID:???
質問者の意思を尊重して
$("#msg").html("あああ");
$("#msg").html($("#msg").html() + "いいい");
こう
$("#msg")はあえて変数に入れない
132Name_Not_Found:2011/11/19(土) 14:54:27.26 ID:???
すいません。一応javascriptの機能だとおもってきいてるんですが
ttp://moe2.homelinux.net/src/201110/20111026143889.png
のように、画像を虫めがねで拡大するやり方がどうしても分かりません。
何を使えば、画像を虫めがねで拡大縮小できるのですか?
133Name_Not_Found:2011/11/19(土) 15:00:17.68 ID:???
>>132
あの・・・画像のURL送られてきても・・・
134Name_Not_Found:2011/11/19(土) 15:17:14.92 ID:???
>>132
あえて見ないで想像だけで書くけど、予め元画像全部を拡大した
ものを用意し、虫めがねに相当する幅と大きさを指定した絶対位置指定
のdivの中に貼る。そしてdivの位置をマウスで移動可能にして、
その位置に応じて内側の画像の位置も調節する。というのでどうかな。
135Name_Not_Found:2011/11/19(土) 15:20:07.23 ID:???
イカ娘の局部アップか…
136Name_Not_Found:2011/11/19(土) 16:00:24.47 ID:???
>>132
「jQuery 虫めがね」でググればたくさん出てくる
137Name_Not_Found:2011/11/19(土) 16:01:45.76 ID:???
>>132
多分それブラウザの機能
138Name_Not_Found:2011/11/19(土) 16:23:24.55 ID:???
>>137
すいません、教えれくれませんか?
普通にimgのタグで貼っただけではあんな虫めがねでないです。

139Name_Not_Found:2011/11/19(土) 16:24:27.81 ID:???
>>138
だから、再現できるURLがあるなら、それ貼れってw
140Name_Not_Found:2011/11/19(土) 16:43:38.96 ID:???
あ、Chromeで大きなサイズの画像を開いたときに
自動調整される機能のことをJSでやってると思ってるのか???
141Name_Not_Found:2011/11/19(土) 16:56:05.35 ID:???
142Name_Not_Found:2011/11/19(土) 17:17:45.67 ID:4LQG8aCS
jqueryでajaxのオプションでJSONPに設定して使うときって
scriptタグを生成するやり方を利用しているのですか?
143Name_Not_Found:2011/11/19(土) 18:25:47.11 ID:o26ve6Ko
var scope = "global";
function checkScope() {
alert(scope); // "global" ではなく undefined
var scope = "local";
alert(scope); // "local"
}
checkScope();

> alert(scope); // "global" ではなく undefined
この部分てさ、ローカル内の変数が優先されてるけど
まだ定義されてないからundefinedになってるん??
144Name_Not_Found:2011/11/19(土) 18:28:45.50 ID:???
>>143
そう。スコープ自体は関数スコープなのでそうなる。
145Name_Not_Found:2011/11/19(土) 18:28:59.94 ID:???
functionの先頭で var scope; してることになっちゃうんだよ。
146Name_Not_Found:2011/11/19(土) 18:45:48.85 ID:???
関数内で使う変数は関数内の最初に宣言しておいたほうがハマらない
ってことですか
147Name_Not_Found:2011/11/19(土) 18:46:23.37 ID:???
https://developer.mozilla.org/en/Core_JavaScript_1.5_Guide/Core_Language_Features#Variable_Scope
ここの Example 2 ね。

この部分は翻訳されてないな。
148Name_Not_Found:2011/11/19(土) 18:48:38.16 ID:BkQrvdka
11月19日18:00ニコ生緊急公式生放送!!!! ひろゆきもゲリラ出演?!
人気生主が4時間大討論緊急生放送!!ゲームから政治まで幅広いジャンルの人気ニコ生主が多数登場!! 

☆出演まきの ウナちゃんマンみずにゃん横山緑 石川典之ひろゆきほか多数!!

ニコ生放送アドレス
http://live.nicovideo.jp/gate/lv71419819
タイトルがまったく変ですが心配しないでください



149Name_Not_Found:2011/11/19(土) 18:52:28.61 ID:???
>>146
関数冒頭で変数宣言すべき、といわれる理由がそれ
一般に巻き上げ(hoisting)と呼ばれる
150Name_Not_Found:2011/11/19(土) 19:00:01.59 ID:???
なるほどありがとう
151Name_Not_Found:2011/11/19(土) 19:03:59.13 ID:???
>>143
var scope = "global";
function checkScope() {
alert(this.scope); // "global"
var scope = "local";
alert(scope); // "local"
}
checkScope();
152Name_Not_Found:2011/11/19(土) 19:07:52.21 ID:???
スコープ調べたいのに、this を付けたら駄目ですの
153Name_Not_Found:2011/11/19(土) 19:14:54.49 ID:???
つか、undefined がかえるよね。
window.scope は undefinedだし。
154Name_Not_Found:2011/11/19(土) 19:23:43.81 ID:???
えっ
155153:2011/11/19(土) 19:36:50.22 ID:???
あ、そか。
jsfiddleにそのまま流しこんでテストしてた。
全部が関数に囲まれてました。
156Name_Not_Found:2011/11/19(土) 20:19:37.13 ID:???
テンプレの関連サイトというかリンク先に
ttp://bonsaiden.github.com/JavaScript-Garden/ja/
これ入れない?
157Name_Not_Found:2011/11/20(日) 05:25:25.67 ID:???
 
158Name_Not_Found:2011/11/20(日) 11:51:41.38 ID:???
159Name_Not_Found:2011/11/20(日) 12:46:39.01 ID:???
>>139
ttp://simapan.info/pics/ikamusume/350905879637.jpg
貼りました。どうやったらこんな拡大縮小が再現できるんですか?
160Name_Not_Found:2011/11/20(日) 12:51:04.79 ID:???
>>159
ただの絵じゃん。
拡大縮小を実現してるURLはよ。
161Name_Not_Found:2011/11/20(日) 12:54:16.93 ID:Icj7ZTcQ
>>132
指定したサイズの要素を作り、sytleのwidth,heightを大きくした画像をそこに置く
んでposiotionで表示する場所を限定して拡大しているように見せる技術
162Name_Not_Found:2011/11/20(日) 12:59:30.31 ID:Icj7ZTcQ
http://bonsaiden.github.com/JavaScript-Garden/ja/#object.prototype
にprototypeの拡張は非推奨みたいなことかいてありますが
変わりにどうかくのがいいのですか?
メンテナンスしやすいようにオブジェクト指向でコードは書きたいです
163Name_Not_Found:2011/11/20(日) 13:37:36.58 ID:???
>>159
ブラウザの機能のことを言ってるなら、F12でCSS見るなりすれば
164Name_Not_Found:2011/11/20(日) 13:46:31.51 ID:???
>>159
確認してるブラウザはなんだ?
結局>>140,163だとおもうけどw
165Name_Not_Found:2011/11/20(日) 14:17:22.10 ID:???
質問です
formのsubmitやdocument.submit()を使うと画面が更新されますが
phpファイルにPOSTしても画面が切り替わらないでちゃんとPOSTされ計算結果が帰ってきたりするのがあります
ああいうのってAjaxやjQuery見たいなのを使った新技術なのでしょうか?

そしてライブラリとか必要なんでしょうか?
使ってみたいのですが、どう検索したらいいのかわからずです
166Name_Not_Found:2011/11/20(日) 14:18:09.49 ID:???
>>162
どこに書いてる?
避けるべきとして書かれてるのは
組み込みされてるオブジェクトを
無闇に拡張するなって事ぐらいだと思うんだけど
167Name_Not_Found:2011/11/20(日) 14:49:12.55 ID:6b7OrAPk
>>166
避けるべきという事は推奨してないという事ではないですか?
168Name_Not_Found:2011/11/20(日) 14:57:29.94 ID:???
こんな風に既存のオブジェクトを拡張すんなってことでしょ。
自分で設計したオブジェクトなら構わんでしょう。

Number.prototype.add = function(n) {
 return this + n;
};

alert((3).add(4));
169Name_Not_Found:2011/11/20(日) 15:13:36.08 ID:???
組み込みオブジェクトの拡張を、どう書き換えるのがスマートかって聞きたいんじゃない もしかして
170Name_Not_Found:2011/11/20(日) 16:10:46.79 ID:???
>>165
Ajaxについて調べろ
171Name_Not_Found:2011/11/20(日) 17:01:20.12 ID:???
pjaxとかなんとかいう奴じゃないのか
172Name_Not_Found:2011/11/20(日) 17:25:37.38 ID:6b7OrAPk
pjaxってどうやるの?
173Name_Not_Found:2011/11/20(日) 17:27:16.56 ID:???
174Name_Not_Found:2011/11/20(日) 17:29:06.02 ID:???
>>170>>173
ありがとうございます!
なんだか夢が広がります!
175Name_Not_Found:2011/11/20(日) 17:36:11.65 ID:???
>>167
組み込みオブジェクト拡張は推奨してない
176Name_Not_Found:2011/11/20(日) 17:36:45.85 ID:b/atPQ9X
<html>
<head>
<title>test</title>
<script type="text/javascript">
function OnInit()
{
document.body.style.cursor = 'crosshair';
}
</script>
</head>
<body onload="OnInit()">
</body>
</html>

bodyのカーソルを変更したいのですが、FireFox8では変わりません。
どうすればよいでしょうか?
ちなみにGoogle Chrome, IE8では変わります。
177Name_Not_Found:2011/11/20(日) 17:42:59.13 ID:???
>>172
pushStateと通常のajaxを組み合わせた物だけど結構取り回しが面倒
178Name_Not_Found:2011/11/20(日) 18:15:28.24 ID:???
本家のpjaxのサンプルサイトを丸コピペしたのにpjaxになりません
これってサーバサイドで何かする必要あるのですか?
179Name_Not_Found:2011/11/20(日) 18:20:40.86 ID:???
データスキームでファイルの生成してるんだけどFireFoxだと動くのにChromeだと約1MB超えると動かんでクラッシュする
何か制約でもあるんでしょうか?
contentにbase64のデータが入ってzipファイルが生成される感じ
location.href='data:application/zip;base64,'+content;
180Name_Not_Found:2011/11/20(日) 19:00:27.00 ID:???
pjax難しすぎ
181Name_Not_Found:2011/11/20(日) 19:02:42.77 ID:???
そういうサイズ制限みたいなのはブラウザ依存でしょ
クッキーとかでもそうだし
182182:2011/11/20(日) 19:09:03.04 ID:???
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Page 1</title>
<script type="text/javascript" src="jquery.1.5.1.js"></script>
<script type="text/javascript" src="jquery.pjax.js"></script>
<script type="text/javascript">
$(function() {
$('a[data-pjax]').pjax();
});
</script>
</head>
<body>
<div id="header"><h1>ヘッダー1</h1></div>
<div id="navi">
<a href="page1.php" data-pjax='#main'>page1</a>
<a href="page2.php" data-pjax='#main'>page2</a>
</div>
<div id="main">あああああああああああああああああああああああ</div>
</body>
</html>
183182:2011/11/20(日) 19:09:27.04 ID:???
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Page 2</title>
<script type="text/javascript" src="jquery.1.5.1.js"></script>
<script type="text/javascript" src="jquery.pjax.js"></script>
<script type="text/javascript">
$(function() {
$('a[data-pjax]').pjax();
});
</script>
</head>
<body>
<div id="header"><h1>ヘッダー2</h1></div>
<div id="navi">
<a href="page1.php" data-pjax='#main'>page1</a>
<a href="page2.php" data-pjax='#main'>page2</a>
</div>
<div id="main">あああああああああああああああああああああああ</div>
</body>
</html>
184182:2011/11/20(日) 19:11:53.89 ID:???
サーバで確認したヘッダは以下の9つです
'Host'
'Connection'
'User-Agent'
'Accept'
'Referer'
'Accept-Encoding'
'Accept-Language'
'Accept-Charset'
'Cookie'

ヘッダに X-PJAX がどうしても含まれません
先生方のお知恵を拝借させていただきどうか私にpjaxを体験させてください
185Name_Not_Found:2011/11/20(日) 19:23:18.93 ID:???
>>179
つか、エラーにならずにクラッシュするんだったら、報告しておいたほうがいいんじゃないか?

ブラクラつくっちゃったか…
186182:2011/11/20(日) 21:25:15.36 ID:???
やっぱpjaxって解答付かないぐらい難しいんですね
素人が手を出すものじゃなかったみたいです
187Name_Not_Found:2011/11/20(日) 21:31:50.25 ID:???
>>186
へぇーpjaxって初めて知った
でも、$.ajaxで十分じゃない?
188Name_Not_Found:2011/11/20(日) 21:42:18.13 ID:???
pjaxって何?と思って調べたら普通に使ってたわ、あれに名称あったのか
189Name_Not_Found:2011/11/20(日) 21:47:46.66 ID:???
見栄春ばっかりwwwwwwwwwwww
190Name_Not_Found:2011/11/20(日) 22:09:47.02 ID:???
もしかして:見栄晴
191Name_Not_Found:2011/11/20(日) 23:16:17.35 ID:???
見栄貼る
192Name_Not_Found:2011/11/21(月) 00:41:17.16 ID:???
location.hrefを書き換える時点でその書き換えたurlにアクセスしてしまうのですが
アクセスしないで書き換える方法はありませんか?
同一ドメインなので
http://ドメイン/から後の部分だけ書き換えられればいいです
193Name_Not_Found:2011/11/21(月) 00:43:37.21 ID:???
>>192
pushState
>>182がなんか失敗してるみたいだけどpjax使ってみれば良い
https://github.com/defunkt/jquery-pjax
194Name_Not_Found:2011/11/21(月) 01:13:19.01 ID:???
レスポンスに <html を含んでると直接飛ぶみたいだぞ
えらいアバウトだなしかしw
      if ( !$.trim(data) || /<html/i.test(data) )
        return window.location = options.url
195Name_Not_Found:2011/11/21(月) 01:13:47.67 ID:???
>>189
hash見てコンテンツの内容変えるだけなのに見栄とか意味わからんね
196Name_Not_Found:2011/11/21(月) 10:45:15.90 ID:cQI1Bvu0
>>188
総称じゃなくて固有名称じゃろ
gitのサイトで使ってたのをプロジェクト化した際の
197182:2011/11/21(月) 11:25:35.66 ID:???
記述自体はあってますか?
198Name_Not_Found:2011/11/21(月) 11:30:50.92 ID:???
あってるとおもう
php側が記述されてないのでどうとも
あとpjaxのバージョン等も記入されてないし
199182:2011/11/21(月) 11:40:39.97 ID:???
至急用意しますのでお待ちください
200182:2011/11/21(月) 11:45:00.77 ID:???
PHPを埋め込んだバージョンです
pjaxとjaqueryはhttp://pjax.heroku.com/で使われているものを保存しました
<?php
$headers = apache_request_headers();
?><html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Page 1</title>
<script type="text/javascript" src="jquery.1.5.1.js"></script>
<script type="text/javascript" src="jquery.pjax.js"></script>
<script type="text/javascript">
$(function() {
$('a[data-pjax]').pjax();
});
</script>
</head>
<body>
<div id="header"><h1>ヘッダー1</h1></div>
<div id="navi">
<a href="page1.php" data-pjax='#main'>page1</a>
<a href="page2.php" data-pjax='#main'>page2</a>
</div>
<div id="main">
<p><?php if ($headers['X-PJAX']) echo 1pageのテキスト'; var_dump($headers); ?></p>
<p>あああああああああああああああああああああああ</p>
</div>
</body>
</html>
201Name_Not_Found:2011/11/21(月) 14:41:17.80 ID:???
<SCRIPT language="JavaScript">
<!--
var MAX_NUM = 5;
var alreadyGet = new Array();
var urls = new Array(MAX_NUM+1);
urls[1] = "http://www.yahoo.co.jp/";
urls[2] = "http://www.infoseek.co.jp/";
urls[3] = "http://my.yahoo.co.jp/";
urls[4] = "http://www.google.co.jp/";
urls[5] = "http://www.goo.ne.jp/":

function getNumber() {
if ( alreadyGet.length >= MAX_NUM ) {
location.href = "http://www.2ch.net/";
return -1;
}
while ( true ) {
num = Math.floor( Math.random() * ( MAX_NUM ) ) + 1;
for ( i = 0; i < alreadyGet.length; i++ ) {
if ( alreadyGet[i] == num ) break;
}
if ( i == alreadyGet.length ) break;
}
location.href = urls[num]
//-->
</SCRIPT>
更新するとランダムかつ順番にURLにジャンプするようにしたいのですが
全くジャンプすることなく固まっています。どのように直せばいいか教えて頂けませんか?
202Name_Not_Found:2011/11/21(月) 14:54:39.15 ID:???
> urls[5] = "http://www.goo.ne.jp/":
の行末の「:」は「;」では?
> function getNumber() {
を閉じる「}」は?「getNumber()」は呼び出してるの?
あと「ランダムかつ順番に」ってどういう動作?
203Name_Not_Found:2011/11/21(月) 14:56:11.35 ID:???
突っ込みどころが多すぎ
204Name_Not_Found:2011/11/21(月) 15:12:45.65 ID:???
>>186
これ単なるjQueryプラグインだからべつに難しい事もないけど
素人さんがそんな急いで飛びつかなきゃならんような機能でもないでしょ
205182:2011/11/21(月) 15:20:39.85 ID:???
>>204
コードを晒したので見ていただけますか?
206Name_Not_Found:2011/11/21(月) 15:33:44.57 ID:???
>>202
レスありがとうございます。
http://oshiete.goo.ne.jp/qa/2196321.html
ここにのっているビンゴゲームのHP番を作ろうとしていたのです。

「ランダムかつ順番に」
重複せずにランダムの順番で表示する動きをイメージしました。

function getNumber() { を閉じることで一応動きはしましたが
最初に開いたページから更新しても変化なしでした。

>>203
仰る通り知識無い状態でコピペでどうにかしようとしたのでは根本的にダメみたいです。
207Name_Not_Found:2011/11/21(月) 15:36:29.96 ID:???
>>205
どんな挙動を期待していて、
どこがどう動かないのか理解をまずしてみようよ
それくらい分からないと、1から教えなきゃいかんコッチの身にもなってくれ
208Name_Not_Found:2011/11/21(月) 15:39:14.03 ID:???
分らないなら黙ってろのパターン発動w
209Name_Not_Found:2011/11/21(月) 16:05:34.51 ID:???
>>194を読んで意味がわからないのなら諦めてくらはい
210Name_Not_Found:2011/11/21(月) 16:32:12.08 ID:???
的外れ
211Name_Not_Found:2011/11/21(月) 16:38:29.39 ID:???
>>205
プラグインだから難しい事もないならお前がコード修正してあげればいいだけ
旗から見ればお主はpjax自体知らなくてただ煽りたいだけにしか見えない
212Name_Not_Found:2011/11/21(月) 16:44:09.87 ID:???
アンカーミス
× >>205
○ >>204宛て
213Name_Not_Found:2011/11/21(月) 17:01:01.92 ID:???
せめてガチな質問者くらいはIDださね?
214Name_Not_Found:2011/11/21(月) 17:30:48.76 ID:???
>>213
それならID出さない質問は冷やかしの可能性もあるから答えなくても良い
という流れになりそうだからだめじゃないかなー
215Name_Not_Found:2011/11/21(月) 17:49:28.32 ID:???
たいていは質の悪い回答?にもなってない一部の人間の態度がこのスレは悪いね
216Name_Not_Found:2011/11/21(月) 17:52:57.92 ID:Edavker4
>>213だけど、このレスは質問者なのか?どれに対してどう言ってんのか?
って分かりづらい時があるからさ

ま、チラ裏に近いな。スレチすまん
217Name_Not_Found:2011/11/21(月) 17:56:04.61 ID:???
Javscriptの質問とはちょっと違うかもしれませんが
海外のFacebookやtwitterは画面更新しないでも処理される便利なものが多いですが
ナゼ日本のmixiとかはそういった機能が無く単純にCGIにPOSTして画面が切り替わるだけのようなサイトが多いのでしょうか?
218Name_Not_Found:2011/11/21(月) 18:12:14.54 ID:???
>>217
PV=広告効果の概念が未だに強いから
219Name_Not_Found:2011/11/21(月) 18:12:36.93 ID:???
IDか名前欄にレス番入れとけばどっちだっていいよ
220Name_Not_Found:2011/11/21(月) 18:22:11.36 ID:???
外部スクリプトが普通にheadに書かれていたらloadイベントで初期化
読み込みが完了したドキュメントでscriptエレメントで追加された場合はすぐに初期化
というような挙動にしたいのですが、window.loadedが分からないため分岐処理ができません
この場合はどのようにするのが通例なのでしょうか?
221Name_Not_Found:2011/11/21(月) 19:22:56.09 ID:???
まずそんな分岐が要らん様に設計するのが先の様な気がする。
222Name_Not_Found:2011/11/21(月) 19:30:33.04 ID:???
var t = setInterval(〜)

現在setIntervalが動作しているか調べる方法はありませんか?
223Name_Not_Found:2011/11/21(月) 19:40:32.51 ID:???
tに値が入ってるんじゃないの
224Name_Not_Found:2011/11/21(月) 20:08:57.99 ID:???
>>211
ゴメンよ
環境もエラーの有無も書いてない
ソース複数個貼ってファイル名は書いてない。>>194の問題に関するコメントもない。
解決までの長そうな道のりに付き合うよりもつい率直な感想が先に出てしまった
225Name_Not_Found:2011/11/21(月) 20:11:18.52 ID:???
>>222
フラグ変数に現在時刻を入れておく
226Name_Not_Found:2011/11/21(月) 20:14:28.06 ID:???
javascriptを複数のファイルに分ける意味がイマイチ納得できません
読み込むときエラーとかが出る可能性が出るのでhtmlにまとめるのがいいのでは?
227Name_Not_Found:2011/11/21(月) 20:15:37.36 ID:???
>>226
アクセス量低減
228Name_Not_Found:2011/11/21(月) 20:54:56.58 ID:???
>>226
キャッシュ
229Name_Not_Found:2011/11/21(月) 20:59:05.81 ID:???
HTMLの見通しが悪くなるし、SEO対策に不利らしい
だからスクリプトは別ファイルにして読み込む方がいい。らしい。
230Name_Not_Found:2011/11/21(月) 21:00:57.09 ID:???
そのページでしか使わないのならページに組み込んだほうがリクエスト数が減らせていいんですよね?
231Name_Not_Found:2011/11/21(月) 21:14:37.38 ID:???
>>230
そんなギリギリの戦いしてるの?
232Name_Not_Found:2011/11/21(月) 21:16:39.37 ID:???
>>224
多分、君は静かにするほうがこのスレとしては助かる
233Name_Not_Found:2011/11/21(月) 21:17:54.82 ID:???
>>230
そうです
234Name_Not_Found:2011/11/21(月) 21:22:40.02 ID:???
>>227>>228
なるほど、そういう問題もあるのですかありがとうです
235Name_Not_Found:2011/11/21(月) 21:57:15.62 ID:???
>>232
┐(´―`;)┌
236Name_Not_Found:2011/11/21(月) 23:28:29.90 ID:N1BE1dD4
var A = function(){
var test1 = "test 1 in A!";
var test2 = "test 2 in A!";
this.test3 = "test3 in A!";
this.echo = function(){alert(test1);}
var B = function(){}
B.prototype.echo = function(){alert(test2);}
this.b = new B();
};

var a = new A();
a.echo();
a.b.echo();

自身の中に関数スコープのような名前空間を持つインスタンスを作成したいです。

上のコードのようにa.echoとa.b.echo()で違う出力が行えるようにして、名前空間を分けることと
クロージャを使って b から a の変数(test1)にもアクセスできるようにすることはできましたが、
bからa.test3を参照するにはどうしたらいいでしょうか?

また、クロージャのためにAの中でBのprototypeを設定していますが、インスタンスの生成毎にB.prototypeができてしまうので
prototypeの意味がなくなってしまいました。
どうしたら動作を変えずにB.prototypeをAの外側に出してprototypeの恩恵が受けられるようになるでしょうか?
237Name_Not_Found:2011/11/21(月) 23:52:16.23 ID:???
>>236
var A = function(){
 var that = this,
    test1 = "test 1 in A!",
    test2 = "test 2 in A!",
    B = function(){};

  that.test3 = "test3 in A!";
  that.echo = function(){console.log(test1);};

B.prototype.echo = function(){console.log(test2);};
B.prototype.echo2 = function(){console.log(that.test3);},
that.b = new B();
};

var a = new A();
a.echo();
a.b.echo();
a.b.echo2();

こんな感じとか?
Bを完全に外に出すのはtest2とかを使いたいのであれば無理。
やるならBの引数をcallback形式にして
クロージャを渡すようにすればある程度はできるだろうけど
どんな事したいのか不明なのでなんとも
238Name_Not_Found:2011/11/22(火) 01:09:17.97 ID:Nzn9IqaH
初めての質問良いですか?
実はこの前掛け算で遊ぶ様なJavaScriptを見よう見まねで作ったんですが
開いてみると

下にスクリプトやアクティブXコントロールを実行しないよう、Internet Explorer
で制限されています!と出るんですが、スクリプトが実行されないんです
どうすれば良いんでしょうか?Windows7です
239Name_Not_Found:2011/11/22(火) 01:13:48.58 ID:???
ブラウザスレに行ってください
240Name_Not_Found:2011/11/22(火) 01:17:08.82 ID:???
スクリプトのブラウザ対応とかはここでも話するが
さすがにそれはブラウザの話やが
241Name_Not_Found:2011/11/22(火) 01:18:46.75 ID:???
>>238
これテンプレに入ってなかったのか
どこかサーバ借りるなり、ローカルでサーバ立てるなりしないと無理だよ
242Name_Not_Found:2011/11/22(火) 01:32:14.35 ID:???
>>241
初心者をからかって遊ぶのは関心しないな。
自分だって通った道だろう。
243Name_Not_Found:2011/11/22(火) 01:39:47.59 ID:???
>>238
オプションで許可するかもしくはFirefox、Chromeを使いましょう
ただしOperaはダメです
244Name_Not_Found:2011/11/22(火) 02:01:46.01 ID:NAKwyuXW
>>243
オプションってどこを開けば良いのですか?
Firefox?Opera?
インターネット繋がらないんですが大丈夫でしょうか…
あいぽんからですみません
245Name_Not_Found:2011/11/22(火) 02:02:23.32 ID:/cDmoAJx
document.write('
<link rel="alternate stylesheet" type="text\/css" href="style\/alternate1.css" title="alt1">
<link rel="alternate stylesheet" type="text\/css" href="style\/alternate2.css" title="alt2">
<script src="js\/jquery.min.js"><\/script>
<script src="js\/stylesheetToggle.js"><\/script>
<script>
$(function(){
$.stylesheetInit();$("#toggler").bind("click", function(e){$.stylesheetToggle();return false;});
$(".styleswitch").bind("click", function(e){$.stylesheetSwitch(this.getAttribute("rel"));
return false;
});});
</script>
');

ttp://www.kelvinluck.com/assets/jquery/styleswitch/toggle.htmlにある
スクリプトなのですが、内容を直接描くとFF8,Chorome15,IE9の各最新版で
問題なく動作するものの、上記の(改行除く)外部ファイルを読ませるとIEのみ
動作しません。どんなミスをしているのでしょうか?
246Name_Not_Found:2011/11/22(火) 02:08:30.23 ID:???
説明がおかしい所があるので追記させていただきます。

改行や\を除いた上記内容をHTMLファイルのhead部分に直接書くと
動作するのですが、外部ファイルにして<script src="js\/***.js">
<\/script>のように読み込ませると動作してくれません。
247Name_Not_Found:2011/11/22(火) 02:10:09.11 ID:???
>>244
ツール > インターネットオプション > セキュリティのとこ
iphoneでfirefoxダウンロードしてPCに移せばもっと簡単
http://downloads.sourceforge.net/portableapps/FirefoxPortable_8.0_Japanese.paf.exe?download
Operaはダメです
248236:2011/11/22(火) 02:31:35.93 ID:IysEicJt
>>237
やっぱりBを外に出すのは無理ですか…

やりたいこととしてはMVPパターンを使うために、
インスタンスごとにModel,View,Presentorにあたるメソッド・プロパティを持つインスタンスを作ろうと思ってました。
>>236のコードで言えばBがModelまたはViewまたはPresentorにあたり、それらをAでラップするという感じです。

非同期でデータを書き込み・読み込みを行なう掲示板的なものを作るとしたら
掲示板書き込み部分…@
掲示板データ読み込み部分…A
とインスタンスは2つになるように範囲を分けて
@、Aでの共通部(掲示板書き込み時または読み込み時のDB接続部)などをModel(B.prototype)にいれて
コード量、というかメモリ量を少なく済ませたかったのです。

backbone.jsとかのフレームワーク使えばもっとうまくできるだろうという話なんですが、
自分で一からこういう設計してみたかったのです。jsの設計は難しい…
249Name_Not_Found:2011/11/22(火) 05:50:28.94 ID:???
JSで、現在のディレクトリパスを取得する(現在のURLからファイル名を消去する)処理を書くには
どのようなコードが最適でしょうか?

URL取得→最後のスラッシュで分割→最後のスラッシュ以前を取得
というふうに考えましたが、最後のスラッシュで分割するのがJSでは面倒くさそうな感じに思いました。
250182:2011/11/22(火) 11:21:15.33 ID:???
動かなかった理由が分かったので締めます
251Name_Not_Found:2011/11/22(火) 12:19:36.30 ID:???
>>249
そのアルゴリズムならsplitで分割してpopしてからjoinで戻せばいいんじゃないかな
別の方法としては正規表現で置換する、lastIndexOf と slice の合わせ技
252Name_Not_Found:2011/11/22(火) 12:37:57.55 ID:???
>>250
どんな理由だったの?
253Name_Not_Found:2011/11/22(火) 12:51:18.99 ID:???
>>250
そうだな。礼儀として理由は言ったほうがいいと思うぞ。
調べてくれた人も少なからずいるだろうし
254182:2011/11/22(火) 13:03:23.63 ID:???
X-PJAXを送信できるように修正しただけです
255182:2011/11/22(火) 13:04:12.40 ID:???
ただ、実際に自分が晒したコードでは動きませんでしたが他の方の環境では動いたのかどうかの情報が欲しかったです
256Name_Not_Found:2011/11/22(火) 14:36:48.63 ID:???
JavaScriptの変数には,参照と実体の2種類がありますが
それを説明する短いサンプルコードってどこかにありませんか?
257Name_Not_Found:2011/11/22(火) 16:05:36.46 ID:???
参照と実体の2種類・・・
そうでしたっけ?
258Name_Not_Found:2011/11/22(火) 16:37:48.15 ID:???
はい
259Name_Not_Found:2011/11/22(火) 17:02:23.64 ID:???
基本型とオブジェクトがあって、
オブジェクトは複数の変数から参照されるっていう話?
260 忍法帖【Lv=1,xxxP】 :2011/11/22(火) 17:11:48.81 ID:???
test
261Name_Not_Found:2011/11/22(火) 17:25:37.82 ID:???
>>248
やろうと思えばできる
prototypeをクラスだと思うな
262Name_Not_Found:2011/11/22(火) 17:37:46.67 ID:???
レベルが低いバカしかいないなここ
263Name_Not_Found:2011/11/22(火) 17:43:27.52 ID:???
>>248はVisitorパタンみたいのにすればいいが
>>262を含め助言できる奴はいないだろうな
264Name_Not_Found:2011/11/22(火) 17:58:44.28 ID:???
>>256
MDNにある

s1 = "2 + 2"; // String プリミティブを生成します
s2 = new String("2 + 2"); // String オブジェクトを生成します
eval(s1); // 数字の 4 を返します
eval(s2); // 文字列の "2 + 2" を返します
eval(s2.valueOf()); // 数字の 4 を返します

こんなのでいいのかな?
まあ、console.dir() してみりゃ違いはわかるとおもうけど。
265Name_Not_Found:2011/11/22(火) 18:06:19.20 ID:???
jqueryと他のライブラリを共存させるときに
(function( $ ){ 〜 })( jQuery )
という風に書きますけど
このコードの意味を教えてください
266Name_Not_Found:2011/11/22(火) 18:34:04.74 ID:???
267248:2011/11/22(火) 18:38:04.52 ID:IysEicJt
>>261
未だprototypeの使いどころというのがいまいち分からず
どうやってもクラス的な使い方になってしまいます…
JSwayというかprototypeを生かした書き方だとどうやったら可能でしょうか?
268Name_Not_Found:2011/11/22(火) 19:07:32.50 ID:G2N3ehIY
<ul id="ul">
  <li><div><span>foo</span></div></li>
  <li><div><span>bar</span></div></li>
  <!--liが続く-->
</ul>
<script>
var ul = document.getElementById("ul");
ul.addEventListener("mouseout", function(event) {
  if (event.target.toLowerCase() === "li") {
    //li要素(event.target)に対して何らかの処理
  }
}, false);
</script>

みたいなことをしているのですが、
<li>と<div>や<span>の間に隙間がないとき?に
<li>でmouseoutイベントが発生しません
そういうときでもその<div>や<span>の親や祖先の<li>を得るにはどうすればいいですか?

function(event) {
  var target = event.target;
  var li = target.toLowerCase() === "li" ? target :
           target.toLowerCase() === "div" && target.parentNode.toLowerCase() === "li" ? target.parentNode :
           target.toLowerCase() === "span" && target.parentNode.parentNode.toLowerCase() === "li" ? target.parentNode.parentNode :
           null;
  if (li) {
    //li要素に対して何らかの処理
  }
}

みたいな感じしか思いつきませんでした。普通はどうするものなんでしょうか
269Name_Not_Found:2011/11/22(火) 19:43:57.73 ID:???
>>267
識別子名やら結果出力方法やら変えちゃいましたが
こんな感じでどうでしょうか
コード http://jsbin.com/ikaluf/edit
結果 http://jsbin.com/ikaluf

コード中の (function () { で始まって })(); で終わる匿名関数は
スコープ作ってグローバルから隠すためだけにあるので
その2行は一旦無視して読んでもらった方が良いかもですね

270Name_Not_Found:2011/11/22(火) 20:00:04.23 ID:???
>>267
Model.prototype.doSomething = function (controller) {
 return controller.doSomething(this);
};

Controller.prototype.doSomething = function (model) {
 ....;
};
271Name_Not_Found:2011/11/22(火) 20:12:15.76 ID:???
>>268
if (
  ! event.relatedTarget ||
  ! event.relatedTarget.isSameNode(event.currentTarget) &&
    (0 === event.relatedTarget.compareDocumentPosition(event.currentTarget)
        & Node.DOCUMENT_POSITION_CONTAINS)
  )

DOM HTMLでタグ名は大文字で返ると決まっている
XHTMLを捨てる道を選んだのだから無駄なことはするな
272Name_Not_Found:2011/11/22(火) 20:23:05.03 ID:???
言い忘れたが、IEのcontainsがDOM4に入ってるから使ってもいい
isSameNodeを含むので注意

! event.currentTarget.contains(event.relatedTarget)
273268:2011/11/22(火) 20:41:12.58 ID:???
>>271
それが普通のやり方なんですね
試してみます
274Name_Not_Found:2011/11/22(火) 21:23:10.85 ID:???
>>251
ありがとうございます。
こんなふうに書いてみました。

var url = 'http://example.com/foo/bar/hoge.html';

// 1
arr1 = url.split('/');
arr1.pop();
print(arr1.join('/'));

// 2
arr2 = url.split('/');
print(arr2.slice(0,arr2.length-1).join('/'));

更に質問です。以下のようにすると一行にできそうな感じがするんですが、
メソッドチェーンの途中で、自分自身の length を取得する部分をどうかけばいいのかわかりません。
どなたかご教示お願いします。

str3 = url.split('/').slice(0, (???this???).length-1).join('/');
print(str3);
275274:2011/11/22(火) 21:32:18.67 ID:???
lastIndexOfを調べてみたら、これでいけました。これが最短ですかね。

print(url.slice(0, url.lastIndexOf('/')));

コードはこれで満足ですが、よかったら>>274の質問の回答も知りたいです。
276Name_Not_Found:2011/11/22(火) 21:41:40.17 ID:???
負の数使えばいいんじゃね
277Name_Not_Found:2011/11/22(火) 21:46:01.72 ID:???
フラグメントついてたら狂うんじゃない
278Name_Not_Found:2011/11/22(火) 22:02:43.35 ID:???
>>274
url = url.replace(/[^/]+$/, '');

>自分自身の length を取得する
ないですね。多分。
まあ仮に this.length とか書けても 変数.length とするのとさして変わらんよね
279Name_Not_Found:2011/11/22(火) 22:13:57.20 ID:???
Javascriptにおいて、「プロトタイプ」というとJSの言語仕様の
プロトタイプのことを指すのでしょうか?
それとも、Prototype.jsのライブラリのことを指すのですか?
この2つはどんな言い方で区別されているのでしょうか?
280248:2011/11/22(火) 22:59:49.38 ID:IysEicJt
>>269
丁寧にコメントで解説まで付けていただいてありがとうございます。
やっぱりparentみたいな感じで明示的にAへの参照持たないとAのプロパティ読むのは無理そうですね
this.b.getX = this.getX;
のような柔軟な部分はjsらしい…のかな?

>>279
prototype.jsのことを「プロトタイプ」と呼ぶ人やブログなんかは見たことがないですね。
281Name_Not_Found:2011/11/23(水) 00:03:17.68 ID:???
Prototypeか
prototype.jsとしか呼ばれないね
282Name_Not_Found:2011/11/23(水) 00:10:22.62 ID:???
東京の東村山と武蔵村山があるのに村山と略すみたいなものか
283Name_Not_Found:2011/11/23(水) 00:46:06.14 ID:???
誰がこんなクソ紛らわしい名前付けたんだ
284Name_Not_Found:2011/11/23(水) 00:52:45.18 ID:???
おれのじっちゃ
285Name_Not_Found:2011/11/23(水) 00:53:48.91 ID:???
リアル会話ではやっぱプロトタイプ・ジェーエスとか呼ぶん?
286Name_Not_Found:2011/11/23(水) 00:56:03.73 ID:???
prototype.jsはprototypeを拡張しまくるからだと思ってる
287279:2011/11/23(水) 01:04:28.90 ID:???
なんか本を読んでもあいまいなので、
言語仕様の方のプロトタイプ、ライブラリのプロトタイプと
勝手に読んでました。
JSではプロトタイプと言うと普通は言語仕様のことをさすのですか。
Prototype.jsでできることってjQueryで全部できるのですか?
288Name_Not_Found:2011/11/23(水) 01:08:59.83 ID:4OGACBsP
>>282
やっぱprototype.jsはRailsと一緒に使わにゃ
289Name_Not_Found:2011/11/23(水) 01:10:15.24 ID:4OGACBsP
あ、なんか変なアンカ入ってもた
290Name_Not_Found:2011/11/23(水) 01:22:38.02 ID:???
>>282
武蔵小杉・武蔵新田・武蔵小山・西小山と一緒か
291Name_Not_Found:2011/11/23(水) 02:19:44.14 ID:VeLXelri
質問です…
JavaScriptでどんなものが作れる様になるんでしょうか?
それと、JavaScriptはどんなところで使われているんでしょうか?
292Name_Not_Found:2011/11/23(水) 02:22:06.27 ID:???
>>282
どっちかと言えばJavaScriptをJavaって略すみたいなもんやない
293279:2011/11/23(水) 02:50:59.15 ID:???
>>291
作れるモノは
1.スライド式のメニュー
2.一人対戦オセロゲーム
3.Ajax
4.C言語でやるような数値計算もできる。
フィボナッチ数列求めたり、行列の計算とか。
5.Javascriptはリッチなインターフェースだから、
まぁ、webサイトの装飾だな。

具体例の有名なとこは、
JavascriptはAjaxとして、グーグルマップに
使われてる。グーグルマップはAjax+サーバーサイド
プログラムで組まれてる。
294Name_Not_Found:2011/11/23(水) 02:57:07.29 ID:???
>>291
こんな感じのサイト作ってみたいなぁって思ったら、
それを実現してくれるツール。思ったことの大半は可能だ。
295Name_Not_Found:2011/11/23(水) 03:02:33.04 ID:???
メモリーリークについて教えてください
innerHTMLで追加した要素にattachEventなどでイベントリスナーを付け、再びinnerHTMLで上書き(更新)した場合
メモリーリークしてしまうのでしょうか?

また、よくある
if(document.addEventListener) {
var addEvent = function(node,type,handler) {
node.addEventListener(type,handler,false);
} else {
var addEvent = function(node,type,handler) {
node.attachEvent('on' + type, function(evt){
handler.call(node, evt);
}
}
のようなクロスブラウザ対応のイベントリスナー追加関数はリークパターンでしょうか?
296Name_Not_Found:2011/11/23(水) 03:25:11.50 ID:???
カンマ演算子って何のために存在するの?
297Name_Not_Found:2011/11/23(水) 04:07:39.12 ID:???
関数の引数を区切るため
298Name_Not_Found:2011/11/23(水) 04:09:42.56 ID:???
それはカンマ演算子じゃないだろ
299Name_Not_Found:2011/11/23(水) 04:26:20.07 ID:???
forの中で区切るため
300Name_Not_Found:2011/11/23(水) 04:26:34.89 ID:???
>>295
・する、割と最悪のパタン
・です、使うな
301Name_Not_Found:2011/11/23(水) 04:33:03.36 ID:???
c=0; if (なんか条件) c+=1;
とあるソースコードで上記のコードを見かけたんだけど
これってc=0;の代入じゃなくてc+=1;の加算代入にしてる意味って何かあるの?
302Name_Not_Found:2011/11/23(水) 04:34:25.58 ID:???
上記は誤記した、下記に質問書き直す

c=0; if (なんか条件) c+=1;
とあるソースコードで上記のコードを見かけたんだけど
これってc=1;の代入じゃなくてc+=1;の加算代入にしてる意味って何かあるの?
303Name_Not_Found:2011/11/23(水) 04:38:15.73 ID:???
if文で{}括弧使わずカンマで区切って使ったりすると文字数が減る
if (a==b) {a=10; b=20; c=30;}
if (a==b) a=10, b=20, c=30;
304Name_Not_Found:2011/11/23(水) 04:46:02.88 ID:???
>>302
意味ないね
305Name_Not_Found:2011/11/23(水) 04:47:13.13 ID:???
>>303
な、なるほどこんな使い方が
306Name_Not_Found:2011/11/23(水) 04:51:09.58 ID:???
>>300
やはりリークするのですね、ありがとう
そこで疑問ですが、大きなアプリケーションなどを作る方はどのようにイベントリスナーの追加や削除をしているのですか?
追加するときにいちいちdocument.addEventListener ? ~ : ~;などとやっているのでしょうか
それとも関数を使って必ずdetach/removeするという形にしているのでしょうか
307Name_Not_Found:2011/11/23(水) 04:55:08.61 ID:???
>>304
ありがとうございました
特に意味ないのですね
意図のわからないコードを書く人のコードを読むのは疲れます
308Name_Not_Found:2011/11/23(水) 04:57:58.05 ID:???
通常の式内に混ぜてしまうとか
b = 1, c = 2, g = 3;
a = b + c + (d = 10, e = 12, f = 13) + g; // a = 19
309Name_Not_Found:2011/11/23(水) 05:04:55.49 ID:???
意図不明の具体例っすか
310Name_Not_Found:2011/11/23(水) 05:07:57.36 ID:???
var a = 0;
var b = 0;

var a = 0, b = 0;
と書いてコードがババァにならないようにするとか。
311Name_Not_Found:2011/11/23(水) 05:08:28.42 ID:???
いっそif文やwhile文の条件式に使ってみたり
if (a = 1, b = 2, a != b) alert('baka');
312Name_Not_Found:2011/11/23(水) 05:10:41.81 ID:???
>>307
こんな風に並んでたとして
処理順が変わった時にそのまま貼り付けできるようにしてるとかゆー事もあるよ
c=0;
if (なんか条件1) c+=1;
if (なんか条件2) c+=1;
if (なんか条件3) c+=1;
313Name_Not_Found:2011/11/23(水) 05:13:31.33 ID:???
>>310それカンマ演算子ちゃう

function hoge() { alert('hoge'); }

if (a = 1, hoge(), a != b) alert('baka'); //hogeる

var b=1, hoge(); //エラー
314Name_Not_Found:2011/11/23(水) 05:18:00.52 ID:???
>>307
ttp://tenhou.net/2/agari1001.js
具体的にはこれのコードなんですけど
こんな感じでコピペのためとは思えなくって
isMentsu:function(m){
var a=(m&7), b=0, c=0;
if (a==1 || a==4) b=c=1; else if (a==2) b=c=2;
m>>=3, a=(m&7)-b;if (a<0) return false;b=c, c=0;if (a==1 || a==4) b+=1, c+=1; else if (a==2) b+=2, c+=2;
m>>=3, a=(m&7)-b;if (a<0) return false;b=c, c=0;if (a==1 || a==4) b+=1, c+=1; else if (a==2) b+=2, c+=2;
m>>=3, a=(m&7)-b;if (a<0) return false;b=c, c=0;if (a==1 || a==4) b+=1, c+=1; else if (a==2) b+=2, c+=2;
m>>=3, a=(m&7)-b;if (a<0) return false;b=c, c=0;if (a==1 || a==4) b+=1, c+=1; else if (a==2) b+=2, c+=2;
m>>=3, a=(m&7)-b;if (a<0) return false;b=c, c=0;if (a==1 || a==4) b+=1, c+=1; else if (a==2) b+=2, c+=2;
m>>=3, a=(m&7)-b;if (a<0) return false;b=c, c=0;if (a==1 || a==4) b+=1, c+=1; else if (a==2) b+=2, c+=2;
m>>=3, a=(m&7)-b;if (a!=0 && a!=3) return false;
m>>=3, a=(m&7)-c;
return a==0 || a==3;
},
315Name_Not_Found:2011/11/23(水) 05:18:53.77 ID:???
上記はまた誤記、>>307と自分に安価してしまいました>>312さんへのレスです
316Name_Not_Found:2011/11/23(水) 05:29:25.27 ID:???
単に+=2とは違って+=1のところは1を足すというメッセージじゃん。
317Name_Not_Found:2011/11/23(水) 05:33:49.06 ID:???
>>314
可読性のために、宣言時に
その変数が使用する予定の型で初期化するというのは割と僕もやります
318Name_Not_Found:2011/11/23(水) 05:38:28.38 ID:???
b=c, c=0;if (a==1 || a==4) b+=1, c+=1; else if (a==2) b+=2, c+=2;

b=c, c=0;if (a==1 || a==4) b+=1, c=1; else if (a==2) b+=2, c=2;
つまり人がコードを読む上で上記の2つでは何か意味が違うってことですか?
319Name_Not_Found:2011/11/23(水) 05:40:29.43 ID:???
質問を間違えました、意味の違いは何だと思われますか?
320Name_Not_Found:2011/11/23(水) 05:43:45.78 ID:???
>>317
加算代入じゃなくただの代入文だと数値じゃなく文字列として初期化されるってことなのでしょうか?
321Name_Not_Found:2011/11/23(水) 05:45:01.18 ID:???
>>318
あ、そこで0を代入してたのかw
すいません>>317は忘れてください
322Name_Not_Found:2011/11/23(水) 05:45:22.21 ID:???
実行結果に変わりがあるわけじゃないんだし好きに書けばいいじゃないか
こんなくだらないことに拘って質問しまくんなよ
323Name_Not_Found:2011/11/23(水) 05:50:04.82 ID:???
ここm>>=3, a=(m&7)-b;やここb=c, c=0;をセミコロンじゃなくカンマで区切ってる意図もわからんな
324Name_Not_Found:2011/11/23(水) 05:52:06.92 ID:???
馬鹿ばっかり
325Name_Not_Found:2011/11/23(水) 05:53:23.97 ID:???
ルリルリたん
326Name_Not_Found:2011/11/23(水) 06:03:44.99 ID:???
実は裏技でね
a = 1; b = 1; よりも a = 1, b = 1; にしたほうが処理速度が少し向上するの
実は裏技でね
a = 0; a = 1; よりも a = 0; a += 1; のほうが処理速度が少し向上するの
327Name_Not_Found:2011/11/23(水) 06:19:01.42 ID:c41B2jVJ
ただの代入にするとメモリの再割り当てが生じるだろ
328Name_Not_Found:2011/11/23(水) 06:24:34.48 ID:c41B2jVJ
コンマだと次は必ず式が来るがセミコロンだと次が式とは限らんだろ
コード解析処理に違いがあるだろ
329Name_Not_Found:2011/11/23(水) 06:34:18.39 ID:c41B2jVJ
314はfor使わずに同じコードわざわざ羅列してんのは速度重視してんの一目で分かるだろ
330Name_Not_Found:2011/11/23(水) 09:32:40.12 ID:???
ここできくのがいいのかわからないけど質問します。
ブログの最新記事のみに広告表示させたいんですが、
javascriptでできます?
331Name_Not_Found:2011/11/23(水) 09:43:00.19 ID:???
>>330
できます。
332think49 ◆bKk/qcAKuM :2011/11/23(水) 10:36:58.70 ID:???
>>395,306
原始的な addEvent なら
https://gist.github.com/758906/db5cd03c967c368a50d095854850fb16cf9f95b3
this 値を書き換えたいなら、window unload 時に detachEvent してください。
https://gist.github.com/758906/0e1047fea1f2bf4781811cc3e6d281196448b597
this 値に手を出すなら event まで書き換えておけば面倒がなくて良いと思います。
333Name_Not_Found:2011/11/23(水) 12:00:52.83 ID:???
次スレのテンプレにこれもいれて
http://cou929.nu/data/google_javascript_style_guide/
334Name_Not_Found:2011/11/23(水) 14:07:00.91 ID:???
>>306
コンテキスト共有の必要がない単発イベントならバブリングを使ってdocumentで監視しろ
コンテキスト共有の必要があるならthisにそれを持たせろ
それだけで循環参照はほぼ防げる

コンテキスト共有の必要があり、かつIEを考慮するなら最後にdetachEventしろ
XHRならonreadystatechangeにnullでも突っ込め

クロージャーを使うな
eventとthisだけで必要なものを受け渡せるようにしろ
335Name_Not_Found:2011/11/23(水) 14:24:40.06 ID:???
オブジェクト指向の書き方を教えてください
PHPでいう以下の書き方をprototypeを使わない方法でjavascriptで書くとどう書けますか?

class A
{
private $string;

function _construct($arg)
{
$this->string = $arg;
}

public function echo()
{
return $this->string;
}

public function view()
{
return $this->hidden();
}

private function hidden()
{
return "秘密のあっこちゃん";
}

}

$obj = new A("文字列");
print $obj->echo();
print $obj->view();
336Name_Not_Found:2011/11/23(水) 14:50:58.13 ID:???
337Name_Not_Found:2011/11/23(水) 14:56:39.91 ID:???
>>334
> XHRならonreadystatechangeにnullでも突っ込め
これは回避できないパターンだったような
338Name_Not_Found:2011/11/23(水) 15:21:05.31 ID:???
>>337
すまんnew Functionを突っ込めだな
COM由来のは型が一致しないと代入できんから
339Name_Not_Found:2011/11/23(水) 15:21:25.22 ID:???
>>336
それstringがpublicになってる
http://ideone.com/Pe7ar
340Name_Not_Found:2011/11/23(水) 15:26:53.56 ID:???
>>336
>>339
神乙
341Name_Not_Found:2011/11/23(水) 15:30:46.12 ID:???
>>332,334
ありがとうございます
>>332
やはりクロージャを使わないaddEventでthisやeventオブジェクトの違いを関数内で吸収するか
detachEventをするために無名関数は使わず、unloadですべてdettachEventする仕組みを組まなければならないようですね
>>334
なるほど、上書きしたり削除しない親要素で監視するというのは盲点でした そうします
>コンテキスト共有の必要があるならthisにそれを持たせろ
これがよくわからないのですが、古いIEではthis = event.srcElementみたいに書くということでしょうか?
342Name_Not_Found:2011/11/23(水) 16:20:24.62 ID:qmZXtpYg
イベントハンドラとかリークの話が出ているので便乗して…
http://d.hatena.ne.jp/lesamoureuses/20080416/1208325055
この記事、というかここの過去スレで、メモリリークについての議論がされていますが

function test() {
var elt = document.getElementById('i0');
elt.src = 't2.png';
elt.onclick = function() { location.href = 't2.html'; }
}

このコードってどこが循環参照になっているのかがわかりません。
testのスコープがelmへの参照を保持しているのは分かりますが、
elt.onclickはtestスコープ内の変数を特に参照しているわけでもないので、循環参照にはならないんじゃないのかと思いました。

例えば
function test() {
var elt = document.getElementById('i0');
var link = "t2.html";
elt.onclick = function() { location.href = link; }
}
などとすれば、elt.onclickはlinkという変数のせいでクロージャによってtestスコープを参照し、
testスコープはeltを参照し、eltのプロパティであるelt.onclickはtestスコープを参照し…という感じで
循環参照が起こっているというのがわかるのですが…

そもそも僕が循環参照とクロージャというのがどういうものなのかを勘違いしているのでしょうか?
343Name_Not_Found:2011/11/23(水) 17:28:53.58 ID:???
> function() { location.href = 't2.html'; }

この関数式が評価されスコープチェーンが形成されるとき
実行中の関数(test)が持つスコープチェーンが渡され加えられる。これがクロージャね。

循環参照となるオブジェクトはスコープチェーンの中ってことですよ。
344Name_Not_Found:2011/11/23(水) 17:46:46.65 ID:???
>>341
var listener = {
  draggable: false,
  handleEvent: function(e) {
    switch (e.type) {
    case 'mousedown': this.dragging = true; return;
    case 'mousemove': ...; return;
    case 'mouseup': this.dragging = false; return;
    }
  }
};
document.addEventListener('mousedown', listener);
document.addEventListener('mousemove', listener);
document.addEventListener('mouseup', listener);

Netscapeのversion.6からこう書けた
Safariはversion 3、Operaは忘れたが、DOM4に入った(第三引数の省略も)

コールバックに渡す任意の「引数」としてthisを使えばスコープ依存を断ち切れる
thisの使い方を知らない「らいぶらり」があまりに多すぎる
345Name_Not_Found:2011/11/23(水) 18:38:42.74 ID:???
>>326-329
嘘を書かないでいただきたい
困ります
346Name_Not_Found:2011/11/23(水) 18:49:24.45 ID:???
a = 1;
b = 1;
っていうのは
a = 1, b = 1;て書けるの知りませんでした

a = b = 1;っていう書き方はだめですか?
347Name_Not_Found:2011/11/23(水) 18:52:49.35 ID:???
意味変わらなくね?
348Name_Not_Found:2011/11/23(水) 18:55:27.27 ID:???
>>346
それは両方1だから
a = b = 1
ってできるけど
aが1でbが2の場合どうするのよ
それにObjectだと両方同期しちゃうよ

あと
a = b = 1
だとbはグローバルにおかれるよ
(function () { var a = b = 1; console.log("a" in window,"b" in window)})()
false true
という結果になる
349Name_Not_Found:2011/11/23(水) 19:21:07.32 ID:???
>>348
> aが1でbが2の場合どうするのよ

a=(b=2,1)
350Name_Not_Found:2011/11/23(水) 19:30:45.94 ID:???
a = b = 1;
var a = b = 1;

それと、これは全く意味が異なるから、並列に語れない。
前者は代入式、値が返る。
後者は (変数 a の) 変数宣言、値は返らない。
351Name_Not_Found:2011/11/23(水) 21:21:41.11 ID:???
>>348
var a = b = 1;てやってもbってグローバルになりますか?
352Name_Not_Found:2011/11/23(水) 21:23:39.45 ID:???
サンプルコードまで貼ってくれてるやん
353342:2011/11/23(水) 22:01:03.55 ID:qmZXtpYg
>>343
var linkをelt.onclickの中から参照するように
変数スコープをまたがって参照を行ったときに、クロージャが形成されると思ってました…

function test(){
var eventSource = document.getElementById("btn");
var actionTarget = document.getElementById("divElm");
eventSource.addEventListener("click", function(){actionTarget.innerHTML=""}, false}
}
楽だからという理由でよく以下のようなコードを書いてましたが、
これもaddEventListenerの実行時にイベントハンドラの無名関数が評価されてtestがスコープチェーンに加えられて、
そのtestの中でさらにeventSourceへの参照が起きて…と循環参照になってGCされなくなるのですね…


イベントに関して>>334
コンテキスト共有の必要ない場合はdocumentで監視しろって言われてるのはどうしてなんでしょうか?
コンテキスト共有の必要がないのなら、循環参照の危険もないし周りくどい方法を使わなくてもいいのでは…

またコンテキスト共有の必要ある場合はthisのみでっていうのは
上のコードで言えば、イベントハンドラ内でactionTargetを参照せずにevent.srcElement.nextSiblingとかで
actionTargetを参照できるようにhtmlを作っておいて、そのように参照しろということでしょうか?
354Name_Not_Found:2011/11/23(水) 22:02:40.00 ID:???
よくJavascriptでオブジェクトっていう話題を聞くようになったんですが
この言語にはクラスと言う物はないって聞いたのですがそれらの書き方を覚えたいのですがなんていう名前で検索したらよいでしょうか?
355Name_Not_Found:2011/11/23(水) 22:05:59.47 ID:???
コンストラクタ
プロトタイプ
356Name_Not_Found:2011/11/23(水) 22:52:17.18 ID:???
ブラウザゲーで通信対戦とかはAjaxで可能ですか?
357Name_Not_Found:2011/11/23(水) 23:57:45.38 ID:JfSJyOhH
通信対戦だと無理
358Name_Not_Found:2011/11/24(木) 00:07:31.89 ID:???
phpやcgiをかませば可能じゃね?リアルタイムじゃなくなるけど
359Name_Not_Found:2011/11/24(木) 00:13:32.74 ID:???
node.jsでやれよそういうの
360Name_Not_Found:2011/11/24(木) 00:14:53.55 ID:???
JavaScriptで通信対戦は可能。
WebSocketもあるし、XHRだってロングポーリング等を使えばいける。
P2Pでの対戦も場合によっては可能になるかもしれない。
361Name_Not_Found:2011/11/24(木) 00:41:09.27 ID:???
node.jsってどこの無料HPでも使えるの?
362Name_Not_Found:2011/11/24(木) 01:21:16.58 ID:???
ggrks
363Name_Not_Found:2011/11/24(木) 02:06:20.58 ID:???
JSLintでインクリメント/デクリメント演算子はダメよ扱いになってるけど
理由教えてください
364Name_Not_Found:2011/11/24(木) 02:20:06.20 ID:???
前スレで「変数と関数に使う名前」の話が出てましたが、
確かに$など使ってPHPっぽく変数を作ることは可能ですが、
予約後を除いた、アルファベットとアンダーバーと数字で作成
するのが推奨とJavascriptの本に載ってましたが、皆さんは名前を
どのように作ってますか?
365Name_Not_Found:2011/11/24(木) 02:20:58.84 ID:???
イベントリスナーを削除しないことでリークになるのは循環参照が発生していて自動でメモリーが解放されないからで
循環参照が発生していなければ、イベントリスナーを付けたエレメントをinnerHTMLなどで上書きしても
メモリーリークは発生しないという認識でいいのでしょうか?
366Name_Not_Found:2011/11/24(木) 02:30:34.31 ID:???
>>364
会社や個人やプロダクトごとに様々な書式があるから
コーディングルール、命名規則とかでググってみるといいよ。
JSの場合はアンダーバーを使わずにローワーキャメルケースで書くひとが多いと思う。
367Name_Not_Found:2011/11/24(木) 09:20:29.15 ID:???
JavaScriptP2PのAPIは確か今策定中だろ
俺はそういった機能はまずWindows8ネイティブアプリ上で使われて普及して認められれば
ブラウザ上にも早急に実装されるんじゃないかと思ってる
368Name_Not_Found:2011/11/24(木) 11:05:23.96 ID:???
今時、循環参照程度でメモリリークするようなブラウザはないよ
Gmail、TwitterやFacebookみたいにずっと同じページを表示するような設計ならメモリの開放に気を使うべきだが、
普通にページ遷移するなら循環参照自体は何も問題ない
369Name_Not_Found:2011/11/24(木) 14:03:10.69 ID:???
「循環参照程度」という認識がバカだ
異実装間のGC問題はそれだけで本が何冊も書ける大問題で
それを小さな形で何とか封じ込めてんのが今のブラウザ
だからひょんなことで噴き出す
370Name_Not_Found:2011/11/24(木) 14:48:28.02 ID:???
対策できる人がトレードオフで気にしなくていいだろうと判断するのと
原理が分からない人が人に言われて気にしないのとでは理解に大きな差があると思う
371Name_Not_Found:2011/11/24(木) 15:08:05.72 ID:???
<html>
<head>
<meta charset="UTF-8">
<title>test</title>
<script type="text/javascript">
list = new Array( "a", "b");
function add(){
list.push(document.getElementById("comments").value);
alert(document.getElementById("comments").value);
};
function tmp(){
var j = 0;
while (j < list.length){
document.write(list[j]+"<br>");
j = j+1;
};
};
</script>
</head>
<body>
<script>
hyouji();
</script>
コメント:<input type="text" id="comments">
<button onclick="add()">書き込み</button><br>
</body>
</html>

textに書き込んだ文字をaddに送り、listという配列に追加しtmpという関数を使い表示するようにしたいです.
しかし元から配列に入っている文字は出力されるのに配列に追加した文字が表示されません.
どのようにすれば出力できますか?
372Name_Not_Found:2011/11/24(木) 15:19:50.27 ID:???
>>368
いちど循環参照を意識して依存関係を切り離してみろ
非同期コードがものっそいすっきりするぞ

クロージャーから離れられないやつは
頭の中であんま整理できてないんだと思う
373Name_Not_Found:2011/11/24(木) 16:26:56.71 ID:???
>>371
そのまま試したけど
表示されるよ
374Name_Not_Found:2011/11/24(木) 16:37:52.10 ID:???
document.writeって・・・
375Name_Not_Found:2011/11/24(木) 16:39:35.13 ID:???
入力物をそのまま表示しちゃうとタグ書き込んだら反映されちゃうようにゃ
376Name_Not_Found:2011/11/24(木) 17:02:43.61 ID:???
>>371
<html>
<head>
<meta charset="UTF-8">
<title>test</title>
<script type="text/javascript">
list = new Array( "a", "b");
function add(){
list.push(document.getElementById("comments").value);
alert(document.getElementById("comments").value);
tmp();
};
function tmp(){
var t="";
for(j in list) t+=list[j].replace(/</g,'<').replace(/>/g,'>')+'<br>';
document.all.kokoda.innerHTML=t;
};
</script>
</head>
<body>
<span id="kokoda"></span>
<script>
hyouji();
</script>
<form>
コメント:<input type="text" id="comments">
<button onclick="add()">書き込み</button><br>
</form>
</body>
</html>
377Name_Not_Found:2011/11/24(木) 17:29:59.55 ID:???
配列とかで、たまーに
_xxx
_hoge

みたいなのがあるんですが、このアンダーバーから始まるのって何か暗黙のルールがあったりするんでしょうか?
378Name_Not_Found:2011/11/24(木) 17:38:58.50 ID:???
きもちinternalな感じ
379Name_Not_Found:2011/11/24(木) 19:02:46.27 ID:vt5nE3zo
俺的に、アンスコはじまりはprivate
380Name_Not_Found:2011/11/24(木) 19:23:21.20 ID:???
>>369
GC問題っていうのは、開放していいメモリと開放できないメモリがあるから起きる問題であって、
ページ自体を読み込み直すときは全部解放するだけだから普通はメモリリークしない(初期のIE6とかはそれをしてたけど)
もちろん再読み込みしないウェブアプリを作るならGCを気にするべき
381Name_Not_Found:2011/11/24(木) 21:06:45.11 ID:pvGzPLGz
IEのデバッガは何を使ったらいいでしょうか?
IE7,8,9さえ確認できれば十分なのですが・・・
IE9の開発者ツールではIE8とIE7のエミュレートができるそうですが、
そのエミュレータでちゃんとIE7などの環境がエミュレートできるのでしょうか?
382Name_Not_Found:2011/11/24(木) 21:25:15.87 ID:???
IE9の開発者ツールで十分
でもIE6切るならIE7も切っていいんじゃない
383Name_Not_Found:2011/11/24(木) 21:29:37.26 ID:???
黒ージャーってなんぞや?
と調べてみたけど、これを使うとstatic変数みたいのが使えて便利だな
384Name_Not_Found:2011/11/24(木) 22:02:07.05 ID:???
>>380
IE6での修正後にWebKitが同じ問題にハマったわけだが
385Name_Not_Found:2011/11/24(木) 22:07:50.49 ID:???
Web Workerで現状DOMを受け渡しできないのもメモリリーク絡みと認識している
386Name_Not_Found:2011/11/24(木) 22:11:03.64 ID:???
>>384
GCだけにか
387Name_Not_Found:2011/11/24(木) 22:37:21.91 ID:???
var ClassA = function(){
this.a = 100;
};
var ClassB = function(){
this.b = 200;
this.b1 = new ClassA();
};
var ClassC = function(){
this.c = 400;
this.c1 = new ClassB();
};
var ClassD = function(){
this.d = 1000;
this.d1 = new ClassC();
};

function AAA(){
var DDD = new ClassD();
alert(DD.d1.c1.b1.a);
}

ClassDの中のClassCの中のBの中のAの中のaって物なんですが
もっとスムーズに定義できたりできないのでしょうか?

以下のような組み方をするのにどうすればよいかと考えて、テスト的に上記のようなソースを書いてみました
car.body.sozai
car.seat.sozai
car.taiya.sozai
388Name_Not_Found:2011/11/24(木) 23:36:07.69 ID:???
>>381
ちゃんとはできない
389381:2011/11/24(木) 23:45:41.20 ID:pvGzPLGz
>>382
IE6はもうほとんど使ってる人いないと思うのですが、
IE7はまだ結構いそうなので・・・

>>388
どこら辺がIE9のじゃ不十分なのでしょう?
390Name_Not_Found:2011/11/24(木) 23:51:05.48 ID:???
IE7Proの件があるからなあ
デフォでタブ保存すりゃいいのに
391Name_Not_Found:2011/11/25(金) 00:30:53.21 ID:???
<input id="fileToUpload" type="file" size="45" name="fileToUpload" class="input">
<br/>
<button class="button" id="buttonUpload" onclick="return ajaxFileUpload();">Upload</button>
アップロードする画像を選択して、ボタンを押すことなく、関数ajaxFileUpload()を
実行させる方法はありますか? 画像選択したら関数ajaxFileUpload()を実行したいです。
392Name_Not_Found:2011/11/25(金) 00:43:35.35 ID:???
<input id="fileToUpload" type="file" size="45" name="fileToUpload" class="input" onchange="return ajaxFileUpload();">
393Name_Not_Found:2011/11/25(金) 00:45:46.99 ID:Ale7IJIF
>>389
広告系のおいら的には
IE6は総数としては減ってきてるけど、一箇所にかたまっている感じ、会社とか

アクセス解析結果をみて
「えっ、こんな大手でもそうなの?」って驚くことがある
394Name_Not_Found:2011/11/25(金) 00:51:46.16 ID:???
官公庁とかでIEべったりVBScriptな開発をすることがある自分のところでもIE6(笑)は無いわ
395Name_Not_Found:2011/11/25(金) 00:53:22.05 ID:???
グローバルなら、中国がIE6だから対応しないといけない…
中国でもう、自国のブラウザ開発してくれって思う
396Name_Not_Found:2011/11/25(金) 01:09:11.03 ID:???
この中で2004年頃に、デファクト標準のIEマンセーしてた奴は悔い改めろ
397Name_Not_Found:2011/11/25(金) 01:21:16.80 ID:???
IEはUI変更しないとレンダリングエンジン更新できないのかね
398Name_Not_Found:2011/11/25(金) 01:59:33.67 ID:???
ブラウザ分布でIE6って日本と中国が大半をしめて
残りはWin2kユーザって気がしてきた
399Name_Not_Found:2011/11/25(金) 02:04:39.79 ID:???
趣味でやってるサイトならマイナーブラウザなんて無視すればいいし、
商売でやってるならIE6,7を切ることによる機会損失とコストダウンを天秤にかければいい
業界・業種にもよるが、IE6,7ユーザーはあんまり金にならないから切ったほうが得だろうね
どっちにしても多少見栄えが悪くても利用はできるくらいにはしておく必要はあるけど
400Name_Not_Found:2011/11/25(金) 03:10:37.82 ID:???
JSが動かなくても最低限見れるようにすんのがスジ
その上でIE6での崩れは気にしない
401Name_Not_Found:2011/11/25(金) 05:08:42.13 ID:???
Firefox8でFile APIのreadAsDataURLを使ってみたんだが
どうも読み込むファイルサイズによってはかなりの量のメモリーリークするっぽい
使い方間違ってるのかな・・・

<input type="file" onchange="readImageFile(this);"><br>
<script type="text/javascript">
function readImageFile(elm){
var file = elm.files[0];
if(file.type == 'image/jpeg' || file.type == 'image/png' || file.type == 'image/gif') {
var reader = new FileReader();
reader.onload = function(e){
var img = document.createElement('img');
img.src = e.target.result;
document.body.appendChild(img);
}
reader.readAsDataURL(file);
}
}
</script>
402Name_Not_Found:2011/11/25(金) 05:13:48.15 ID:???
そのリークとやらをどう確認したのか言え
あと思いっきり循環参照なんだから切っとけ
403Name_Not_Found:2011/11/25(金) 05:38:00.00 ID:???
>>402
すいません勘違いだったようです しばらく待っていたら解放されてました
手順は、新しいタブで開く→上記スクリプトで大きい画像を数枚開く→違うページを開く→タブを消す
の一連の動作をタスクマネージャーで監視しました

循環参照を切るとは、この場合は具体的にどうするのですか?
404Name_Not_Found:2011/11/25(金) 06:04:16.62 ID:???
調べてきました この2つの方法で循環参照を切れてるでしょうか?

スコープの外に関数を書く
function readImageFile(elm){
var file = elm.files[0];
if(file.type == 'image/jpeg' || file.type == 'image/png' || file.type == 'image/gif'){
var reader = new FileReader();
reader.onload = fileLoaded;
reader.readAsDataURL(file);
}
}
function fileLoaded(e){
var img = document.createElement('img');
img.src = e.target.result;
document.body.appendChild(img);
}

nullを代入して参照を切る
function readImageFile(elm){
var file = elm.files[0];
if(file.type == 'image/jpeg' || file.type == 'image/png' || file.type == 'image/gif'){
var reader = new FileReader();
reader.onload = function(e){
var img = document.createElement('img');
img.src = e.target.result;
document.body.appendChild(img);
reader = null;
}
reader.readAsDataURL(file);
}
}
405Name_Not_Found:2011/11/25(金) 07:05:19.41 ID:???
>>404
createObjectURLを使うことをおすすめする
406Name_Not_Found:2011/11/25(金) 11:50:00.46 ID:???
>>405
createObjectURLはキャッシュを0MBにして何度か使っていたら読み取れなくなりました
もしかしたらこれはキャッシュ的に使うもので自動的にデータが破棄されるのではないでしょうか?
407Name_Not_Found:2011/11/25(金) 15:46:49.59 ID:???
windowsのhtaでローカルファイルを読み込む処理があるのですが、読み込み中はUIがロックされてしまいます。
ロックしないよう裏で読み込む方法はないでしょうか?
408Name_Not_Found:2011/11/25(金) 15:52:20.61 ID:???
【環境】OS:WinXP,Win7  ブラウザ:主にFirefox3.6.2,GoogleChrome15.0,IE6.0

外部テキストの読み込みで質問です。 
※対象は1kBほどの簡単なもの

ググって方法を調べたところ、有るには有ったのですが主にIE用にActiveXObjectを
使うサンプルコードばかりで汎用的な例が見つかりませんでした。

流れとしては テキスト(例:abc.txt) → 読み込み → 変数(例:var tData)に格納
という感じで現時点では変数に格納出来れば十分です。

文字コードはUnicode(UTF-8)かShift-JISがありますが、今のところUnicode(UTF-8)を
想定しています。

どなたかアドバイス願います。

【サンプルコード】CSVだと ttp://blog.cles.jp/item/2691

409Name_Not_Found:2011/11/25(金) 15:56:05.38 ID:Ale7IJIF
>>408
ajaxでいいんだよね?
IE以外はxmlHttpRequestオブジェクトってのを使えばいいんだよ
410Name_Not_Found:2011/11/25(金) 16:31:36.47 ID:???
Firefox3.6.2はやめろ
411Name_Not_Found:2011/11/25(金) 17:12:25.90 ID:???
MacOS 10.4はFirefox4に見捨てられたからな
当分3.6を使い続けるから、覚悟しやがれ
412410:2011/11/25(金) 17:57:07.85 ID:???
3.6ならいいけど
413Name_Not_Found:2011/11/25(金) 18:00:48.58 ID:???
ちょっとばかし質問です

ボタンを押すと赤く、もう一度押すと黄色くなるボタンを作りました
オンクリックで動作するのですが
var x=0;
function hoge(){
if(x%2==1){
document.getElementById("fuge").style.backgroundColor="red";
else{
document.getElementById("fuge").style.backgroundColor="yellow";
}
x++;
}

とやっているのですが、オン、オフでもっといいやり方があるのでは?となんとなく思うのですが
もっといいやり方とかあるんでしょうか?
414Name_Not_Found:2011/11/25(金) 18:03:29.43 ID:???
Element.classList.toggle
415408:2011/11/25(金) 22:07:58.21 ID:???
>>409
ありがとうございます。ttp://allabout.co.jp/gm/gc/24097/#2 を参考にして。
UTF-8とShift-JISを併用し日本語読み込みも出来ました。

しかしながら、IEとFFではOKだったのですが、GoogleChromeではアラートが出るものの
その中にテキストは表示されません。
上記参考サイトの記述の場合、どう改造すれば良いでしょうか?

416Name_Not_Found:2011/11/25(金) 22:30:05.08 ID:8I8Gj37i
>>415
クロームでそのページ見てみたけど、普通に動いとるよ?

なにか間違えてるんだろうから、クロームのインスペクタ起動して
エラーなりワーニングなり出てないか確認してみ

それでもわからんかったら>>1にあるコード投稿サイトにコード書いてみて
417Name_Not_Found:2011/11/25(金) 22:51:10.26 ID:???
あ、やっとつながった
落ちてたよね
418Name_Not_Found:2011/11/25(金) 22:51:39.81 ID:8I8Gj37i
あ、クロームはインスペクタって言わないんだな
メニューの表示→開発/管理→JavaScriptコンソール、で

で、よく見てみたらちゃんとは動いとらんかったごめんなさい
リクエストが"http://allabout.co.jp/gm/gc/24097/test.txt/"ってなってて404返ってきてる
419Name_Not_Found:2011/11/25(金) 23:11:44.19 ID:???
>>414
ありがとうございます、toggleにこんな使い方があったんですね
返事送れてすみません
420Name_Not_Found:2011/11/25(金) 23:21:34.61 ID:???
>>417
落ちてたというか、今 2ch が…
421Name_Not_Found:2011/11/25(金) 23:22:46.97 ID:???
>>420
FOX強制捜査されてんのか
ざまぁwww
422Name_Not_Found:2011/11/25(金) 23:57:23.51 ID:???
下のコードで(1)だと常にset=cntが実行されます。(2)だと正常に判定が行われます。なぜ?

(1)
if( parseFloat( cnt ) > parseFloat( pool[key] ) ){
set = pool[key];
} else {
set = cnt;
}

(2)
if( parseFloat( cnt ) > parseFloat( pool[key] ) ){
set = pool[key];
} else if( parseFloat( cnt ) <= parseFloat( pool[key] ) ){
set = cnt;
}
423Name_Not_Found:2011/11/26(土) 00:00:49.50 ID:???
値も見せろよ
424Name_Not_Found:2011/11/26(土) 00:02:19.82 ID:???
配列の質問
a=new Array(10,4);はa=[10,4];と同じように動きますが、
何か違うのですか?どっちが推奨されてますか?
425422:2011/11/26(土) 00:17:01.57 ID:???
>>423
keyは、321から338までの数値データ。
pool配列はそれぞれ0〜40000ぐらいの数値をテキストデータでもってる。
setは var set=0 で初期化。
cntは 1000ぐらいの数値をテキストデータでもってる。

という感じ。
426Name_Not_Found:2011/11/26(土) 00:25:57.40 ID:vQA0r8E6
>>424
newは使うな派閥というのがあってだな
427Name_Not_Found:2011/11/26(土) 00:29:07.44 ID:???
>>425
再現できない

var cnt = 1000, pool = [], key = 321;
pool[321] = '100';
console.log(parseFloat(cnt) > parseFloat(pool[key])); // true
428408&415:2011/11/26(土) 00:52:26.67 ID:???
>>418 (GoogleChromeでのテキスト読み込みについて)

調べたところ次のようなことが分かりました。

ttp://www.keyton-co.jp/blog/month/2011/04
GoogleChromeではローカルファイルの読み込みに制限がかかっており、他のファイルを読み込むことができません。
この場合、起動オプションに「--allow-file-access-from-files」を付けることで読み込めるように変更できます。

しかし、この通りに起動オプションを変更したのですが、まだ駄目です。

なお、ChromeのJavaScriptコンソールで調べたところ、読み込み時に
  MLHttpRequest cannot load テキストファイル
  Cross origin requests are only supported for HTTP.
と出て、アラートボタンでOKを押すと
  Uncaught Error: NETWORK_ERR: 元コードのhttpoj.send(data);の行を指し、
  XMLHttpRequest Exception 101
と出ます。

考えられる原因は何でしょうか?

429Name_Not_Found:2011/11/26(土) 01:02:57.58 ID:???
>>427
だよね。再現可能な最小限コードってのが難しい。
まあ、(2)にするとまともに動くのであきらめるわ。
430408&415:2011/11/26(土) 01:11:58.36 ID:???
(自己解決しました)
「--allow-file-access-from-files」は必要だったのですが、対象のHTMLを
右クリックで「プログラムから開く」でやると駄目で、予めChromeウインドウを開いて
おいてそこに対象HTMLをドラッグ&ドロップすればOKでした。

ちょっとメンドクサイ
431Name_Not_Found:2011/11/26(土) 01:29:02.00 ID:???
>>430
file:/// でテストしているならかなりの確率で実装依存だからローカルにサーバ立てた方がいいと思うよ
432Name_Not_Found:2011/11/26(土) 03:07:46.39 ID:???
JavaScript The Good Partsに名前(アルファベット1文字以上と
_と数字)は演算子として利用可能と載ってたのですが、
演算子は+,=,?:などと認識してます。ここでの「演算子として利用
可能」とはどいった意味なのでしょう?
433Name_Not_Found:2011/11/26(土) 03:21:55.02 ID:???
どこの章のどこの項のどこの行よ
何を語ってるページなのよ
434Name_Not_Found:2011/11/26(土) 03:35:03.26 ID:???
>>415
ようは〜.htmlでcsvファイルを読み込みできたらいいんだろ?
↓これでできる。
<html><head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title></title>
<script type="text/javascript">
function sendRequest(){
var xmlhttp;
try{//ie用
try {xmlhttp = new ActiveXObject("Msxml2.XMLHTTP.6.0");
getCoDivFromName("hantei").innerHTML=("Msxml2.XMLHTTP.6.0");}
catch(e) {xmlhttp = new ActiveXObject("Msxml2.XMLHTTP.3.0");}
xmlhttp.onreadystatechange = function(){
(xmlhttp.readyState == 4 && xmlhttp.status== 200)?processRequest(xmlhttp):processRequest2(xmlhttp);
};
}catch(e){//firefox、その他ブラウザ用
xmlhttp = new XMLHttpRequest();
xmlhttp.onload = function(){
(xmlhttp.status== 200)?processRequest(xmlhttp):processRequest2(xmlhttp);
};
}
xmlhttp.open("GET", "001.csv");
xmlhttp.send(null);
}
435Name_Not_Found:2011/11/26(土) 03:36:14.26 ID:???
//434の続き
function processRequest(xmlhttp){
document.getElementById("date").innerHTML=xmlhttp.responseText;}
function processRequest2(xmlhttp){
document.getElementById("date").innerHTML=("Error");}
window.onload=sendRequest;//window.onload=onButtonClick();で動かない
</script>
</head>
<body>
<span id="date">・・・</span><br/>
</body>
</html>
jQueryを使えば簡単にできるらしいが、それは今勉強してるから
他の人に聞いてくれ。
001.csvは001.phpでも001.txtでも読み込み可能。xmlHttpRequesを生成
して通信する。その際xmlHttpReques生成はieとその他ブラウザで分ける。
このでローカルホストにアクセスしたら動く。
436Name_Not_Found:2011/11/26(土) 03:40:22.89 ID:???
>>433
JavaScript The Good Partsの第2章文法の2.2 名前(P9)のとこです。
そこに、「名前は、命令文、変数、引数、プロパティ名、演算子、ラベル
として利用することができる」とあります。
437Name_Not_Found:2011/11/26(土) 03:57:13.18 ID:???
これやこれ トントン

delete
typeof
void
instanceof
new
 in

438Name_Not_Found:2011/11/26(土) 04:09:48.38 ID:???
new演算子の予約後newは「名前」と解釈するのですか?
名前には予約後が利用できないと書いてありますが、
予約後を名前に含めるということですか。
439Name_Not_Found:2011/11/26(土) 04:26:05.41 ID:???
キミ前にどっかで見た気がするな
440Name_Not_Found:2011/11/26(土) 04:30:59.76 ID:???
>>436
どう考えても識別子の誤植

>>434
HTMLぐらいマトモに書け、後で苦労すっぞ
それだとメモリーリークすっからな
441Name_Not_Found:2011/11/26(土) 09:47:39.47 ID:???
>>436

日> ただし以下の予約語は、いずれも名前として利用することはできない。
英> A name cannot be one of these reserved words:
http://www.google.co.jp/search?tbm=bks&q=good+parts+names+%22A+name+cannot+be+one+of+these+reserved+words%22
(共通 予約語リスト 現行+将来採用され得る 命令文・演算子・修飾子など)

ここはプログラマが何かを命名するときに使えるかどうかの話。
Crockfordの書き方が曖昧かな。


日> 名前は、命令文、変数、引数、プロパティ名、演算子、ラベルとして利用することができる。
英> Names are used for statements, variables, parameters, property names, operators, and labels.
http://www.google.co.jp/search?tbm=bks&q=good+parts+names+%22Names+are+used+for+statements%2C+variables%2C+parameters%2C+property+names%2C+operators%2C+and+labels%22

ここは単純に構文の説明。プログラマができるかどうかの話じゃない。
素直に「として使われる」と訳したほうがよかったんじゃないかと思う。
442Name_Not_Found:2011/11/26(土) 11:45:27.96 ID:???
JavaScriptだけで更新pingを送る事って可能?
出来るなら練習でちょっと挑戦してみようかと。
443Name_Not_Found:2011/11/26(土) 13:25:51.57 ID:???
しつこくメモリーリークするする言う人は何がしたいんだろ
ページ遷移のないウェブアプリを作るときに気にしろってならわかるけど、ちょっとしたツールとかで気にすることじゃないでしょ
昔のIEやWebKitにバグがあったとしても、実際、今はそんな簡単にメモリリークするブラウザはない
起きないバグに怯えてコストをかけるのは無駄だし、効果が不明瞭だからキリがない
初心者に対する嫌がらせにしか思えない
444Name_Not_Found:2011/11/26(土) 13:57:36.96 ID:???
最近自分が知って、ショックから立ち直ってないんじゃねーの?
445Name_Not_Found:2011/11/26(土) 14:20:48.27 ID:???
>>442
実現性の前にそれは意味あるの?
訪問者が閲覧する度に更新してないかもしれないpingを飛ばす意味がわからない
446Name_Not_Found:2011/11/26(土) 14:34:46.59 ID:OgUuUs0s
超超初心者です。質問させてください。

フォトショップで、「レイヤー名を変更するスクリプト」というのをネットで
見つけて、使ってみました。以下の文でした。

activeDocument.artLayers[0].name = "PSDレイヤー_0";

これで、一番上にあるレイヤー1つが「PSDレイヤー_0」という名前に変わりました。

このスクリプトの[☆] ☆の部分の数字を《最初から最後まで》に、
更に可能なら、"PSDレイヤー_★"; ★の部分の数字を連番に、

このように変えることができないでしょうか?

たくさんコピぺして文を増やして、数字を[1][2]と変えて試してみたのですが、、、

activeDocument.artLayers[0].name = "PSDレイヤー_0";
activeDocument.artLayers[1].name = "PSDレイヤー_1";
activeDocument.artLayers[2].name = "PSDレイヤー_2";
activeDocument.artLayers[3].name = "PSDレイヤー_3";

動作はちゃんとするのですが、レイヤー数が各ファイルによって違っているため、
レイヤー数が2コしか無い場合はエラーになってしまうし、
5コある場合は3までしか変更できないし・・と上手くいかないのでした。

どうか教えていただけないでしょうか。よろしくお願いいたします。
447Name_Not_Found:2011/11/26(土) 14:39:09.43 ID:???
>>446
よくわからないが、それはJavaScriptなのかね?

for (var artLayers = activeDocument.artLayers, i = 0, length = artLayers.length; i < length; ++i) {
 artLayers.name = 'PSDレイヤー_' + i;
}

おそらくこんな形になると思われるが…。仕様がわからないのであたってないかもしれない。
448Name_Not_Found:2011/11/26(土) 14:54:12.83 ID:???
>>447
 artLayers[i].name = 'PSDレイヤー_' + i;
やろ
449447:2011/11/26(土) 14:56:48.87 ID:???
>>448
そうだった。ありがとう。
450448:2011/11/26(土) 14:59:03.28 ID:???
俺の頭皮にもレイヤーが欲しいわ
451Name_Not_Found:2011/11/26(土) 15:15:17.03 ID:???
>>450
お前誰や年
なぜ知っている
452446:2011/11/26(土) 15:36:20.56 ID:OgUuUs0s
447さま、448さま、ありがとうございます!
最初から最後までは「i」ということでしょうか。
さっそく作ってやってみたのですが、エラーが出てしまいました・・。

activeDocument.artLayers[i].name = "PSDレイヤー_"+i;

でやってみました。エラーは以下です。
Error 2: i is undefines.
Line:1
-> activeDocument.artLayers[i].name = "PSDレイヤー_"+i;


こちらも試してみました。

for (var artLayers = activeDocument.artLayers, i = 0, length = artLayers.length; i < length; ++i) {
 artLayers.name = 'PSDレイヤー_' + i;

エラーは以下です。
Error 14: No matching closing brace found.
Line:2
->  artLayers.name = 'PSDレイヤー_' + i;

続きます・・・(改行が多すぎて書き込みできませんでしたので・・)
453446:2011/11/26(土) 15:37:18.08 ID:OgUuUs0s
もう一つ、この「レイヤー名変更」の前に「全レイヤーを表示する」という
スクリプトをつけてあるのも作ってありまして・・・。

docObj = activeDocument;
for (i=0; i<docObj.layers.length; i++)
{
 docObj.layers[i].visible = true;
}
activeDocument.artLayers[i].name = "PSDレイヤー_";

という内容です。
「レイヤーを全て表示して、名前を全部変更する」としたかったのです。
このスクリプトをすると、レイヤーが全部表示されたあと、エラーが出ます。以下です。

Error 1302:Error #1302
Line:6
-> activeDocument.artLayers[i].name = "PSDレイヤー_"+i;

エラーの数字が違いますが・・何かご存知でしょうか?
わかりにくい文章で申し訳ありません。
どうか、また何か教えてください。よろしくお願いいたします。
454Name_Not_Found:2011/11/26(土) 15:39:29.09 ID:???
これは色々、予想の斜め上w
455Name_Not_Found:2011/11/26(土) 16:02:11.72 ID:???
>>445
訪問者が飛ばす事は想定していないよ。

使っているレンタルのところの更新pingは飛ばせる数が少ないから、自分でコードを書いて飛ばせば好きなだけ飛ばせるかなと。
456Name_Not_Found:2011/11/26(土) 16:04:37.76 ID:???
>>453
ほれ

docObj = activeDocument;
for (i=0; i<docObj.layers.length; i++)
{
 docObj.layers[i].visible = true;
}
for (i=0; i<docObj.artNatures.length; i++)
{
 docObj.artNatures[i].name = "PSDレイヤー_" + i;
}
457446:2011/11/26(土) 16:20:59.54 ID:???
456さま、ありがとうございました!
最初またエラーが出て、あせったのですが・・読んでみて、
「artNatures」のところを「artLayers」に変えると、
上手くいきました!本当にありがとうございます!!感謝です!!

皆様のおかげで、自分では作れそうにないスクリプトが完成しました!
作業が大幅に効率アップします。本当にありがとうございました!
458Name_Not_Found:2011/11/27(日) 02:07:20.79 ID:???
>>457
良かったねえ

ってかフォトショでそんな簡単にスクリプト動作させられるんだね。
勉強になったわ。
459Name_Not_Found:2011/11/27(日) 02:22:59.54 ID:???
土曜日だからみんな甘甘だったな
これが月曜日なら回答はなかっただろう
460Name_Not_Found:2011/11/27(日) 03:11:22.20 ID:???
AjaxでencodeURIComponentを使用しなくても日本語入力に
おいて文字化けが発生しないのですが、なぜなのでしょう?
461Name_Not_Found:2011/11/27(日) 03:12:32.99 ID:???
>>443
まあデリゲーションは覚えてもらわんと困る
Workerにもあるからな
462Name_Not_Found:2011/11/27(日) 03:14:24.18 ID:???
>>458
Illustratorでもできる。
ちょっと古いが ttp://www.openspc2.org/book/IllustratorCS/
463Name_Not_Found:2011/11/27(日) 04:53:32.08 ID:???
>>460
たまたま
464Name_Not_Found:2011/11/27(日) 07:22:36.97 ID:???
>>443
問題の本質はメモリリークそのものというより
循環参照を誘発するようなデザインを避けろということ
465Name_Not_Found:2011/11/27(日) 07:53:54.51 ID:???
フォトショでゲーム作れたりすんの?
フィルタ多用して面白いもんができそうだな
466Name_Not_Found:2011/11/27(日) 08:50:36.63 ID:???
はい
467458:2011/11/27(日) 11:44:39.22 ID:???
468458:2011/11/27(日) 11:45:57.03 ID:???
↑ミス。。。

知らんかっただ。
ありがとうー
469Name_Not_Found:2011/11/27(日) 14:35:37.06 ID:???
iframe使えばクロスドメインでのPOSTが可能っぽい。
470Name_Not_Found:2011/11/27(日) 14:53:20.80 ID:???
CSRFでggr
471Name_Not_Found:2011/11/27(日) 14:59:53.23 ID:???
メモリリークなんかたまにCookieやストレージに現状態記録して
history.go(0)すればいいがな
netfrontやIEのバグにも使える大技
472Name_Not_Found:2011/11/27(日) 16:25:29.68 ID:???
遷移しても解放されない問題なのに?
473Name_Not_Found:2011/11/27(日) 17:14:27.92 ID:zdXeHMNW
RadioNodeListというのは、何のメソッドが返すオブジェクトなのでしょうか
474Name_Not_Found:2011/11/27(日) 17:19:33.93 ID:???
RadioNodeList   HTMLInputElement    [object HTMLInputElement]
475473:2011/11/27(日) 17:58:05.82 ID:zdXeHMNW
>>474
ありがとうございます

早々にすみませんが、改めて調べているうちに自己解決しました
HTMLFormElement.elementsが返すHTMLFormControlsCollectionオブジェクトのメソッドについて
namedItemの返り値が複数になる場合にHTMLElementではなくRadioNodeListが返るんですね

失礼致しました
476Name_Not_Found:2011/11/27(日) 18:52:28.39 ID:???
ECMAScriptはどんどん厳格になり、DOMはどんどん緩くなる
将来に不安を感じるのは俺だけ?
477Name_Not_Found:2011/11/27(日) 19:02:41.44 ID:???
後方互換を考慮して、ブラウザの独自拡張を仕様化したりはされてるけど
緩く?なっているわけではないと思うよ
いらん要素や属性は廃止されてるし
478Name_Not_Found:2011/11/27(日) 19:26:52.96 ID:???
甘い甘い
<input name="submit">があるときform.submit()できないとか
どう考えても仕様のバグでしょ
479Name_Not_Found:2011/11/27(日) 19:41:25.80 ID:???
んな名前つけるほうが悪い
480Name_Not_Found:2011/11/27(日) 19:45:15.21 ID:???
forms[][name]で同じ名前が複数あった時と1つだけの時でコレクションが返ったりそのものが返ってきたりでうざっ統一しろよって思う
481Name_Not_Found:2011/11/27(日) 19:45:41.36 ID:???
そうだな
withもargumentsもeval()も、使う方がバカだからstrictなんていらんよな
ES5は予約語を減らしたのに、DOMではこんなので使えない名前が増えたよな
elements['submit']で参照方法を別にすれば、何の問題もなかったのにな
482Name_Not_Found:2011/11/27(日) 20:02:44.19 ID:???
elements.item("submit")みたいにできればみんな幸せだった
483446:2011/11/27(日) 20:14:40.19 ID:vVwCoWeb
フォトショップのスクリプトについて質問したものです。
みなさまに知恵を貸していただいて、本当に助かりました。
ありがとうございました。
申し訳ないのですが・・m(_ _)m もう1つだけ質問させてください。

artLayersのところをlayerSetsに変えて、
レイヤーセットのほうも表示させて、名前を変えることが出来ました。

docObj = activeDocument;
for (i=0; i<docObj.layerSets.length; i++)
{
 docObj.layerSets[i].visible = true;
}
for (i=0; i<docObj.layerSets.length; i++)
{
 docObj.layerSets[i].name = "セット" + i;
}

このような文でちゃんと動きました。
しかし、レイヤーセットの中に入っているレイヤーたちは
うまく表示されず、名前も変わりませんでした。

「セットの中のレイヤーも」みたいな文を付け加えて(?)
中身も対象にできないでしょうか?
見当はずれなことを言っていたら、すみません。

どなたかわかる方がいらしたら、教えていただけませんか?
どうかよろしくお願いいたします。
484Name_Not_Found:2011/11/27(日) 20:35:56.10 ID:???
>>482
もっと言やあinput.valueがプロパティではなく
input.get('value', function(value) {...})みたいにバリデーションハンドラを渡せれば良かった
Object#watchが導入されてんだからできないことはなかった
最初のデザインがまずいと将来に禍根を残す
485Name_Not_Found:2011/11/27(日) 20:54:35.15 ID:???
それってNodeWatch.watchSelectorとか言うやつじゃない よくわからんけど
486Name_Not_Found:2011/11/27(日) 21:36:13.17 ID:???
MutationEventの代わりのって決まったの?
さっさとしてほしいんだけど
487Name_Not_Found:2011/11/27(日) 23:55:31.32 ID:???
>>483
Photoshop なんて買えない (用のない) 僕たちに聞かないで、
同梱されてるリファレンスを参照してください (#`ε´#)
488Name_Not_Found:2011/11/28(月) 00:01:16.78 ID:???
Photoshop/フォトショップ総合質問スレ 65
http://hibari.2ch.net/test/read.cgi/cg/1320078950/l200
489Name_Not_Found:2011/11/28(月) 00:38:04.80 ID:???
>>484
HTML5でpattern属性が追加されて正規表現でバリデーションができるようになったけど
これぐらい最初からつけておいてほしかったなと思った
<input type="text" name="userid" pattern="^[0-9A-Za-z]+$">
490Name_Not_Found:2011/11/28(月) 00:56:56.34 ID:???
最初からって、いつの時代だ?
491Name_Not_Found:2011/11/28(月) 01:08:07.09 ID:???
SGML
492Name_Not_Found:2011/11/28(月) 01:08:33.90 ID:???
パソ通じゃね?w
493Name_Not_Found:2011/11/28(月) 01:08:45.79 ID:???
>>490
HTML3あたりかな。
494Name_Not_Found:2011/11/28(月) 01:27:32.59 ID:???
ネットの起源、それは遥か神々の居た時代にまでさかのぼる
495Name_Not_Found:2011/11/28(月) 02:06:03.92 ID:f+gDGv6/
http://jsfiddle.net/bfPBh/

var req = new XMLHttpRequest();
req.open('GET', '/', true);
req.onload = function(evt){
document.body.textContent = evt;
}
req.send();

Firefox と Google Chrome はオブジェクトが返るのですが
Opera は undefined が返ります
これはどちらの挙動が正しいのでしょうか
evt.target.responseXML と req.responseXML はどちらが適切なのでしょうか
496Name_Not_Found:2011/11/28(月) 02:12:55.96 ID:???
自分はevt.currentTarget.responseTextで取ってきてた
497Name_Not_Found:2011/11/28(月) 02:15:36.96 ID:???
<input name="submit">やら<input name="reset">やら
<input name="method">やら<input name="action">やらは
存在するとJavascriptからメソッドを発動したりプロパティの変更が
出来なくなるからあえて使ったぞw
498Name_Not_Found:2011/11/28(月) 02:16:07.32 ID:???
最近Ajaxはやってるけど、この調子でShift_JIS減らないかな
確かUTF-8じゃないと何をするのにもエラーめっちゃ多いんだよね?
499Name_Not_Found:2011/11/28(月) 02:38:41.94 ID:???
Shift_JIS志ねってのは全く同感だが
XMLでUTF-8しか使えないなら技術の敗北を意味するのであるのだ
500Name_Not_Found:2011/11/28(月) 02:40:48.04 ID:???
SJIS原因のバグは多いからなーどんな時でも必要なくてもUTF-8使えと
501Name_Not_Found:2011/11/28(月) 02:48:14.35 ID:???
JSファイルとHTMLファイルの文字コードが違うと読み込めないのな
拾ってきたJSファイル使おうと思ったら使えなくってさ
文字コード変換作業の開始さ
502Name_Not_Found:2011/11/28(月) 02:51:38.62 ID:???
ちゃrせt指定すればいいだろ。
503Name_Not_Found:2011/11/28(月) 02:54:40.20 ID:???
HTML→SJIS
JSファイル→SJIS
テキストファイル→SJIS

でテキストファイルを読み込んでも読み込めないような状況って無かったっけ?
504Name_Not_Found:2011/11/28(月) 03:32:51.87 ID:???
FFFTPでアップロード時に自動文字コード変換とかしてんじゃね
505446:2011/11/28(月) 06:52:58.95 ID:???
>>487
>>488
不愉快な思いをさせてしまって申し訳ありませんでした。
いろいろ教えていただいて、こちらの皆様に感謝しています。
すみませんでした。
ありがとうございました。
506Name_Not_Found:2011/11/28(月) 07:53:06.35 ID:???
javascript(jquery使用)で、以下のような変数をforループで一気に定義させたいのですが、
どのように記述すればよいのでしょうか。

start1 = 'hoge';
start2 = 'hoge';
start3 = 'hoge';

for (var i = 1; i < 4; i++) {
start(ここがわかりません。) = 'hoge';
}
507Name_Not_Found:2011/11/28(月) 07:55:42.19 ID:???
一気とかそういう事したかったら配列にしろよw
508Name_Not_Found:2011/11/28(月) 08:44:19.95 ID:???
そこでevalの登場ですよ
509Name_Not_Found:2011/11/28(月) 08:46:01.36 ID:???
start1 = 'hoge';
start2 = 'hoge';
start3 = 'hoge';

for (var i = 1; i < 4; i++) {
var name = "start" + i;
name = 'hoge';
}
510Name_Not_Found:2011/11/28(月) 08:54:10.63 ID:???
配列が嫌ならeval()で。
511Name_Not_Found:2011/11/28(月) 09:08:25.33 ID:HanLS3D4
512Name_Not_Found:2011/11/28(月) 09:37:19.02 ID:NegB/pjj
window["name"+i]
グローバル変数なら
513Name_Not_Found:2011/11/28(月) 11:41:21.20 ID:???
>>494
ネットの始まりの日〜
JUNETの木の下で〜
514Name_Not_Found:2011/11/28(月) 12:14:12.62 ID:???
1985年〜2000年頃死んだIT技術者って可哀想だよな
処理が、容量が、転送速度がって言ってた時代、物凄い勢いでこれから進化していくというのに
515Name_Not_Found:2011/11/28(月) 17:52:55.41 ID:KN+6tEp3
そんなん、いつだってそうじゃねーか?
516Name_Not_Found:2011/11/28(月) 18:13:37.95 ID:???
科学者っていうのはいつの時代でも長く生きて科学がどこまで進歩するのか見ていきたいものよ
517Name_Not_Found:2011/11/28(月) 18:52:30.64 ID:???
人間って普通に長生きしたいもんですけど
518Name_Not_Found:2011/11/28(月) 19:13:11.39 ID:???
あと1万年くらい生きたいと思ったりするわ
好奇心的な意味で
519Name_Not_Found:2011/11/28(月) 20:53:10.68 ID:???
親しかった人たちがどんどん死んでいって一人ぼっちになっていくのを楽しむのが長生きの真髄
520Name_Not_Found:2011/11/28(月) 21:06:19.10 ID:???
>>514
そういう時代にはそういう時代の楽しみ方ってもんがあるだろ
例えば限られたリソースの中でものすごく軽く素晴らしい処理書くとか
今でも可能だけど昔の方が要件がきついだけに楽しめたと思うぞw
521Name_Not_Found:2011/11/28(月) 21:10:59.04 ID:???
うむ
IE6にもしっかり対応しろよ
522Name_Not_Found:2011/11/28(月) 21:36:44.44 ID:???
hoge = function(){
fuge();
$(window).resize(function(){
fuge();
});
function fuge(){
}
}
window.onload=hoge()

この内のfute()をオンクリックで動く
function test(){
fuge();
}
でfuge()のみを動かしたいのですが、解決策とかりますでしょうか?
523Name_Not_Found:2011/11/28(月) 22:00:04.90 ID:???
すみません、読み辛かったので
function hoge(){
  alert("ohayou");
  function fuge(){
    alert("hello");
  }
}

function test(){
}
でtest()を実行した時、helloだけを表示されるtest()関数の中身です
524Name_Not_Found:2011/11/28(月) 22:08:20.79 ID:???
それなら普通に fugeでうごくやん
525Name_Not_Found:2011/11/28(月) 22:20:24.59 ID:???
内部関数っていうのはその関数内で使う関数って意味だから
素直に外部関数使えばいいかと
526Name_Not_Found:2011/11/28(月) 22:52:50.09 ID:???
ものすごい初歩的なことですみませんが
200までのフィボナッチ数列を表示させるソースコードを教えて下さい
527Name_Not_Found:2011/11/28(月) 22:58:51.13 ID:???
宿題ならぜひ自力で。
528Name_Not_Found:2011/11/28(月) 23:05:49.44 ID:???
では一つだけ質問させてほしいのですが
「missing ) after for-loop control」とエラーが出るのですが
forの直後の()はちゃんと両方ありますしこれはなにが足りないと言っているんですか?
529Name_Not_Found:2011/11/29(火) 02:43:27.67 ID:???
知能・・・かな
530Name_Not_Found:2011/11/29(火) 02:46:40.64 ID:???
運動神経も・・・
531Name_Not_Found:2011/11/29(火) 03:25:16.31 ID:???
>>519
オレのひいばあさんは、息子も息子の嫁、つまりオレの祖父と祖母
が死んでるのにまだ生きてるぜ。
自分の子供が死んでも未だに「長生きしたい」って言ってるのが
長生きの真髄だな。
532Name_Not_Found:2011/11/29(火) 04:17:29.51 ID:psGct/me
>>528
> ()はちゃんと両方ありますし

うむ
問題はカッコの中にあるんじゃないかな
どうしてもわからんかったら>>1見てコード晒しなさいな
533Name_Not_Found:2011/11/29(火) 07:50:19.33 ID:???
そのfor文近辺を貼ればすぐ解決すると思うよ。なんで貼るのを抵抗するのかわからんね。
534Name_Not_Found:2011/11/29(火) 10:50:31.63 ID:???
$('#div1').animate({width: '0px'},function(){
  $('#div2').animate({width: '0px'},function(){
    $('#div3').animate({width: '0px'});
  });
});

とjQueryの動作をdiv1→div2→div3と連続でwidthを0pxにし
var x==1の場合div2の動作を起こさないでdiv1→div3だけの動作にしたいですが
どのように記述すればよいのでしょうか?

当たり前ですがコレでは失敗でした
$('#div1').animate({width: '0px'},function(){
  if(x==1){
  $('#div2').animate({width: '0px'},}function(){
    $('#div3').animate({width: '0px'});
  }if(x==1){);}
});
535Name_Not_Found:2011/11/29(火) 11:41:54.08 ID:psGct/me
こうじゃいかんの?

var d1 = $('#div1');
var d2 = $('#div2');
var d3 = $('#div3');

d1.animate({ width : 0 },function(){
    if(x == 1){
        d3.animate({ width : 0 });
    }
    else{
        d2.animate({ width : 0 },function(){
            d3.animate();
        });
    }
});
536Name_Not_Found:2011/11/29(火) 12:53:36.39 ID:???
>>526
フィボナッチ数列って指数的に増えるから第200項まで計算して
表示はJavascritptでは初心者には多分無理だな。
第78項:8944394323791464までなら計算できる。
第100項ですでに354224848179261915075だからな。
第200項目なんてとんでもない数にだろう。
537Name_Not_Found:2011/11/29(火) 12:58:03.41 ID:???
>>536
core i7は伊達じゃない!
538Name_Not_Found:2011/11/29(火) 13:07:20.28 ID:???
>>536
200項じゃなく、数としての200までって話かと思ってた。
539Name_Not_Found:2011/11/29(火) 18:31:06.95 ID:???
プログラミングの授業で教授はフィボナッチ数列を題材に扱っていた
が、ダヴィンチコードがヒットしたからフィボナッチ数列を使ってる
って言われるかもしれないって思って、ダヴィンチコードが公開されて
からはトリボナッチ数列が課題で出題されましたとさ、
めでたしめでたし。
540Name_Not_Found:2011/11/29(火) 18:34:26.21 ID:???
もう思い切ってn項目の素数を求められるような数式を求めよとかやればよくね
今ある最も素数を割り出すのに効率の良い求め方つってもただ割る数最小限にしてるだけだし
541Name_Not_Found:2011/11/29(火) 18:42:43.36 ID:psGct/me
>>540
>数式を求めよ

結局算数だよなあ
JSとしての正しい答えは、求めた数式を元に
表を作っておいてAjax、だろうか
542Name_Not_Found:2011/11/29(火) 18:47:04.59 ID:???
そういや、新たに素数発見したら賞金が貰えるんだよな。
おまいら、JSで素数発見して名前残せよ世界に。
543Name_Not_Found:2011/11/29(火) 18:47:56.54 ID:???
素数を求める算数を繰り返すスクリプトはあるが、ピンポイントで求める数式なんて作れたら世紀の大発見
544Name_Not_Found:2011/11/29(火) 18:50:22.46 ID:???
>ロサンゼルス(AP)カリフォルニア大学ロサンゼルス校(UCLA)の数学者チームが、
>世界中のコンピューターを活用したプロジェクトを通じて1300万けたの新たな素数を発見した。

>インターネットの権利保護団体、米電子フロンティア財団から賞金10万ドルを授与される見通しだ。

へー、発見するだけで時期がよければ1000万円貰えんのか
数式発見したら10億とか貰えるんだろうな。ノーベル賞ってレベルじゃねぇぞ
545Name_Not_Found:2011/11/29(火) 19:21:51.61 ID:???
ふぃぼなっちはGoodPartsにいい解き方書いてあった気がするが
546Name_Not_Found:2011/11/29(火) 19:23:17.88 ID:???
科学技術ってのは数学にレベルに完全に依存してるから
1000万桁の素数が見つかるほど数学が発展したら
SF映画の世界みたいに現実になるかもしれん。
547Name_Not_Found:2011/11/29(火) 19:38:35.42 ID:???
私はあらゆる素数を表現する驚くべき式を発見したが
ここに書くには余白が足りない
548Name_Not_Found:2011/11/29(火) 20:38:18.93 ID:???
正規表現を考案したのも Kleene 先生だからな。
549Name_Not_Found:2011/11/29(火) 20:54:33.75 ID:???
ここの住人ってどれくらいできるの?
答えてる奴みて関心することもあるんか?

参考までにテンプレートみたいなのが欲しい
【S級】
これくらいの技術

【A級】
これくらいの技術


こんな感じでD級くらいまでつくってくれんかな
目標になるし、自分の技術の目安にもなるから

550Name_Not_Found:2011/11/29(火) 20:55:58.74 ID:???
>>546
それ数学の発展関係あるん?
計算機の性能だけとちがうん?
551Name_Not_Found:2011/11/29(火) 21:00:32.18 ID:???
>>549
S級
グーグル開発部
A級
仕事でJavascript関連は大体全部使ってる
B級
Ajaxおもしれー!HTML5おもしれー!
C級
jQueryの動作おもしれー
D級
計算機作るの楽しい
552Name_Not_Found:2011/11/29(火) 21:01:29.15 ID:???
素数求める数式が無理そうなのは分かる…証明できんけど
553Name_Not_Found:2011/11/29(火) 21:05:34.57 ID:???
>>551
俺はE級かF級くらいかな・・・まだ何も作れん
554Name_Not_Found:2011/11/29(火) 21:12:03.98 ID:???
> S級
> グーグル開発部

こいつらはS級というより神々の領域だろ
最近方向性おかしいが最先端+恐ろしい発想+スクリプトによる実現力って完璧超人の集まり
555Name_Not_Found:2011/11/29(火) 21:14:36.55 ID:???
>>550
例えばUFOの動きのジグザグに動いたりするのは
それを記述する数式が存在しないからUFOは作成不可能
で、科学技術のレベル=数学のレベルってこと
的なことをアインシュタインが言ってたと思う。
慣性の法則を無視してるようなUFOの動きなんて
どんな数式か分からんだろってこと。
556Name_Not_Found:2011/11/29(火) 21:26:28.12 ID:???
> 例えばUFOの動きのジグザグに動いたりするのは
> それを記述する数式が存在しないからUFOは作成不可能

なにそれw
557Name_Not_Found:2011/11/29(火) 21:29:23.21 ID:???
UFOって所属不明機だっけ
558Name_Not_Found:2011/11/29(火) 21:32:12.88 ID:???
これじゃね?
さっき、帝国データバンクの大型倒産速報に出た。

巨額詐欺事件の「UFO」社、破産手続き開始 : 社会 : YOMIURI ONLINE(読売新聞)
http://www.yomiuri.co.jp/national/news/20111129-OYT1T01021.htm
559Name_Not_Found:2011/11/29(火) 21:43:03.58 ID:???
しかし、PerlやRubyはPHPに埋め尽くされないよう必死だが
Javascriptの未来は明るいな
HTML5、Ajaxと夢が広がるような技術が沢山出てきた
560Name_Not_Found:2011/11/29(火) 21:49:17.55 ID:???
そろそろECMAScript準拠でよろ
561Name_Not_Found:2011/11/29(火) 22:02:12.34 ID:???
まずはIE8使ってる旧人類を粛清してHTML5、CSS3を対応させるのが先だ
IE9もCSS3対応してないけど
562Name_Not_Found:2011/11/29(火) 22:03:39.21 ID:???
xp の IE 層は長引きそうだな。
563Name_Not_Found:2011/11/29(火) 22:07:42.82 ID:???
Flash不要、HTML5だってiPhone使ってる奴が言ってるけど
そいつらの殆どがHTML5を良く知らずXP使ってIE8使ってるのが現状なんだよね

マイクロソフトがブラウザ自動アップデート実施したとしてもXPじゃIE9対応してないから難しい
564Name_Not_Found:2011/11/29(火) 22:19:15.67 ID:???
IE6への対応する事に比べたら8への対応なんて軽いもんだろ・・・
565Name_Not_Found:2011/11/29(火) 22:38:16.77 ID:???
だいたいAdobeのFlashって高価すぎるねん。
HTML5+JavascriptでFlashで可能なこと全部できる
って感じにならないと絶対にダメ。
566Name_Not_Found:2011/11/29(火) 22:46:33.40 ID:???
MSはUI変更せずにレンダリングエンジン更新する頭無いの?
567Name_Not_Found:2011/11/29(火) 23:03:34.16 ID:???
> HTML5+JavascriptでFlashで可能なこと全部できる
こう勘違いしてる人結構いるよね
canvasはまだまだ
568Name_Not_Found:2011/11/29(火) 23:10:24.65 ID:???
2001年にリリースされたie6が11年経った今でも全盛を
考えて、10年以上html5が普及するまでかかるなな。
今23歳だから、33歳のオッサンになってるなオレは。
569Name_Not_Found:2011/11/29(火) 23:14:10.56 ID:???
禿げ始める頃だな。
570Name_Not_Found:2011/11/29(火) 23:27:45.90 ID:???
言っとくがECMAScript 3rdは1999年、同じ年にXMLHTTPも使えるようになっていた

その頃お前らはとほほを崇めていた
571495:2011/11/29(火) 23:27:56.32 ID:Lu4vW8jP
>>496
ありがとうございます
evt.target よりも evt.currentTarget の方が適切でしょうか
572Name_Not_Found:2011/11/29(火) 23:28:37.14 ID:???
ieなんか捨ててFireFox使うべき
すべての問題解決
573Name_Not_Found:2011/11/29(火) 23:29:08.99 ID:???
>>569
ハゲ頭のオッサン乙

そういやプログラミング板って小中高生っているのかな?
最近は小学生も2ch見てるし。ハッキングとか中学生くらいでも
やれるだろうし、海外では20歳以下が不正アクセスで逮捕も珍しくない。
574Name_Not_Found:2011/11/29(火) 23:31:39.40 ID:???
>>569
おい、まてよ
まさしく俺が33歳だがハゲてねーよ
575Name_Not_Found:2011/11/29(火) 23:44:50.93 ID:???
>>572
その適当なキャメルケースは何だ
576Name_Not_Found:2011/11/29(火) 23:46:13.42 ID:???
まさしく33歳だが、禿げたぜorz
30歳まではちょっと気になる程度だったのに

HTML5は俺の禿げ具合と同じで急速に普及すると思うぞ?
577Name_Not_Found:2011/11/29(火) 23:48:17.41 ID:???
バージョンアップの速度が昔と段違いだもんね
578Name_Not_Found:2011/11/29(火) 23:57:24.68 ID:???
>>574
禿げるから安心しろ。
一度スイッチが入ると、みるみるなくなっていくからw
こわいよー。
579Name_Not_Found:2011/11/30(水) 00:13:48.62 ID:???
>>555
ブラウン運動は?
580Name_Not_Found:2011/11/30(水) 00:15:32.96 ID:???
canvasが2dだけだけど3dになって2Dで3Dを描写するんじゃなく
直接3D描写ができるって考えると胸が熱くなるな
581Name_Not_Found:2011/11/30(水) 00:35:54.15 ID:???
$('div.tab').hover(
function () {var n=$('div.tab').index(this);},
においてnを別に書くにどうすればいいですか?
n=aa();
のようにしたいです。
582Name_Not_Found:2011/11/30(水) 09:29:44.04 ID:???
何が分からないんだか分からないんだけど。別にそう書けばいいじゃん。
583Name_Not_Found:2011/11/30(水) 12:08:08.15 ID:???
>>575
i_eなんか捨ててFIREFOX使うべき
すべての問題解決
584Name_Not_Found:2011/11/30(水) 15:17:29.14 ID:???
var json1 = '{name:"山田",age:30}';
var employee = eval("("+json1+")");
debug(employee.age);
で、evalを使わない方法を教えて下さい。
585584:2011/11/30(水) 15:19:05.65 ID:???
debugの関数はこれです。
function debug(str){
document.getElementById("debug").innerHTML += "<br/>" + str;
}

586Name_Not_Found:2011/11/30(水) 15:23:15.68 ID:???
>>584
json2.js でぐぐれば。
587Name_Not_Found:2011/11/30(水) 15:32:46.58 ID:???
jQueryとかライブラリ使うときって
使わない機能とかもロードされちゃうわけだし
依存ってほどに使うわけでないなら自分でコード書いたほうが
ファイルサイズとか減るし
588Name_Not_Found:2011/11/30(水) 15:38:53.24 ID:???
jQueryはそのまんま全部使うけど
他のライブラリは必要な行だけ切り取って使ってるかなー
自分で作ったほうが動作が軽いし、コードも1/3になる場合は自分で書く
589Name_Not_Found:2011/11/30(水) 15:45:40.16 ID:???
切り取って使ったり改変して使ったりってライセンス的に問題ないの?
590Name_Not_Found:2011/11/30(水) 15:51:32.20 ID:???
jQuery UIの一部分を切り取って使ってるんだけど大丈夫なのかな?
591Name_Not_Found:2011/11/30(水) 15:55:30.77 ID:???
そんな目に見えて早くなったりする?
特にそのまま読み込んで動作させても重くは感じないけど・・・
592Name_Not_Found:2011/11/30(水) 16:09:57.10 ID:???
jqueryはMITかGPLだから、どちらかの要件を満たしていれば大丈夫。
593Name_Not_Found:2011/11/30(水) 17:14:40.37 ID:???
改変できなかったらオープンじゃないよな。
594Name_Not_Found:2011/11/30(水) 18:30:13.59 ID:???
「jQueryは大きすぎる」との声に対応、jQueryをモジュラー化、小型化するプロジェクト「jquip」
http://sourceforge.jp/magazine/11/11/22/124215

呼んだ?呼んだよね?おまたせー
595Name_Not_Found:2011/11/30(水) 19:14:40.47 ID:???
ファイルが大きいのが嫌いな理由は
・サーバーの負荷になる
・クライアント読み込むのに時間がかかる

これだからなぁ、google使って読み込ませてるから90KB程度はあんま気にならん
596Name_Not_Found:2011/11/30(水) 20:20:57.50 ID:???
>>594
情報遅すぎ
597Name_Not_Found:2011/11/30(水) 21:51:44.50 ID:???
var a=1;
var b={};
b.a=a
b.b=a*2
b.c=a*3
|
b.z=a*26
alert(b.c);
a=2;
alert(b.c);

で最初を3、次を6と表記させるにはa=2の後にもう一度
alert(b.c);
a=2;
alert(b.c)
b.a=a
b.b=a*2
b.c=a*3
|
b.z=a*26

とやらないとダメだと思うのですが
bの配列の中身をいっぺんにまとめて全部更新というか、一度にもう一度同期みたいな事をさせてる事はできないのでしょうか?
598584:2011/11/30(水) 22:03:33.41 ID:???
>>586
json2.jsの中身がalert("error")とか意味不明です。
解説頼みます。
599Name_Not_Found:2011/11/30(水) 22:19:05.28 ID:???
>>584
どれを見てるかは知らないけどjson2.js内にはそんな記述無いが
ttps://github.com/douglascrockford/JSON-js

600Name_Not_Found:2011/11/30(水) 22:21:42.55 ID:???
>>584
{name:"山田",age:30} これはJSONとして正しくない(JSONではない)。
{"name":"山田","age":30} が正解。JSONはダブルクォートを省略できない(シングルクォートにするのも不可)
601Name_Not_Found:2011/11/30(水) 22:29:30.19 ID:???
マルチバイト文字のユニコードエスケープは必須ではない?ですか?
602Name_Not_Found:2011/11/30(水) 22:47:16.47 ID:???
ユニコードエスケープは必須じゃないし、推奨されているわけでもない。エスケープしてもいいよくらい。
603Name_Not_Found:2011/11/30(水) 22:53:19.49 ID:???
ありがとうございます
604Name_Not_Found:2011/11/30(水) 22:57:02.15 ID:???
>>587
つCDN
jQueryとかはakamaiが持ってるし
適切に使っていればダウンロードすら発生しない
605Name_Not_Found:2011/11/30(水) 23:26:11.93 ID:???
>>584
はじめからJSONで出力すれば?
606597:2011/11/30(水) 23:54:29.18 ID:???
変数の値に指定されてる変数の値を確認させる方法はあるのでしょうか?
607Name_Not_Found:2011/12/01(木) 00:17:47.80 ID:w69IB5hY
>>606
オブジェクトつかって参照渡しすれば?
608Name_Not_Found:2011/12/01(木) 00:22:16.11 ID:???
>>597
function setB (a) {
b.a = a;
b.b = a *2;
b.c = a * 3;
}
609584:2011/12/01(木) 00:31:17.21 ID:???
上の方でperlとかの話題が出るが、PHP、Javascript、C言語、
C++をやるのが精一杯で他の言語やる暇がない。
ってか大学の研究ではC言語しかやらんし、独学でWebプログラミング
の勉強してるが、あんまり捗らないな、JavascriptのjQuery、Prototype.js
とか覚えることがかなりあるし。
610Name_Not_Found:2011/12/01(木) 00:34:01.84 ID:???
いやいや、まてよ
jQueryって覚える事なんてあるか???
セレクターだけちょっと覚えたら、後はもうなんとでもなるだろ
611Name_Not_Found:2011/12/01(木) 00:37:36.80 ID:???
>>597
var a = 2;
var b = {};
var t = ['a', 'b' 〜略〜 'y', 'z']; // a - zを並べる
for (var i = 1; i <= 26; i++) {
b[t[i - 1]] = a * i;
}

みたいなことをしたいのかな。
612Name_Not_Found:2011/12/01(木) 00:48:20.72 ID:???
>>610
画像をうpするこのライブラリ短いのに読んでも
よく分からないレベルだぜ
ajaxfileupload.js
http://www.phpletter.com/Our-Projects/AjaxFileUpload/
613Name_Not_Found:2011/12/01(木) 00:48:35.71 ID:aUGzqqFN
>>608
どうせならbのメソッドにしたいかも

b.set = function(n){
this.a = n;
this.b = n * 2;
this.c = n * 3;
};
614Name_Not_Found:2011/12/01(木) 01:03:15.57 ID:???
>>607>>608
ありがとうございます
この場合はこの方法でなんとか解決しましたが、もう一つのパターンありまして
var a=テキストAの値
var b=テキストBの値
var c=テキストCの値

b{
a:計算式A
b:計算式B
}

で、計算式AもBも変更できるようにし
計算式Aをa*bからa+c*bに変更して

b.a、b.bの計算結果をはじき出すというのにしたい場合はどうにかならないでしょうか?
オブジェクトでも計算式の変更とかはできませんよね?
615Name_Not_Found:2011/12/01(木) 01:09:20.65 ID:???
オーバーライドじゃ駄目なん?
616Name_Not_Found:2011/12/01(木) 01:25:02.60 ID:???
つまり配列に計算式格納して計算式を変えていきたいってことだろ?
そしてそれを引き出して計算させる
617Name_Not_Found:2011/12/01(木) 02:30:02.43 ID:???
>>597

b.a="a"
b.b="a*2"
b.c="a*3"
|
b.z="a*26"

alert(eval(b.c));
a=2;
alert(eval(b.c));
618Name_Not_Found:2011/12/01(木) 02:48:07.89 ID:???
>>617
こういう視点の違った発想できる奴が本当に羨ましい
619Name_Not_Found:2011/12/01(木) 02:51:40.14 ID:???
javascriptのエディタに関する質問ってどのスレですればいいですか?
620Name_Not_Found:2011/12/01(木) 03:10:19.91 ID:???
eval使う必要あるんか
621Name_Not_Found:2011/12/01(木) 03:24:03.81 ID:???
>>620
evalじゃないと文字列(数式)→変数(計算実行)にならなくね?
622Name_Not_Found:2011/12/01(木) 04:06:15.14 ID:???
それぞれメソッドにした方がいいんじゃないの
623Name_Not_Found:2011/12/01(木) 09:41:40.46 ID:???
計算式まで変わるんなら普通メソッドにするよね
624>>597>>614:2011/12/01(木) 11:30:36.57 ID:???
おはようございます
>>617の方法でも大丈夫でしたが、メソッドを使ってそれを変更していく場合は具体的にはどうなるのでしょうか?
計算式A(b.a)=a*bから計算式A(b.a)=a+c*bに変更したりです
625Name_Not_Found:2011/12/01(木) 13:36:52.24 ID:???
>>623
こう?

b={
a:function(a){return a;},
b:function(a){return a*2;},
c:function(a){return a*3;},
|
z:function(a){return a*4;}
};

alert(b.c(a));
a=2;
alert(b.c(a));
626Name_Not_Found:2011/12/01(木) 13:38:37.41 ID:???
evalって実際に使われたりしてるの見たことない
627Name_Not_Found:2011/12/01(木) 13:43:13.79 ID:???
evalで威張るな
628Name_Not_Found:2011/12/01(木) 13:54:10.61 ID:w69IB5hY
どうしても「いーばる」と呼んでしまう
629Name_Not_Found:2011/12/01(木) 15:02:51.09 ID:???
function fnc(){
var b = document.getElementById('btn');
var c = function(){console.log("Click!");};
b.attachEvent('onclick',c); //b.addEventListener('click',c,false);
}
は、典型的な古いブラウザーでメモリーリークが発生する循環参照のパターンですが
bとcの代入部分の位置を入れ替えても循環参照は発生するのでしょうか?
var c = function(){console.log("Click!");};
var b = document.getElementById('btn');
b.addEventListener('click',c,false);
また、cをfncの外に置いたり、fncの最後でd=nullしたり、このパターンならbに要素'btn'を参照させる必要がないので
document.getElementById('btn').attachEvent('onclick',c);などとする以外に対処法はあるのでしょうか?
630Name_Not_Found:2011/12/01(木) 15:17:39.03 ID:???
メソッドって追加は出来たけど変更なんてできたっけ?
631Name_Not_Found:2011/12/01(木) 15:20:29.30 ID:???
追加ってなんだ
632Name_Not_Found:2011/12/01(木) 15:21:18.55 ID:g/mxLabz
evalはボタンの数をカウントするときとか・・・・
633Name_Not_Found:2011/12/01(木) 15:23:00.67 ID:???
プロトタイプ
634Name_Not_Found:2011/12/01(木) 15:25:12.74 ID:???
あれクラックしてほしいときに混入しておくものじゃないのか
635Name_Not_Found:2011/12/01(木) 15:31:10.46 ID:???
あ、そうかもゴメン忘れて
636Name_Not_Found:2011/12/01(木) 15:54:38.03 ID:???
>>629
> bとcの代入部分の位置を入れ替えても循環参照は発生するのでしょうか?

「bに#btnが代入される前に、関数を生成すれば…」てことなんだろうけど
bに#btnが代入されるタイミングは関係ないです。代入された時点で循環してしまう。

例に上がった対処以外では

var c = new Function('console.log("Click!");');

Functionコンストラクタで生成される関数に加えられるスコープは
グローバルオブジェクトだけと決まられてます。fncのスコープは追加されません。
637Name_Not_Found:2011/12/01(木) 16:04:42.66 ID:???
> 代入された時点で循環してしまう

これは正確じゃないね。bのプロパティにcが加えられた時点で循環してしまう。ね
638Name_Not_Found:2011/12/01(木) 16:57:59.15 ID:???
>>636,637
>var c = new Function('console.log("Click!");');
こんな方法があるとは思いませんでした 大変参考になりました、ありがとうございます
639Name_Not_Found:2011/12/01(木) 17:22:04.78 ID:???
idとイベント名と関数を渡せば、
attachEventやaddEventListenerしてくれる関数を作って呼び出せばいいんじゃないの?
640Name_Not_Found:2011/12/01(木) 18:04:27.49 ID:???
>>639
イベントリスナーを付ける要素に必ずid属性を付けなければならない制限はありますが
確かにそのような方法も選択肢としてありますね
641Name_Not_Found:2011/12/01(木) 19:14:56.10 ID:???
myFolder = Folder.selectDialog("フォルダを選択して下さい");
ABC = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
for (i = 0; i < ABC.length; i++) {
LayerXtext = ABC.charAt(i);
exFolder = new Folder("\""+myfolder+"/"+LayerXtext+"\"");
if(exFolder.exists){

と続いていくのですが、つまり、選んだフォルダ/存在するA〜Zのフォルダを読み込みたいのです
しかし2行目で「Folderライプのオブジェクトが、Number、配列、またはPripertyが必要な場所で見つかりました」と出ます
指定の仕方が間違っているらしいのですが、どなたか教えてもらえないでしょうか
642Name_Not_Found:2011/12/01(木) 19:23:34.44 ID:???
evalを使わず文字列を変数にする方法はありますか?
643Name_Not_Found:2011/12/01(木) 19:39:02.75 ID:w69IB5hY
>>642
「=」でsplitして割れた2つをゴニョゴニョすれば
644Name_Not_Found:2011/12/01(木) 19:41:28.10 ID:???
>>642
プロパティにしたら?
645Name_Not_Found:2011/12/01(木) 19:48:02.57 ID:???
っつーかさ、evalを使わずに文字列を変数にしたって
それは結果としては同じなんだからeval使うのと危険性変わらなくね?意味なくね?
646Name_Not_Found:2011/12/01(木) 19:49:25.28 ID:???
>>643
b=2;
var a="b=1";
alert(b);
s=a.split('=');
window[s[0]] = s[1];
alert(b);
647Name_Not_Found:2011/12/01(木) 20:15:59.57 ID:???
>>644
具体的に言いますと?
648Name_Not_Found:2011/12/01(木) 20:21:53.82 ID:???
>>647
>>646の方法。
プロパティ名に変数名、プロパティにその中身。
649Name_Not_Found:2011/12/01(木) 21:11:36.28 ID:???
json_decode
parse_ini_string
650Name_Not_Found:2011/12/01(木) 21:51:39.66 ID:???
スレ間違えた
651Name_Not_Found:2011/12/01(木) 22:13:53.21 ID:???
>>645
JSONの中では勝手に関数呼び出したりできないわけだけど、めくらで
evalに食べさせたら中に関数呼び出しとかあって勝手なことされても
分からないでしょ。全部パースしてJSONに適合するものしか無いことを
確認した後でevalするんなら危険ないですよ、そりゃ。
652Name_Not_Found:2011/12/02(金) 00:01:41.89 ID:???
WindowsのFirefox8についての質問です。
TR要素にCSSでborderを設定したときにborderWidthを正しく取得する方法はないでしょうか?
たとえば以下の例の場合、Chromeでは1pxとなりますが、Firefoxでは0pxとなります。
<!DOCTYPE html>
<html lang='ja'>
<head>
<meta charset="utf-8" />
<style type="text/css">
table {border-collapse: collapse;border-spacing: 0}
tr {border: 1px solid black}
</style>
</head>
<body>
<table><tbody>
<tr id="test"><td>1</td></tr>
</tbody></table>
<script type='text/javascript'>
var style = document.defaultView.getComputedStyle(document.getElementById("test"), '');
alert(style.borderTopWidth)
</script>
</body>
</html>
653Name_Not_Found:2011/12/02(金) 02:55:26.93 ID:???
>>645
例えば…
var a = 'alert=function(){console.log("hoge")}';
eval(a);
alert('test');

var a = 'alert=function(){console.log("hoge")}';
var s=a.split('=');window[s[0]] = s[1];
alert('test');

前者はalert()が乗っ取られるけど、後者はエラーになる。
>>651 が言うように、ちゃんとパースすりゃ大丈夫とは思うけど。
654Name_Not_Found:2011/12/02(金) 04:02:02.64 ID:???
JSON.parse使えばええやん
655Name_Not_Found:2011/12/02(金) 05:13:01.82 ID:???
=で分割しての代入だと結局>>617の変数aの問題が解決しないがな
656Name_Not_Found:2011/12/02(金) 05:26:13.82 ID:???
そんな前からの話題なのか。
657Name_Not_Found:2011/12/02(金) 06:42:59.71 ID:???
>>617は普通にGETTER使えばええやん
それか変な事望まずに普通に毎回*a使えよ
658Name_Not_Found:2011/12/02(金) 09:33:48.41 ID:???
ゲッタセッタはまだ普通に使っちゃダメだろ
659Name_Not_Found:2011/12/02(金) 09:53:26.43 ID:???
>>641
一般的なJavaScriptの環境にFolderなんてタイプはないよ。どういう環
境を想定しているの?

660Name_Not_Found:2011/12/02(金) 10:14:02.24 ID:???
調べるとまたフォトショみたいね
あとmyFolderの変数名が間違ってるようだが
661Name_Not_Found:2011/12/02(金) 10:59:56.22 ID:???
ChromeでXHR実行したら
Error: NETWORK_ERR: XMLHttpRequest Exception 101
ていうエラーが出ました。

ネットで調べてみるとローカルアクセス関係で出るそうですがローカルアクセスは一切利用していません。
あとよくあるクロスドメインのエラーでもないみたいです。
コードはこんな感じです
var req = new XMLHttpRequest();
req.open('GET', url, false);
req.overrideMimeType('text/plain; charset=x-user-defined');
req.send(null);
if (req.status != 200) return '';
return req.responseText;
誰かわかる方いませんか。
662Name_Not_Found:2011/12/02(金) 12:11:51.23 ID:???
質問です

HTML画面に例えば
<canvas id="tutorial" width="400" height="400"></canvas>
こういった横 400 ピクセル、縦400 ピクセルというCanvasがあります.
その中に文字,テキストボックスやボタンの表示は可能ですか??

よろしくお願いします.
663Name_Not_Found:2011/12/02(金) 12:16:50.71 ID:???
cssのpositionでinput要素等をcanvas要素の上に重ねれば
664Name_Not_Found:2011/12/02(金) 12:18:17.80 ID:???
>>662
可能です
665Name_Not_Found:2011/12/02(金) 12:47:55.68 ID:???
>>661
jsfiddle

>>662
マルチ乙
666Name_Not_Found:2011/12/02(金) 17:51:25.11 ID:???
>>665
マルチ乙ってのもマルチじゃねーかw
667Name_Not_Found:2011/12/02(金) 18:47:46.54 ID:???
おまえは何を言っているんだ
668Name_Not_Found:2011/12/02(金) 19:47:44.14 ID:5fYi2DSx
var hoge = "hoge";
があったとして、文字列の最初の文字だけ大文字にする最短の書き方を教えてください
669Name_Not_Found:2011/12/02(金) 19:52:19.89 ID:???
"aaaaaaa".replace(/^(.)/, function(e){return e.toUpperCase()});
670Name_Not_Found:2011/12/02(金) 19:54:06.16 ID:???
レスどうもありがとうございます
自分の思いついたのはこれです
hoge=hoge.replace(/.?/,function(s){return s.toUpperCase()});
変わらないですね
長い
671Name_Not_Found:2011/12/02(金) 19:55:38.69 ID:???
>>670
hoge[0].toUpperCase() + hoge.slice(1)
672668:2011/12/02(金) 19:59:10.42 ID:???
String[N]はIE6でエラーが出ました(書き換えるときにエラー?)
後出しになってすみません、IE(IE6含む)にも対応させたいです
673Name_Not_Found:2011/12/02(金) 20:01:40.81 ID:???
671さんの発想で少し短くなりました。ありがとうございますm(_ _)m
hoge=hoge.charAt().toUpperCase()+hoge.slice(1)
674Name_Not_Found:2011/12/02(金) 20:16:32.43 ID:???
>>659
すみません、板間違えました…
675Name_Not_Found:2011/12/03(土) 03:51:30.81 ID:???
jsファイルをたくさん読み込んでると
うっかりして変数が被ってしまうことごあたまにあります

仕事でjavascriptを使ったりしてる人はそういうのどーやって対処したりしていますか?
676Name_Not_Found:2011/12/03(土) 04:03:01.67 ID:???
>>675
普通、小分けしたjsでグローバル変数なんて使わない
677Name_Not_Found:2011/12/03(土) 04:12:14.75 ID:???
使わないでどうやってやり取りするんだ
678Name_Not_Found:2011/12/03(土) 04:40:10.94 ID:???
「うっかり」被るような貧乏臭いコードを書かない、使わない
679Name_Not_Found:2011/12/03(土) 05:27:01.28 ID:???
ま、言うほど簡単ではないがな
お前あまり長いコードを書いたことないだろ
680Name_Not_Found:2011/12/03(土) 06:16:26.65 ID:???
>>677
いったい、どんなコード書いてんだ。
確実に経験不足だろ
681Name_Not_Found:2011/12/03(土) 06:31:00.38 ID:???
>>680
各jsで、こういうコード書いてるけどグーロバル変数使わずにやれるの?


var global_var = global_var || {};


(function() {


 global_var.a = "ああ";
 global_var.func = function () {

 };

})();
682Name_Not_Found:2011/12/03(土) 06:39:51.93 ID:???
>>681
どうしてそんな変な設計な訳?
大体は、jsの中は関数作って本筋で呼び出して、
本筋でインスタンス化させたり、単体関数として使わない?

どうして、そのjsの中でグローバル変数を使う必要がるの?
どんな場合なのそれ
683Name_Not_Found:2011/12/03(土) 06:41:46.54 ID:???
外部jsで変数定義するなよ…
定数ならありだと思うけど
684Name_Not_Found:2011/12/03(土) 07:05:40.02 ID:???
>>681

function hoge () {
  var tmp = "ああ";

  this.func = function (a) {
    tmp = a;
    alert(tmp);
  }
}


これを本筋で var ins = new hoge(); と使うんじゃダメですか
685684:2011/12/03(土) 07:37:46.02 ID:???
あぁ〜間違ってるー
すみません、忘れてくださいorz
686Name_Not_Found:2011/12/03(土) 07:41:50.75 ID:???
>>682-684
後出しで申し訳ない
webではそうしてるけどfirefoxアドオンの場合さっき書いた方法でしてる
複数のファイルに分けてるんだけど、名前空間汚したくはないし
687Name_Not_Found:2011/12/03(土) 07:43:58.53 ID:???
一つのネームスペースにまとめろよ
688Name_Not_Found:2011/12/03(土) 08:07:53.18 ID:???
>>686
どうしてもというなら、バッティングしないように名前の付け方を統一するのがいい
一般的には、関数の名前の付け方は単語の連結部分は頭文字を大文字にする

global_var なら、関数として名前付けるなら、globalVar
アンダーバー入れて単語の区切り付けるのは変数
定数は全部大文字にする事が多い

この付け方で関数名までバッティングするようなら、ちょっと考えなおした方がいい
689Name_Not_Found:2011/12/03(土) 09:13:07.72 ID:???
関数定義もグローバルで変数定義してるのと変わらん。
一番最小なのは各JSに1つ変数を定義するか
若しくはnode.jsのmoduleみたいな感じで動くものを設計してやると良い
690Name_Not_Found:2011/12/03(土) 10:36:48.54 ID:???
// module1.js
window["module1"] = {
    aaaa : function() { alert("hello"); },
    bbbb : "hello?"
}
// module2.js
window["module2"] = {
    aaaa : function() { alert("world"); }
}
こんなかんじでおk
691Name_Not_Found:2011/12/03(土) 12:36:10.12 ID:???
カスタムイベントを飛ばし合えばいいんじゃないの
692Name_Not_Found:2011/12/03(土) 12:36:54.54 ID:???
>>683
えっ
693Name_Not_Found:2011/12/03(土) 14:09:28.18 ID:???
>>692
何が疑問なのかはっきり書いた方がいいよ
694Name_Not_Found:2011/12/03(土) 16:25:48.28 ID:???
すいません、質問になるのか分からないのですが
もしよろしければご教授ください。
ある案件でjqueryのライブラリをいくつか使った
数ページのちょっとしたサイトを納品しました。
納品先はクライアントではなく、
クライアントのサーバを管理する別の制作会社です。
で先日そこから突然サーバOSやインストールした
プログラム一覧が送られてきて「jqueryのバージョンもご確認ください」
とか意味不明なことを言ってきたのですが
(実際そこが作業したものの一覧ではなく
ホスティング業者が用意したfedora core 3標準のリスト)
そこの会社の担当者は超絶馬鹿ってことで宜しいでしょうか。。
OSとミドルウェアとフロントエンドの区別も付かんとは。。
しかも自分のとこがjsの何を入れたかも分からんという。。。

695Name_Not_Found:2011/12/03(土) 16:50:43.35 ID:???
>>694
javascriptのコードに例えてみて。
696Name_Not_Found:2011/12/03(土) 17:00:10.86 ID:???
サーバサイドの何か入れてんじゃないの?
で入れてるのは知ってるけどそれが分からんという。
まあでもバカなのは一緒か。
697Name_Not_Found:2011/12/03(土) 17:11:33.49 ID:???
694が馬鹿なのはよくわかったw
698Name_Not_Found:2011/12/03(土) 17:31:41.89 ID:???
バカバカ廚がおりますな
699Name_Not_Found:2011/12/03(土) 17:35:24.50 ID:???
>>694
納品先で使用しているjQueryバージョンに合わせて作れ、ってことじゃないの?
バージョンが意味不明とか制作者としては有り得ない発言だよ
700Name_Not_Found:2011/12/03(土) 19:03:55.80 ID:???
あ、どうもすいません。説明不足でした。こちらはサーバ触れないので、jQuery自体を
同梱してそれ使ってください、まぁ同じバージョンのものは
ネットにももちろんありますけど、
って納品したんですよ。
制作開始時にサーバのスペックは聞いてません。
もともと本当はデザインのみの納品のお約束だったんですが
向こうが良く分からんとか言うので。
だからバージョン確認してくれとかほんと意味分からないんですよ。
ブラウザで見てもちゃんと動作してんですけどね。
701Name_Not_Found:2011/12/03(土) 19:13:25.68 ID:???
使ってるソフトやライブラリをリストアップする必要が出てきて、
こっちで調べた値が正しいか確認してくれってことじゃないの?
702Name_Not_Found:2011/12/03(土) 19:28:22.40 ID:???
いや、向こうは調べてないんですよ。。
送ってきたのはホスティング会社が
用意してるスペック説明ページなんで。
jqueryがそのリストに入ってるわけないじゃないですか。
レイヤーとしては、普通のアプリと同じレベルのもので
あくまで自分で入れるものですから。
しかもこちらがソース渡してますし、開発環境でも動作してるので
絶対そちらが自分で入れてるのに、そう言うんですよ。。
703Name_Not_Found:2011/12/03(土) 19:29:47.85 ID:???
当事者間で話し合うべきことでは?
相手のいないところで一方的に自分の主張だけを展開するのっていい感じしないな。
同意や同情がほしいだけなら家族や友人に言えばいいと思う。おまえのいうとおりだよ、ってママならきっと言ってくれるよ。
技術系スレだと一方の主張だけを聞いて判断を下すなんて客観性のないことをする人はあんまりいないと思うし。
引数が足りません。
704Name_Not_Found:2011/12/03(土) 19:44:01.27 ID:???
気分を害したようならお詫びいたしますが、
主張じゃなくて全部事実なんですよ。
引数がたりないといえば、確かにそうですけどね。
スレ汚し失礼いたしました。
705Name_Not_Found:2011/12/03(土) 22:16:36.43 ID:???
>>703
客観性云々とか言ってるわりには、ママがどうとか
自分がずいぶんと感情的なことが分かってないねお前w
706Name_Not_Found:2011/12/03(土) 22:41:40.68 ID:/XStSVGm
>>705
ま、ここで>>703が感情的かどうかは関係ないけどなw
707Name_Not_Found:2011/12/03(土) 22:58:23.26 ID:???
この一連の流れはJavaScript自体関係ないけどな
708Name_Not_Found:2011/12/03(土) 22:59:03.24 ID:/XStSVGm
そだねwじゃ、この流れは終了でw
709Name_Not_Found:2011/12/03(土) 23:07:23.02 ID:???
おっぱいプルルン
710Name_Not_Found:2011/12/03(土) 23:23:03.17 ID:???
ふぅ
711Name_Not_Found:2011/12/03(土) 23:37:27.70 ID:???
見た漢字 >>681 が一番干渉しなくていいと思うんだけど
コードはダサいけどね

712Name_Not_Found:2011/12/03(土) 23:43:24.01 ID:e75O20Ha
addEventListener() をHookしたいのですが、どのオブジェクトを書き換えたらいいでしょうか?
具体的には、ある特定のイベントタイプが登録された場合、追加で処理を行いたいです。
713Name_Not_Found:2011/12/04(日) 00:00:29.73 ID:???
714Name_Not_Found:2011/12/04(日) 05:13:42.17 ID:???
inputで入力した値を他にコピーするサンプルですが、

window.onload=function(){
 f1=document.getElementById('f1');
 f2=document.getElementById('f2');
 f1.onkeydown=function(){
  f2.value=f1.value;
 }
 window.onunload=function(){
  f1=null;
  f2=null;
 }
}

こんなので問題ないでしょうか?
メモリリークとかが心配です。
もっとましな書き方があればご教示願いしますm(__)m
715Name_Not_Found:2011/12/04(日) 07:36:38.38 ID:???
<script>
function test() {
alert('HI');
}
function det() {
window.removeEventListener('click', test, false);
}
window.onload=function(){
window.addEventListener('click', test, false);
};
</script>
<button onclick="det()">detach</button>

これを、下のように無名関数を使うと機能しないのですが、
無名関数を使っても同じように機能剃る方法とかないでしょうか?

<script>
function det() {
window.removeEventListener('click', function() {
alert('HI');
}, false);
}
window.onload=function(){
window.addEventListener('click', function() {
alert('HI');
}, false);
};
</script>
<button onclick="det()">detach</button>
716Name_Not_Found:2011/12/04(日) 08:48:25.65 ID:???
無名だろうがなんだろうが
参照を変数にいれとかんとremoveはできないお
717715:2011/12/04(日) 08:51:36.45 ID:???
>>716
ありがとうございます!
718715:2011/12/04(日) 10:19:49.96 ID:???
もう1つお願いします
IEのattachEventですが、addEventListenerとはだいぶ挙動が違いますよね?

function hello() {
alert('HELLO');
}
function world() {
alert('WORLD');
}
window.attachEvent('onload', hello);
window.attachEvent('onload', world);

これはなぜかWORLD→HELLOの順番になりますし

var btn1 = document.getElementById('btn1');
btn1.attachEvent('onclick', hello);
btn1.attachEvent('onclick' world);

これはWORLDしか表示されません(1つしか登録できない?)
719Name_Not_Found:2011/12/04(日) 10:57:21.42 ID:???
>IEのattachEventですが、addEventListenerとはだいぶ挙動が違いますよね?
うん。
DOM2ではaddEventListenerも順番の定義はなかったそうな。

>これはWORLDしか表示されません(1つしか登録できない?)
そんなことないけど
btn1.attachEvent('onclick' world);
これはカンマがないからエラー出てるよ
720715:2011/12/04(日) 11:39:11.19 ID:???
>>719
ありがとうございます!

もう1度スクリプト見なおして実行しなおしてきます
721think49 ◆bKk/qcAKuM :2011/12/04(日) 15:08:21.45 ID:???
>>714
// マシなやり方その1
document.attachEvent('onkeydown', function (event) {
 var f1 = event.srcElement;
 if (f1.id === 'f1') {
  f1.ownerDocument.getElementById('f2').value = f1.value;
 }
});

// マシなやり方その2
attachEvent('onload', function () {
 document.getElementById('f1').attachEvent('onkeydown', function (event) {
  var f1 = event.srcElement;
  f1.ownerDocument.getElementById('f2').value = f1.value;
 });
});

// マシなやり方その3
attachEvent('onload', function () {
 function onKeydown (event) {
  var f1 = event.srcElement;
  f1.ownerDocument.getElementById('f2').value = f1.value;
 }
 function init () {
  document.getElementById('f1').attachEvent('onkeydown', onKeydown);
 }
});

いずれの場合も unload 時に detachEvent するのはいい作法ですが、それでもあえて循環参照させる必要はありません。
attachEvent では無理(少なくとも IE8 までは)ですが、addEventListener なら onload 時に event.target で document オブジェクトを取得できます。
722think49 ◆bKk/qcAKuM :2011/12/04(日) 15:12:49.72 ID:???
>>718
attachEvent によるハンドラはランダムに実行される仕様です。
一応、実装を調べると規則性はあるようですが仕様上はランダムです。

"When sEvent fires on the object, the object's sEvent handler is called before fpNotify, the specified function.
If you attach multiple functions to the same event on the same object, the functions are called in random order, immediately after the object's event handler is called."
http://msdn.microsoft.com/en-us/library/ms536343%28v=vs.85%29.aspx
723Name_Not_Found:2011/12/04(日) 15:16:36.65 ID:???
>>714
f1 と f2 が同じフォームに属するなら f1.form.elements['f2'] で取得する方がいい
724Name_Not_Found:2011/12/04(日) 15:34:17.71 ID:???
>>723
elements.namedItem('f2')
725Name_Not_Found:2011/12/04(日) 18:50:23.04 ID:+91G9UMa
配列に対して、hoge["0"]、hoge["1"]、みたいに文字列の数字でアクセスできてもそれは
実装が気を配ってくれているだけですか?ちゃんと数値に変換しておかないと駄目ですか?
726Name_Not_Found:2011/12/04(日) 19:07:46.99 ID:???
a["1"]とa[1]は等価
ついでに a.bとa["b"]も等価
727Name_Not_Found:2011/12/04(日) 19:19:30.07 ID:ApPkvO21
このサイトもなかなか凝ったスクリプト使ってるわ
http://www.wakasiba.com
728Name_Not_Found:2011/12/04(日) 19:23:07.17 ID:???
怖くて踏めない
729Name_Not_Found:2011/12/04(日) 19:24:42.39 ID:???
>>726
どうもありがとうございます
730Name_Not_Found:2011/12/04(日) 19:57:06.64 ID:???
ローカルにあるHTMLファイルを
別のHTML要素の中にサムネイル表示する方法がありましたら教えて下さい.
731Name_Not_Found:2011/12/04(日) 19:59:39.40 ID:???
iframeとか?
732Name_Not_Found:2011/12/04(日) 20:01:22.96 ID:???
>>731
ありがとうございます
出来ればIframeを使わずにが理想です・・・
733Name_Not_Found:2011/12/04(日) 20:01:35.69 ID:???
googleの>>で表示されるアレ?
734Name_Not_Found:2011/12/04(日) 20:05:49.52 ID:???
>>733
あのような感じのものですね
735Name_Not_Found:2011/12/04(日) 20:05:55.39 ID:???
そもそもローカルだろうがウェブ上だろうがJavascriptだけでHTMLファイルをレンダリングした結果のサムネイル生成って無理じゃないの?
サーバサイドで変換するか、拡張機能の権限ならできるとかじゃない?
736Name_Not_Found:2011/12/04(日) 20:10:49.85 ID:???
自前でレンダリングしてcanvasに表示とか。
737Name_Not_Found:2011/12/04(日) 20:14:08.83 ID:???
AjaxってJavascriptは無理だけど、CSS読み込めたっけ?

俺もcanvas使うの思いついたけど、最終的にどうすればいいのかまではわからん
738Name_Not_Found:2011/12/04(日) 20:16:31.18 ID:???
>>735
無理なんですかね・・・
サーバーサイドで変換というのは??

>>736
レンダリングの仕方ってのがちょっと分からないですね
無知で申し訳ないです

739Name_Not_Found:2011/12/04(日) 20:18:28.29 ID:???
>>737
テキストとして取得すればなんとでもなるだろ。
自前でレンダリング=ブラウザ作ることだけどね。
740Name_Not_Found:2011/12/04(日) 20:21:23.15 ID:???
まあ、そこまでしなくてもXHRつかって、divの中に小さく表示させるとか出来なくなさそうな気もするな。
741Name_Not_Found:2011/12/04(日) 20:38:10.17 ID:???
>>740
是非その方法を教えて頂きたいです
よろしくお願いします
742Name_Not_Found:2011/12/04(日) 20:38:51.54 ID:???
>>739
スクリプトをテキストとして取得してevalかー?
そいえばcanvasを画像として生成する方法はあるけど、HTMLをcanvasで読み込んで画像として生成する方法とかあんのかな?
743Name_Not_Found:2011/12/04(日) 20:40:27.79 ID:???
>>741
できそうな気がするだけ。なんで俺がコード書かなきゃなんないの?
744Name_Not_Found:2011/12/04(日) 20:42:09.18 ID:???
出来そうな気がする←発案者

大まかな流れを考える←開発者

コード書く←労働者

つまり開発まで頼むってことじゃね?
745Name_Not_Found:2011/12/04(日) 20:44:51.69 ID:???
>>744
んなもんタダでやれるかよ。
746Name_Not_Found:2011/12/04(日) 20:46:41.40 ID:???
サーバーサイドやらないと無理で終了でいんじゃね?
747Name_Not_Found:2011/12/04(日) 20:54:57.11 ID:???
transformとiframeで
748Name_Not_Found:2011/12/04(日) 20:54:59.38 ID:???
やっぱiframe以外だと、予め表示する予定のサイト以外は無理じゃね?
googleは20万台って所有してるサーバーあってこその荒業だと思うし

googleそういうAPI提供してねーのかな
749Name_Not_Found:2011/12/04(日) 20:55:12.32 ID:???
Javascriptで出来ると思うけど「縮小」っのが面倒だね。
div要素生成

jQuery.load()で呼び出して

body以下を抜き出し

CSS駆使して縮小

んなところ?
750Name_Not_Found:2011/12/04(日) 20:55:58.17 ID:???
>>747
クロスブラウザではないよな
751Name_Not_Found:2011/12/04(日) 21:04:24.58 ID:???
749のつづき

縮小するために表示されてる大きさを取得するには、実際に表示されている必要があるので、
縮小が完了するまではzindexつかってベタ塗りのdivでかったしておくとかの細工がいるかも。
752Name_Not_Found:2011/12/04(日) 21:08:38.81 ID:???
マジで実装したいなら、サーバーだな
753Name_Not_Found:2011/12/05(月) 00:14:24.18 ID:???
皆さんHTML5のcanvasとXMLのAjaxを同時に使うとき
どのような形で<head>までのhtml宣言をしていますか?
754Name_Not_Found:2011/12/05(月) 01:44:16.52 ID:???
公衆無線LANのConnectFree、利用するとAmazonアフィなどが勝手に組み込まれることが発覚
http://ikura.2ch.net/test/read.cgi/news/1323011786/

ちょっと面白いネタ投下
if (!((document.location+"").match("://www.amazon.co.jp/"))) {
(略)
this.href = uri_rewrite(this.href+"", {'tag':'cfnetwork-22'} ) });

ひどくね?wwwww
755Name_Not_Found:2011/12/05(月) 09:24:12.56 ID:???
それなかなかいいんじゃね?
他人のサイトを表示して起きつつアフィを乗っ取る。
自分で記事書かなくてすむじゃないか。
756Name_Not_Found:2011/12/05(月) 14:12:36.32 ID:???
>>754
逆にこちらもおなじ方法を使って上書きしてやるんだ
deferやonloadで
757Name_Not_Found:2011/12/05(月) 15:41:06.19 ID:???
document.location だから、アマゾンのページに行った後に、書き換えてるんじゃね?
何故かリロードされるってな感じでバレたのかな。
GETリクエストに追加すりゃいいのに。
758Name_Not_Found:2011/12/05(月) 15:44:14.62 ID:???
普通それくらいのことは思いつくだろ?w
でも自分が他人の利益になることを止めるのが限界で
他人の利益を自分の利益にすげ替えるのはそのくらいの設備を作って
他人にも利用させなければいけないからできないってだけで。
759Name_Not_Found:2011/12/05(月) 15:50:08.76 ID:???
greasemonkeyスクリプトでも似たようなことをやっているものがあったね
というかmatchって引数に文字列も取れたんすね
760Name_Not_Found:2011/12/05(月) 16:30:37.78 ID:???
(document.location+"")とか回りくどいことしてるけど
location.hrefて文字列以外が返ることあるのかね
761Name_Not_Found:2011/12/05(月) 16:53:11.69 ID:???
Gmailに新着が入った時にFaviconがぼんやり点灯する感じになりますが、
あれってどうやってるんでしょうか?たぶんAjax的なものでやってるのかなぁと思って
調べてるんですがさっぱり引っかからずで・・・。
762Name_Not_Found:2011/12/05(月) 16:59:18.35 ID:???
>>730
駄レスですが、引っ張ってくる先がローカルじゃなければ
こういうサービス組み合わせたりとかで何とか出来そうかな〜って思いました。
http://capture.heartrails.com/
763Name_Not_Found:2011/12/05(月) 17:07:24.86 ID:???
カウントダウン用に秒数からn日n時間n分n秒と変換するコードを書いていますが
何度書いても綺麗なコードが書けません。
秒数<60 なら n秒
秒数<60*60 なら n分n秒
秒数<24*60*60 なら n時間n分n秒
それ以上なら n日n時間n分n秒。
n時間n分n秒の場合、1時間0分0秒でも1時間 と略さず 1時間0分0秒 と表示する。
と、いった感じの関数が欲しいのですが、よいサンプルがあれば是非教えて欲しいです。
検索しても カウントダウン 表示変換 等のキーワードではひっかかりませんでした。
764Name_Not_Found:2011/12/05(月) 17:08:41.39 ID:???
皆クリックする時はonclickじゃなくて
$('#id').click(function(){
ってjQuery使ってやってると思うけど

AjaxもjQuery使って処理してるん?
ちょっとデメリットとかあったら知りたい
765Name_Not_Found:2011/12/05(月) 17:12:56.05 ID:???
AjaxもjQueryを使って処理してるよ
766Name_Not_Found:2011/12/05(月) 17:21:19.06 ID:???
>>763

var hoge = function(t){
if (t < 60) return t + "秒";
var s = t % 60; t = Math.floor((t - s) / 60);
if (t < 60) return t + "分" + s + "秒";
var m = t % 60; t = Math.floor((t - s) / 60);
if (t < 24) return t + "時間" + m + "分" + s + "秒";
var h = t % 24; t = Math.floor((t - h) / 24);
return t + "日" + h + "時間" + m + "分" + s + "秒";
};

alert(hoge(12345));
767Name_Not_Found:2011/12/05(月) 17:22:39.36 ID:???
>>760
そもそもdocument.location === locationじゃなかったっけ?
768Name_Not_Found:2011/12/05(月) 17:23:57.83 ID:???
>>763

var hoge = function(t){
if (t < 60) return t + "秒";
var s = t % 60; t = Math.floor((t - s) / 60);
if (t < 60) return t + "分" + s + "秒";
var m = t % 60; t = Math.floor((t - m) / 60);
if (t < 24) return t + "時間" + m + "分" + s + "秒";
var h = t % 24; t = Math.floor((t - h) / 24);
return t + "日" + h + "時間" + m + "分" + s + "秒";
};


alert(hoge(12345));
769Name_Not_Found:2011/12/05(月) 17:56:15.60 ID:???
まーたでたらめな回答を
770Name_Not_Found:2011/12/05(月) 18:02:05.29 ID:???
document.URLが一番
771Name_Not_Found:2011/12/05(月) 18:14:13.43 ID:???
Canvas上にbutton等の要素を表示し使いたい場合どうすればよいですか?
772Name_Not_Found:2011/12/05(月) 18:19:56.80 ID:???
キミ前も来なかった?
773Name_Not_Found:2011/12/05(月) 18:25:43.14 ID:???
ポジションをアブソリュートにしてゼットindexで上に表示とか
直接canvasに表示は無理だと重いマッス
774Name_Not_Found:2011/12/05(月) 18:44:00.57 ID:???
回答スルーのマルチはほっとけ
775Name_Not_Found:2011/12/05(月) 21:10:17.55 ID:???
(function(){
  var self = this;
})();

のようなソースを見るのですが、このコピーみたいな処理はどういった場合に使えるのでしょうか?
又、どのような利点があるのか教えてください。
776Name_Not_Found:2011/12/05(月) 21:16:45.62 ID:???
(function(){
  var self = this,
     hoge = function () {
       ここで上のselfのを参照したい時にthisとは書けないから。
     };
})();
777Name_Not_Found:2011/12/05(月) 21:37:59.52 ID:???
無駄に代入しているわけがいから、selfを使ってるところを見ればいいのに。
778Name_Not_Found:2011/12/05(月) 21:46:48.60 ID:???
>>776
おー!
そゆ理由だったんですね!
ありがとございますm(._.)m
779スレチで移動してきました:2011/12/05(月) 22:47:24.84 ID:262ksVUl
お願いします。ブログでメールフォームを使いたいのですが、
form とtextとinputタグが禁止タグになっていて設置できません。
document.write('<input type="text" name="name" />'); 
のようにするらしいのですが、
<INPUT type="text" size="31" name="email"> (文字)</input>
の場合はどう書けば良いのでしょうか?
nameの後ろの /は</input>の代わりなんでしょうか?それともまた別に
document.writeから記述しないとのでしょうか?

http://ameblo.jp/daiyu39/entry-10970539941.html
を見てもよくわかりません…誰か教えてください…

<FORM action="chamamail/chamamail.cgi" method="POST"> 

<input type="text" size="31" name="お名前"> (氏名)</TD>

<TD><INPUT type="text" size="31" name="email"></TD>

<input type="submit" value="確認する">

↑こういうところが禁止ワードに引っ掛かります。

http://ameblo.jp/wazameba/entry-10736090264.html に紹介されている
<div class="createTag"><!--
<[  で禁止タグを囲むやり方も試しましたが、よくわかりません…
禁止ワードには引っかかりませんが、文字も入力フォームも表示されなくなってしまいます。
(多分書き間違えてるんですが…)
名前と電話とアドレスの入力と確認ボタンのみのシンプルなメールフォームです。
780続き:2011/12/05(月) 22:48:21.29 ID:262ksVUl
<div class="createTag"><!--<[FORM action="/chamamail/chamamail.cgi" method="POST"]>--></div>   
<table width="554" border="0"> <tbody><tr>
<td width="108" valign="top" align="left">●お名前</td> <td width="432" valign="top">
<div class="createTag"><!--<[input name="お名前" size="31" type="text">(苗字だけで結構です)</input]>--></div> </td></tr><tr>
<td width="108"><br /></td> <td><br /></td> </tr><tr> <td width="108"><br /></td><td><br /></td></tr><tr>
<td width="108" valign="top" align="left"> </td>
<td><div class="createTag"><!--<[input name="email" size="31" type="text" />"]>--></div></td> </tr> </tbody></table>
<p align="center"> </p><div class="createTag"><!--<[input type="submit" value="確認する"> </input]>--></div><br />

と書いてみてもやっぱり禁止タグが有りますと表示されできません。
どこが悪いのでしょうか?
781Name_Not_Found:2011/12/06(火) 00:37:04.61 ID:???
<[input name="お名前" size="31" type="text">(苗字だけで結構です)</input]>
inputはこんな書き方はできない。普通はこう
<[input name="お名前" size="31" type="text" /]> (苗字だけで結構です)

あと<**>ああ</**> 形式なら
<!--<[**]>ああ<[/**]>-->
こう書く

782Name_Not_Found:2011/12/06(火) 01:03:00.58 ID:???
スレ違いの上に禁止行為抜けの方法なんて教えられるわけがない
783Name_Not_Found:2011/12/06(火) 01:55:00.86 ID:???
784Name_Not_Found:2011/12/06(火) 04:41:57.09 ID:???
jQueryでの非同期通信(XMLHttpRequestブジェクト)についての質問です
$.ajaxと$loadを使用すると$.getや$.postでは出来ないエラー時のコールバック関数を使用でき
statusでコールバック判別は出来るとjQueryリファレンスでもですが

readyStateで取得できるリクエスト完了、データ受信中、データ取得完了などの0〜4の値は
$.ajaxや$loadを使ってる時も取得できるのでしょうか?
785Name_Not_Found:2011/12/06(火) 07:56:28.79 ID:???
786Name_Not_Found:2011/12/06(火) 08:04:14.96 ID:???
>>784
http://api.jquery.com/jQuery.get/
成功時に実行されるコールバック関数の第三引数のjqXHRオブジェクトにreadyStateプロパティがあるけど
この関数は成功時に実行されるので値は常に「4」
たぶん
787Name_Not_Found:2011/12/06(火) 08:22:13.22 ID:???
<a href="url1">hoge</a>
<a href="url2">huga</a>

上記のようなHTMLに対して、aタグで挟まれたテキストが
hogeを含む場合に当該アンカーの参照するURLへ
遷移するようなBookmarkletを作りたいです。

document.links辺りが使えるかと思ったのですが、
aタグに挟まれるテキストを参照できそうなプロパティが
見当たりません。
どうすればこのような処理が実現可能でしょうか?
788Name_Not_Found:2011/12/06(火) 08:31:16.66 ID:???
innerTextでテキスト取得できるお
789779:2011/12/06(火) 11:01:40.81 ID:???
>>779
>>783-785
別の板(スレ違いと指摘されたので移動しました)
知恵袋で聞いてもレス付きません
どうしても今日中に仕上げなければならないので
どなたかお願いします。
バイト始めたばかりなので、千円くらいしかお礼できませんが
メール欄にメアドいれときます。
790Name_Not_Found:2011/12/06(火) 11:36:36.71 ID:???
× innerText
○ textContent
791Name_Not_Found:2011/12/06(火) 11:50:38.56 ID:???
>>789
既に答は出てるでしょ。サイトが禁止してるものを回避したいという
質問は回答されないって。ご愁傷様。
792Name_Not_Found:2011/12/06(火) 14:03:45.22 ID:???
>>786
ありがとうございます
英語苦手だったんで避けてたんですが、海外のサイトも読んでみるものですね。助かりました
793Name_Not_Found:2011/12/06(火) 14:42:35.34 ID:???
alert(typeof elm[i].style.backgroundColor) //=> string
alert(elm[i].style.backgroundColor) //=> rgb(255,255,204)

if (elm[i].style.backgroundColor == 'rgb(255,255,204)') {

この判定がtrueにならないんですが、何が悪いのでしょうか?

backgroundColorプロパティは16進数表記で取得するのが面倒なようなので、
RGB文字列で使用してるんですが、もっと最適な方法などあるのでしょうか。
794Name_Not_Found:2011/12/06(火) 15:15:03.12 ID:???
ちゃんとスペースとかまできっちり合わせなきゃダメよ
795Name_Not_Found:2011/12/06(火) 15:34:02.66 ID:???
jQueryについて質問です。
slideDownでよく悩まされているんですが、
リストにdivやさらにリストをネストしたアコーディオンのようなものをslideDownすると、
高さが定まらず実際の高さより行き過ぎてから元の高さに戻るというガタついた動作になるときがあります。
高さを固定すると解決するんですが、高さが決まってない場合はマージンの相殺をなくしたりすると治るケースもありました。
しかし根本的な原因がわかっていないのでその都度困っています。
どなたか原因がわかる方おられませんか?アドバイスよろしくお願いします。
796Name_Not_Found:2011/12/06(火) 15:35:21.62 ID:???
CSSとかHTMLとかの構造見ないとわかんね
797Name_Not_Found:2011/12/06(火) 16:06:11.72 ID:???
>>796
そうですよね・・・。
自己解決しましたので、報告しておきます。
要素を総当たりで調べたところ、フロートしているリストが原因でした。
フロートしているリストの親要素の幅が可変のため、スライド中は幅が狭く計算され、
リストが折り返された状態で高さが計算されていたっぽいです。
リストの親要素の幅を width: 100% と明示的に指定してやることで解決しました。
スレ汚しすいません。
798Name_Not_Found:2011/12/06(火) 16:09:23.19 ID:PFCu0ms1
>>795
jQueryならheight()関数とcss()関数で中身の高さを測ればいいんでないかい?
799Name_Not_Found:2011/12/06(火) 16:26:38.80 ID:M5xXIwdM
>>791
分かんないなら黙ってろよババア
800Name_Not_Found:2011/12/06(火) 16:32:08.99 ID:PFCu0ms1
これがテンプレから

答えさせようと「分からねえんだろ」と煽っても無駄

が消えた弊害かw
801Name_Not_Found:2011/12/06(火) 16:41:18.16 ID:???
まさに。「分からねえんだろ」と煽っても無駄、ですな。
802Name_Not_Found:2011/12/06(火) 16:56:31.72 ID:???
タグ禁止とかしといてスクリプトは通るのか
さすがアメーバさんの技術力やで
803Name_Not_Found:2011/12/06(火) 16:57:13.29 ID:M5xXIwdM
>>791
分かんないなら黙ってろよババア
804Name_Not_Found:2011/12/06(火) 17:02:34.29 ID:???
>>789のアドレスが tensyoku.seikou@ って
SEOの業者か、アフィサイトじゃねーか
質問すんなwwww
805Name_Not_Found:2011/12/06(火) 17:36:59.14 ID:???
>>794
よく見たらカンマの後に半角スペースがありました。ありがとうございました。
806Name_Not_Found:2011/12/06(火) 18:18:10.54 ID:???
以後、>>803 スルーで。
807Name_Not_Found:2011/12/06(火) 18:35:42.57 ID:???
ここまで自演
808Name_Not_Found:2011/12/06(火) 18:43:01.25 ID:???
ちょっと質問も無いから聞きたいことあるんだけど
最近のGoogle、本格的に独占に向かってないか?

例えば無料の飲食店作ったらそれは違法だけどwebじゃ違法にはならん
googleAPIとかその他様々なサービスを利用して今のwebはGoogle無しでは存在できないと言っても過言じゃないし

Firefox切り、iTunesのパクリ、Facebookのパクリといい全てを独占したいっていう魂胆がひしひし伝わってくるんだが
809Name_Not_Found:2011/12/06(火) 18:44:43.22 ID:???
810Name_Not_Found:2011/12/06(火) 19:01:15.06 ID:???
WebSocketを使ってサーバーとの画像データのやりとりを行おうとしています。
現在のところWebSocketのバイナリ通信に対応しているブラウザが見つからないため、
画像をバイナリデータ(Uint8Array型)"に直し、String.fromCharCode.apply"を使って一度String型に変換し、
それをサーバーで受け取った後、そのままクライアントに返す、という実装をしています。
ここで質問なのですが、クライアントで受け取ったString型のデータを
Uint8Array型に直すにはどうしたらよいでしょうか。
良い変換関数や、効率的な方法があったら教えて下さい。
811Name_Not_Found:2011/12/06(火) 19:07:27.74 ID:???
別にGoogle関係使わなくても不便は無いだろう
FirefoxはGoogleに依存した状態でいたのがむしろおかしい
パクリについては、ジャンケンでも何でも後出しが有利なのは過去を振り返っても明白
人々は偉大で高尚な芸術品よりも自分好みのデザインや道具としての利便性を求めるからだ
812Name_Not_Found:2011/12/06(火) 19:12:31.49 ID:???
>>810
Google Chrome はバイナリフレームに対応してなかったっけ。

813Name_Not_Found:2011/12/06(火) 19:15:40.82 ID:???
んまー俺達としちゃブラウザ減ってくれたほうが嬉しいんだけどな
IE、Firefox、GoogleChrome、Opera、safariってチェックしなきゃらない
814Name_Not_Found:2011/12/06(火) 19:16:06.22 ID:???
>>813
おれ、Operaはもう捨ててる
815Name_Not_Found:2011/12/06(火) 19:18:01.59 ID:???
俺もOperaユーザーは切った
816Name_Not_Found:2011/12/06(火) 19:25:27.27 ID:???
オペラメインでネットサーフィンする俺涙目
817Name_Not_Found:2011/12/06(火) 19:31:11.06 ID:???
オペラがどういう扱いを受けているのかわかった上で使っているはずだろうのになぜ涙目
818Name_Not_Found:2011/12/06(火) 19:35:27.24 ID:PFCu0ms1
オペラ捨てる、とかはしてないけど
積極的にチェックすることは少ないなあ

信用しているというか、オペラくらいの準拠ぐあいなら
だいたい問題ないように書いてる
819Name_Not_Found:2011/12/06(火) 19:37:35.55 ID:???
Operaに対応するとなぜか他のブラウザも対応できてるからOperaで頑張ってる
Safariは基本Chromeと同じだし特に気にしない
Firefoxは一部省いてChromeとかと大差なし
IEは知らん
820Name_Not_Found:2011/12/06(火) 20:06:38.77 ID:???
OperaはHTML5のサポート遅いかったり、バグ引きずってたりするから対応面倒だよね

標準準拠の書き方してれば、IE・その他 の2つチェックで大方良いだろうけど
821Name_Not_Found:2011/12/06(火) 20:21:35.41 ID:???
大量の文字列を描写するとき
innerHTMLで一気に描写するのと
forを使ってappendで1000個ずつ描写するの、どっちがオススメでしょうか?
822Name_Not_Found:2011/12/06(火) 20:23:02.44 ID:???
確かみてみろ!
823Name_Not_Found:2011/12/06(火) 20:28:24.94 ID:???
>>821
その中間はないのかw
824Name_Not_Found:2011/12/06(火) 20:33:51.56 ID:???
>>821
innerHTMLで1000回描画するのとappendChildで一気に描画するのは?
825Name_Not_Found:2011/12/06(火) 20:44:19.84 ID:???
> innerHTMLで1000回描画
絶対にやめとけ
826Name_Not_Found:2011/12/06(火) 20:49:53.39 ID:???
innerHTMLって+=でも
「123」に「4」を+=するようにしても「4」を追加するんじゃなくてまた
「1234」って描写するんだっけ?
827Name_Not_Found:2011/12/06(火) 20:53:26.62 ID:???
textContentとかも?
828Name_Not_Found:2011/12/06(火) 20:54:47.67 ID:???
大量の文字列を結合してひとつの文字列にしてから、一度だけinnerHTMLで描画すればいいのでは?
829Name_Not_Found:2011/12/06(火) 20:57:32.09 ID:???
textContentで一気に描画で
830Name_Not_Found:2011/12/06(火) 21:24:17.49 ID:???
マジレスすると文字列じゃなくて要素の話かと思われ
831Name_Not_Found:2011/12/06(火) 21:26:44.55 ID:???
どうりで
なぜinnerHTML?なぜ1000回に分割する?と
おかしいなと思っていたんだ!
832Name_Not_Found:2011/12/06(火) 21:34:55.99 ID:???
1000回じゃなくて、1000個を数回じゃないの?
833Name_Not_Found:2011/12/06(火) 21:40:03.39 ID:???
<body><script>
var start = new Date();
for (var i = 0; i < 1000; i++) document.body.appendChild(document.createElement("div")).appendChild(document.createTextNode(i))
alert(new Date() - start);
</script></body>

<body><script>
var start = new Date();
var temp = "";
for (var i = 0; i < 1000; i++) temp += "<div>" + i + "</div>";
document.body.innerHTML = temp;
alert(new Date() - start);
</script></body>

<body><script>
var start = new Date();
for (var i = 0; i < 1000; i++) document.body.innerHTML += "<div>" + i + "</div>";
alert(new Date() - start);
</script></body>

こう?
834810:2011/12/06(火) 21:44:10.27 ID:???
>>812
あれ?そうなんですか?
jettyのWebSocket.OnBinaryMessageで受け取ろうとしても受け取れないので、
対応していないものだと思ってしまっていました。

ではもう1つ、WebSocketでのバイナリの扱いについて質問したいのですが、
var ws = new WebSocket("ws://localhost:3838/EchoServer/echo");
ws.onopen = function(event){
ws.binaryType = "arraybuffer";
};
として、
ws.send([ArrayBuffer型の値]);
で送信するという流れで間違っていないでしょうか?
サーバー側はjettyのWebSocket.OnBinaryMessageを実装したクラスで受信しようとしています。
835Name_Not_Found:2011/12/06(火) 22:49:15.85 ID:???
PHPで
$hoge=array(みかん,りんご,スイカ,卵)
list($fuge,,$hage) = $hoge;
で$fugeにみかん、$hageに卵と入れる切り取ったのをそれぞれ対応する変数に入れるのがありますが
Javascriptにもコレと同じような動作をするモノはあるんでしょうか?
836Name_Not_Found:2011/12/06(火) 23:04:28.07 ID:???
>>834
試したわけじゃないんだけども、
http://chromestatus.com によると
> Websockets
>
> TBD: The return type of send() will be changed to void
> m16: Update to HyBi 13 version (a few minor changes in handshake). See also HTML5 Rocks post
> m15: Binary message API (Blob and ArrayBuffer). Added close code and reason to close() and CloseEvent

なので Chrome 15 で ArrayBuffer が扱えるんじゃないかなあ。
837779:2011/12/06(火) 23:05:16.20 ID:M5xXIwdM
>>804
いや、違います
メアドは昨日取ったばかりです。

どこで聞いても相手してくれないし、
ブログの人に聞いても返答ないし、すごい気になってもやもやして
時間だけが過ぎていく…orz 一体何が間違っているのか…
javaとCOBOLは昔習ったけど、javascriptはさっぱり…

>>791
これから勉強したいので、タグの正しい書き方を知りたい

>>802
プラグインの方をごにょごにょすると使えるみたい。
838787:2011/12/06(火) 23:15:44.46 ID:???
>>787
>>790
情報ありがとうございます。
今回はaタグ内の要素も検索対象にしたかったので、
innerHTMLでmatchしたら思うような結果になりました。
839Name_Not_Found:2011/12/07(水) 00:02:15.28 ID:???
>>835
リスト代入は、将来の ECMAScript に実装される様に、
お前が先陣を切ってムーブメントを巻き起こせ。
840Name_Not_Found:2011/12/07(水) 00:18:38.33 ID:???
FF4なら動く。

var arr = ['hoge', 'fuga'];
[a, b] = arr;

alert(a);
alert(b);
841Name_Not_Found:2011/12/07(水) 00:39:13.18 ID:???
>>839
とういうことは一つ一つやらないといけないんですね
ECMAScriptっていうのに興味湧きました、ちょっとどんなものか見てきます
842think49 ◆bKk/qcAKuM :2011/12/07(水) 00:58:05.61 ID:???
843Name_Not_Found:2011/12/07(水) 01:06:30.59 ID:???
ちょっといいかな。

俺、もう 4年くらいほぼ毎日、コード書いたり、読んだり
話題探したり、本読んだりして JavaScript と向き合ってて、
そこそこ自信もあったんだけど。

でもさ、今日、というか、日付変わって昨日、ちょっとした
きっかけがあって、カレンダー出力するコード書こうと思ったらさ、
5時間も掛かってやんのなw

自分でもびっくりしたぜw

Google の連中って、仕事時間の 2割だっけ? 毎日使って大層なの
作ってるけど、俺、1日とはいえ、仕事時間の 6割以上使ってカレンダーだよwww
844810:2011/12/07(水) 01:28:09.15 ID:???
>>836 さん
WebSocketに渡すデータが誤っていたのが原因で、修正したところchromeでバイナリデータを送ることが出来ました。
ありがとうございました。
845Name_Not_Found:2011/12/07(水) 04:29:00.86 ID:???
#js
function addEvtListener(target,handler,method) {
  if (document.all) target.attachEvent("on"+handler,method);
  else target.addEventListener(handler,method,false);
}
function test() {
  if (window.confirm("next?")) ;
  else return false;
}
addEvtListener(window,"load",function(){
  var next = document.getElementById("test");
  //addEvtListener(next,"click",test);
  next.onclick = test;
});

#html
<form method="get" action="">
<button type="submit" id="test">next</button>
</form>

nextでキャンセルしたらそのページに留まるというスクリプトですが
IEのattachEventでは問題ないようなのですが
addEventListenerでは留まらないで次のページに遷移してしまうようです

上記のコメントアウトしてる部分なんですが
next.onclick = test;
でうまく行くようにするにはどう修正したらよいのでしょうか?
846845:2011/12/07(水) 04:31:55.01 ID:???
ちょっと日本語がまずかったので修正します

>上記のコメントアウトしてる部分なんですが
>next.onclick = test;
>でうまく行くようにするにはどう修正したらよいのでしょうか?

next.onclick = test;ではうまくいくのですが
上記のコメントアウトしてる行に差し替えるとうまくいきません
コメントアウトしてる行でもうまくいくようにするにはどう修正したらよいのでしょうか?

よろしくお願いします
847Name_Not_Found:2011/12/07(水) 06:08:28.50 ID:???
物凄い初歩的な質問でもいいでしょうか?
var hoge = new Array();
hoge["ajlaebh"] +=1;
とやってるのですがNaNになってしまいます
こういう場合って最初=0とかやらないとダメなのでしょうか?
それとも最初=0ってやらないでいきなり1にする方法とかないでしょうか?
848Name_Not_Found:2011/12/07(水) 07:29:14.42 ID:???
最初=0とかやらないとダメです
849Name_Not_Found:2011/12/07(水) 07:32:10.79 ID:???
んなこたーない
850Name_Not_Found:2011/12/07(水) 07:58:08.21 ID:???
初期化直後にいきなり+=する必要性が
よくわからないのだけど、とりあえず
初期化直後の変数を標準出力にでも
printしてみるとか?
それで0とか出力されるなら+=できる
だろうけど、variant型に代入されるのが
数値かそうでないか決めるのは俺らだよね?
851850:2011/12/07(水) 08:02:22.97 ID:???
すまん他言語とごっちゃになってた。
JavaScriptで標準出力とか謎なこと書いてたな。
alert()使うとか工夫してくだしあ。
852Name_Not_Found:2011/12/07(水) 08:51:29.85 ID:???
やっていることはundefined+1
853Name_Not_Found:2011/12/07(水) 08:59:00.75 ID:???
var hoge = { "ajlaebh":1 };

これじゃあかんの?
854Name_Not_Found:2011/12/07(水) 10:14:38.53 ID:???
>>845
デフォルトの動作を止めるのはpreventDefaultだよ
855Name_Not_Found:2011/12/07(水) 11:13:18.06 ID:???
まだdocument.allで分岐する老害カスがいるのか
856Name_Not_Found:2011/12/07(水) 12:39:55.61 ID:???
>>847
>>853 のやり方でもいいけど
変数を Array として使いたいなら

var hoge = [];
hoge.ajlaebh = 1;

それと、Object の子の名前にハイフンとかが含まれていないなら、" は必要ないよ

var hoge = { ajlaebh: 1 };
857Name_Not_Found:2011/12/07(水) 19:14:37.67 ID:r5Z8CbJ9
関数内で
function foo() {
arguments.callee.bar = "baz";
}
みたいにしているのは
どういう目的があってしているんですか?
858Name_Not_Found:2011/12/07(水) 20:05:49.04 ID:HZ99fW6K
<script type="text/javascript"><!--
function ov(o) { o.style.color="red"; }
function ou(o) { o.style.color="black"; }
// --></script>
<a href="index.html" style="color:black; text-decoration:none;" onmouseover="ov(this);" onmouseout="ou(this);">サイトトップへ</a>
859Name_Not_Found:2011/12/07(水) 20:11:00.63 ID:???
>>857
arguments.callee.caller.bar
とかやってんじゃない
860845:2011/12/07(水) 20:20:15.90 ID:???
>>854
ありがとうございます
サンプルにはreturn falseでページに留まるように書いてあったので
それ以外の方法があるとは知りませんでした
早速preventDefaultをググって試してみたいと思います

しかし
next.onclick=test

next.addEventListener("click", test, false)
の動作が異なることには参りました
861Name_Not_Found:2011/12/07(水) 22:50:29.46 ID:???
>>860
IEが特殊なだけなんだけどね
preventDefaultはelement.onclickでも使える
862Name_Not_Found:2011/12/07(水) 22:56:27.70 ID:???
ieはreturnValue
863Name_Not_Found:2011/12/07(水) 23:52:35.46 ID:???
jQueryで、$.ajaxを使ってデータを取得しているのですが、
その取得が終わるまで待ち合わせる方法というのはありますでしょうか?

$.ajaxを同期処理すればいいのですが、それだとブラウザが固まってしまうので、
非同期通信しながら、待ち合わせで同期を取りたいのですが・・・

ぜひ方法ありましたらお教えください
864Name_Not_Found:2011/12/08(木) 00:04:12.27 ID:???
.ajaxStart
.ajaxStop
865863:2011/12/08(木) 01:02:50.36 ID:???
>>864
ありがとうございます。
教えてもらったキーワードを元に調べてみます。
ありがとうございました
866Name_Not_Found:2011/12/08(木) 05:38:27.46 ID:SPjyekmh
ユーザースクリプトスレから移動して来ました

Node.setUserData が DOM4 で無くなるみたいですが
これは、替わりに HTMLElement.dataset を使うべきだということなのでしょうか

また、datalist の DOMStringMap のように
すべてのキーに対して getter/setter を定義できるようなオブジェクトは
自前で作成可能でしょうか
867866:2011/12/08(木) 12:31:37.91 ID:4bVD5dML
× datalist の DOMStringMap
○ dataset の DOMStringMap
868Name_Not_Found:2011/12/08(木) 13:36:03.12 ID:KcMyFF0F
>>866
jsの機能的な話なのか、実際に実装したいのか
869Name_Not_Found:2011/12/08(木) 19:46:51.91 ID:???
最近のメーラーはHTMLメール内のjavascriptに対応しているものなのでしょうか?
870Name_Not_Found:2011/12/08(木) 19:49:55.36 ID:7QrIb/hR
すみません。
” [ ”というカッコ記号の実体参照ってないのでしょうか?
教えてください。
871870:2011/12/08(木) 20:09:47.54 ID:???
すみません。
事故解決しました。
872Name_Not_Found:2011/12/08(木) 23:45:39.75 ID:???
Lightbox JS v2.0の起動をタイマーのように時間差で起動させる事は可能でしょうか?
サムネイルクリック→3秒後、ウィンドウ出現というよな感じです。
873Name_Not_Found:2011/12/09(金) 00:16:25.78 ID:TqT4NdO1
>>872
出来るよ

サムネイルのクリックイベントを拾って、setTimeoutで3000ミリ秒待ってから
ライトボックスを手動で発火させればいいよ
発火させるメソッドはlightbox.jsに書いてあるからそれを使えば良いです

わからないことがあったら、自分で書いたコードを>>1にある
コード投稿サイトにアップして、また質問してくだされ
874Name_Not_Found:2011/12/09(金) 00:33:03.59 ID:???
>>873
アドバイスありがとうございます、やってみます
875Name_Not_Found:2011/12/09(金) 02:27:04.16 ID:???
【環境】
safari,chrome(スマートフォン)

【何をしたのか】
http://bizcaz.com/archives/2008/12/01-001911.php
こちらのサイトにある、要素が一定の文字数以上になったときに
一定文字数でちょん切って「read more ...」として隠してくれる
「jQuery Expander Plugin」というプラグインを使用しました。


【期待する結果】規定の文字数以下でも「read more ...」が表示されてしまうので、規定の文字数以下の場合は、「read more ...」が表示されないようにしたい。


【サンプルコード】
下記にアップしています。
http://jsdo.it/hirorih/x5m6


すみません、急ぎで修正しなければいけないのですが、解決法がみつからずで…。
知恵をお貸しいただけますでしょうか。。
876Name_Not_Found:2011/12/09(金) 02:27:54.72 ID:k05+++WG
【環境】OS:WinXP,Win7  ブラウザ:主にFirefox3.6.24,GoogleChrome15.0,IE6.0

基本的なところで質問です。
JSでは同一イベント内で連続したfor文処理は不可なのでしょうか?
例えば

for(var idx=0; idx<10 idx++){
//処理1
}

for(idx=0; idx<5 idx++){
//処理2
}

と両方書いたときは実行されず、どちらか片方のfor文のみではOKでしたので。
877Name_Not_Found:2011/12/09(金) 02:29:28.43 ID:???
コードがほんとに問題なければできるはず
878Name_Not_Found:2011/12/09(金) 02:44:28.05 ID:OF9U3vK/
<body onload="page_onload();">
<img src="xxx.jpg">
<canvas id="red_box" width="100" height="100"></canvas>
</body>
この上にimgやテキストボックスを置くと図が必ず
ずれて表示されます。
なぜでしょうかね?canvas内だけの絶対座標はないのですかね
imgタグのぶんだけずれます
879876:2011/12/09(金) 04:10:00.77 ID:???
>>877
レス有難うございます。今回は外部テキストファイルの読み込みとその解析
及びそれによる描画を各処理に含んでいます。

再検証しましたが、読み込みと解析(パース)と描画を伴う場合は、連続のforでの
実行は不可のようです。 (負荷が増大するとブレーキが掛かり自動的にストップ?)
880Name_Not_Found:2011/12/09(金) 04:10:29.31 ID:???
>>875
preserveWords : false

のオプション追加でどうよ。

サンプルコードはそのまま試せるようにしておいてほしいな。
881Name_Not_Found:2011/12/09(金) 04:18:54.25 ID:???
>>879
デバッガかalert()でも入れてどこで止まってるか確認
ところで外部テキストとはローカルのファイル?
882Name_Not_Found:2011/12/09(金) 04:59:02.77 ID:???
HTML5で●描いて移動させるのが結構大変なんですが
jQuery使って移動させるとかってあるんでしょうか?
883Name_Not_Found:2011/12/09(金) 05:19:45.24 ID:???
いいこと思いついた
nanka.innerHTML="\<script defer type='text/javascript' src='hoge.php?a="+a+"&b="+b+"&c="+c+"'\>\<\/script\>";
とかしてphpをGETリクエストしてjavascriptで結果返してもらえばAjax無くても通信できるんじゃね?
884Name_Not_Found:2011/12/09(金) 06:08:17.09 ID:???
func = null;
function forEX(shokika,joken,counter,sagyo) {
eval(shokika);
eval(sagyo);
if (eval(joken)) {
func = function() {
forEX(counter,joken,counter,sagyo); };
setTimeout("func()",1);
}
}

//example
function hogehoge(p){ alert(p); }

forEX("i=1","i<10","i++","hogehoge(i)");
885Name_Not_Found:2011/12/09(金) 06:10:05.22 ID:???
func = null;
function forEX(shokika,joken,counter,sagyo,saikai) {
eval(shokika);
eval(sagyo);
if (eval(joken)) {
func = function() {
forEX(counter,joken,counter,sagyo,saikai); };
setTimeout("func()",1);
} else {
eval(saikai);
}
}

//example
function hogehoge(p){ alert(p); }
function hagehage() { alert('End'); }

forEX("i=1","i<10","i++","hogehoge(i)", "hagehage()");
886Name_Not_Found:2011/12/09(金) 07:44:48.23 ID:???
>>876
コードが間違っているよ
for (var idx = 0; idx < 10; idx++) {
//
}
「 ; 」を忘れてる

>>882
JavaScript の setTimeout() あたりを使って実現できる
jQuery なら animate() 何かがいいんじゃないかな

>>883
JSONP ですね、わかります
887Name_Not_Found:2011/12/09(金) 10:02:07.59 ID:???
【環境】OS:WinXP,Win7  ブラウザ:主にFirefox3.6.24,GoogleChrome15.0,IE6.0

thickboxを使ってiframeで呼び出したhtmlの内部にjavascriptを記述したのですがうまく動きません。
エラーコードを見るとiframeで呼び出したhtmlの中でpath定義したライブラリがみつからないみたいなことを言ってます。(chrome)
あとiframe内で記述したjQuery-AjaxのクロスサイトJSONPで500エラー出してます。
iframe内でjavascriptを記述する場合の基本がわかってないです。
別窓で動くものは動くと思い込んでいましたが制約があるのでしょうか?

thickboxを使わず別窓にしたら正常に動きます。

thckboxを諦めて別窓で開くべきか迷ってます。
888Name_Not_Found:2011/12/09(金) 10:15:37.88 ID:0Pxks7QI
【環境】WinXp,おもにFirefox8

viewbookを使ったページを作成中なのですが、ページ内にリンクを貼るとviewbookの仕様上、
クリックしても次のページに移動するだけでリンク先にうまく飛べません。
この「クリックすると次のページに移動する」というのをキャンセルしたいのですが調べても中々答えが見つかりません。

もしご存知の方がいらしたら教えていただけないでしょうか?
889Name_Not_Found:2011/12/09(金) 10:42:34.71 ID:b86ZbubR
>>887
フレームを使う場合、self != topになるけど
それを考慮してない場合もある
コード読んで該当個所から追っかけてみると良いです

わからなかったらまた聞いてくだされ
890Name_Not_Found:2011/12/09(金) 10:44:21.48 ID:???
>>883
マジレスするがinnerHTMLで書き出したscriptは発火しない
つか&のエスケープすら忘れる初心者がinnerHTMLなんぞ使うな
891Name_Not_Found:2011/12/09(金) 10:52:55.26 ID:b86ZbubR
>>888
ザざっと探したけど本家がどこなのかわからなんだ
892Name_Not_Found:2011/12/09(金) 10:55:12.71 ID:b86ZbubR
>>890
アンパサンドて必ずエスケープせにゃならんもん?
xhtmlじゃなくても?
893Name_Not_Found:2011/12/09(金) 10:55:30.96 ID:0Pxks7QI
>>891
本家はここになると思います。
http://builtbywill.com/

ここにある「Discovery Park」というHPにviewbookが使われてます。
894Name_Not_Found:2011/12/09(金) 11:24:06.75 ID:???
>>892
そりゃそうだろ
895Name_Not_Found:2011/12/09(金) 12:36:38.21 ID:???
>>888
その viewbook が何かわからないけど、リンク先に飛ばしたくないなら preventDefault() で制御したら?

// 例
a.addEventListener('click',
function (event) {
event.preventDefault();
},
false);

変数 a は a 要素です
896Name_Not_Found:2011/12/09(金) 13:08:53.30 ID:???
&はともかく、</>にエスケープ付ける必要あるのか?
検索でinnerHTMLのサンプル見てもつけてる奴一つもないんだが
897Name_Not_Found:2011/12/09(金) 13:20:11.84 ID:???
キミはgetComputedStyleなんて使うのか?
とか言ってた人?
898Name_Not_Found:2011/12/09(金) 13:44:11.89 ID:???
いかに検索が信頼できないかということだな
899Name_Not_Found:2011/12/09(金) 13:51:26.46 ID:???
やっぱりおまえらに聞くに限るわー
やさしくしてね
900Name_Not_Found:2011/12/09(金) 13:52:18.64 ID:???
>>897,898
すまん、質問が悪かった
「なぜ」エスケープする必要があるのか教えてほしい
901Name_Not_Found:2011/12/09(金) 13:53:31.91 ID:???
エンティティ化しないと爆発する!
902Name_Not_Found:2011/12/09(金) 14:03:02.21 ID:???
今まで何をやるのもCGIだったのでJavascriptを学ぼうと思います
皆さんはこれからJavascriptはどのような言語になると思いますか?
903Name_Not_Found:2011/12/09(金) 14:07:36.54 ID:???
ム板の「JavaScriptスレ」がそういう話題を扱ったスレらしいよ
904Name_Not_Found:2011/12/09(金) 14:12:31.86 ID:???
>>900
書いてみりゃわかるお
<script>
alert('<script></script>');
</script>
905Name_Not_Found:2011/12/09(金) 14:13:54.09 ID:???
>>892
しなくていいよ
頭のお固い老害は気にするな

>>902
そんなのわかるわけないだろ
10年前に今の状況が予測できてたやつなんてほとんどいないし
まあJavaScript自体の言語仕様もかなり大きく変わっていって別物になるだろうしな
俺はJavaScript+みたいなのがでて亜種のそっちが主流になると思うよ
今1番それに近いのはカッフェかな
906Name_Not_Found:2011/12/09(金) 14:33:54.79 ID:TqT4NdO1
>>902
10年前に今の状況は予測出来なかったけど
NN4が淘汰されて、DOMとCSSを大手を振って使えるようになったあたりで一段落あって、
それ以降はそんなに変わった感はないなあ、個人的には

自分は広告系でウェブやってますが、だれかが代理店の人に
「IEはもう気にしなくていいですよ」って言ってくれるまで
あまり何も変わらない気がする
907Name_Not_Found:2011/12/09(金) 14:38:23.02 ID:???
&のエスケープ漏れはHTML5でも違反ですよん
908Name_Not_Found:2011/12/09(金) 14:52:45.92 ID:???
- アホカスがIEのエラー処理に頼る
- IEのシェア90%越え、他のブラウザも同じエラー処理を実装する
- しかしバグ多発でページ著者、半泣き
- みんな標準をしっかり守れ、という流れ
- エラー処理も含めて標準化しよう
- アホカスがエラー処理に頼る ← >>905
909Name_Not_Found:2011/12/09(金) 15:08:00.47 ID:???
>>904
なるほど、scriptタグに限って注意が必要なのですね
910Name_Not_Found:2011/12/09(金) 15:08:48.03 ID:???
>>884 >>885
setTimeout() の指定が間違っている。正しくは setTimeout(func, 1);
それと、eval() は使わないほうがいいよ

function forEX(shokika, joken, counter, sagyo) {
var i = shokika;
if (joken(i)) {
sagyo(i);
i += counter;
setTimeout(arguments.callee, 1, i, joken, counter, sagyo);
}
}

function hogehoge(p) {
alert(p);
}

forEX(1, function (i) { return i < 10; }, 1, hogehoge);

こんな感じでどう?
911Name_Not_Found:2011/12/09(金) 15:11:30.88 ID:???
ところでテンプレ議論どーすんの?
最近毎回無いままスレ終盤まで話すら出ない
やることはいくつかあても・・・
912Name_Not_Found:2011/12/09(金) 15:15:05.09 ID:???
このスレの序盤も
スレ番には突っ込みが入ってるけど
テンプレには誰も触れてないし
このままで問題ないからこのままなんでないの?よくわからんけど
913Name_Not_Found:2011/12/09(金) 15:17:49.88 ID:???
>>910
せんせー
そのコード動作しませんでしたー(IE8)
914Name_Not_Found:2011/12/09(金) 15:25:10.88 ID:???
>>885をevalからfunctionコールに直すと字数増えるじゃん嫌だよ

func = null;
function forEX(shokika,joken,counter,sagyo,saikai) {
shokika();
sagyo();
if (joken()) {
func = function() {
forEX(counter,joken,counter,sagyo,saikai); };
setTimeout("func()",1);
} else {
saikai();
}
}

//example
function hogehoge(p){ alert(p); }
function hagehage() { alert('End'); }

forEX(function(){i=1;},function(){return i<10;},
function(){i++;},function(){hogehoge(i);}, hagehage);
915Name_Not_Found:2011/12/09(金) 15:26:13.25 ID:???
おっとsetTimeout間違えた

func = null;
function forEX(shokika,joken,counter,sagyo,saikai) {
shokika();
sagyo();
if (joken()) {
func = function() {
forEX(counter,joken,counter,sagyo,saikai); };
setTimeout(func,1);
} else {
saikai();
}
}

//example
function hogehoge(p){ alert(p); }
function hagehage() { alert('End'); }

forEX(function(){i=1;},function(){return i<10;},
function(){i++;},function(){hogehoge(i);}, hagehage);
916Name_Not_Found:2011/12/09(金) 15:32:08.03 ID:???
うんこコード
917Name_Not_Found:2011/12/09(金) 15:39:16.26 ID:???
ローマ字変数にするぐらいならいっそ日本語変数にした方がわかりやすい。
他人に見せる上では特に。
918Name_Not_Found:2011/12/09(金) 15:54:42.87 ID:???
悪かったよ
下手に汎用性もたせようとするからダメなんだよな

func = null;
function forEX(endnum,sagyo,saikai,i) {
if (i==undefined) i=0;
sagyo(i);
if (i<endnum) {
func = function() {
forEX(endnum,sagyo,saikai,i+1); };
setTimeout(func,1);
} else {
saikai();
}
}

//example
function hogehoge(p){ alert(p); }
function hagehage() { alert('End'); }

forEX(10,function(i){hogehoge(i);}, hagehage);
919Name_Not_Found:2011/12/09(金) 16:00:40.29 ID:???
exampleでは繰り返し回数10にしてあるけど
このforEXは繰り返し回数が1000や10000とか大きい場合を想定してんだ
普通のforでやるとフリーズすることあるからな
920Name_Not_Found:2011/12/09(金) 16:04:30.18 ID:???
sagyoはjokenのカッコの中が正しいのでは
921Name_Not_Found:2011/12/09(金) 16:09:06.04 ID:???
for使って10000回ループで数秒なのに
そのforEXで10000回だと確実に10秒以上かかるな
922Name_Not_Found:2011/12/09(金) 16:26:29.36 ID:???
function doTask(tasklist, cur, end) {
if (cur > end) return;
tasklist[cur]();
setTimeout(
function() {
doTask(tasklist, cur + 1, end);
},
1
);
}

var tasklist = new Array();
tasklist.push(function(){ alert('hoge1'); });
tasklist.push(function(){ alert('hoge2'); });
tasklist.push(function(){ alert('hoge3'); });

doTask(tasklist, 0, 2);
923Name_Not_Found:2011/12/09(金) 16:40:56.14 ID:???
Javascriptで高負荷な作業をやる奴が全て悪い
924Name_Not_Found:2011/12/09(金) 16:46:44.19 ID:???
そっちの方がいいんじゃない?
俺もうサーバーで作業させないで全部アジャックス頼りだよ
925Name_Not_Found:2011/12/09(金) 17:02:13.27 ID:???
setTimeoutやsetIntervalを使えばスレッド風な作業できる?
926Name_Not_Found:2011/12/09(金) 17:58:27.24 ID:cSJGPnup
ドキュメントに挿入する前のDOMノードにイベントを登録するとIEがおかしなことになるとかでしちゃ駄目なんですか?
jQueryでも同様ですか?
927Name_Not_Found:2011/12/09(金) 18:11:39.50 ID:???
>>926
jQueryなら・・・jQueryなら何とかしてくれる
928Name_Not_Found:2011/12/09(金) 18:12:16.82 ID:???
>>913
きちんと確認もせずにレスして悪かった
とりあえず、IE は爆発しろ!

>>918
前にレスしたときも思ったけど func = null; は、いらなくないか?

>>919
10000 回もループさせるような処理は、もう一度、見直してみたほうがいいよ

>>921
そりゃあ、setTimeout() で回しているからね

>>924
ユーザからしたら、そんな重いページは嫌だろ
929926:2011/12/09(金) 18:23:31.12 ID:???
>>927
二行目はさておき一行目はその通りなんですか?
でもimg要素の場合はドキュメントに挿入せずにロードイベントやエラーイベントを見て画像の有無を確認したりしますよね
img要素は特別なんですか?それともImageオブジェクトが特別でimg要素はそのエイリアスにすぎないとかですか?
930Name_Not_Found:2011/12/09(金) 18:27:41.03 ID:???
>>929
「こうするとどうなるのかな?」と思ったら試してみればいいじゃない
931Name_Not_Found:2011/12/09(金) 18:29:09.89 ID:???
この問題は試して明らかな結果が出るものじゃない
932Name_Not_Found:2011/12/09(金) 18:40:14.52 ID:???
試すというか、今までは気にせず要素の挿入前にイベント登録していました。>>929書いてにあるimg要素含め。
>>930さんは試してみて何か違いを実感できましたか?
自分はわからなかったのでずっと気にせずjQueryでも同じようなことをやっていて
933Name_Not_Found:2011/12/09(金) 18:55:33.95 ID:???
>>926
それは初耳だ
試しに、IE 8 で、下のコードを動かしてみたけど問題なかったよ

var img = document.createElement('img');
img.attachEvent('onload',
function (event) {
// 処理
});
img.src = '画像';
img.load();

>>931
なぜ、そう言い切れる
934926:2011/12/09(金) 19:06:03.27 ID:???
>>933
問題の内容はここに書いてあります。バージョンは明記されていません
ttp://support.microsoft.com/kb/890900/ja
ttp://nanto.asablo.jp/blog/2005/12/04/165848
> リークするメモリはほんの少し (たった数バイト)
らしいので気付きませんでしたが
気にしなくてもよさそうな気もします

質問内容は>>926の二行目も含めてなので
別に答えを知った上で質問したというわけではありません
935Name_Not_Found:2011/12/09(金) 19:42:08.65 ID:???
936Name_Not_Found:2011/12/09(金) 23:23:52.73 ID:???
これも定期的に掘り返されるな
そのIE6のメモリリークは http://support.microsoft.com/kb/929874/ja/ で解決済み
XPだとSP3が適用されていれば一緒に入ってる
6〜7年前の話に未だに振り回されてるのには、ほんとうんざりするねぇ
要するにIE6 must die
937Name_Not_Found:2011/12/09(金) 23:44:22.41 ID:???
HTML5でラピュタ作れないかなぁ
938Name_Not_Found:2011/12/10(土) 00:15:38.64 ID:???
俺が贔屓にしてたショッピングサイトがIE6の対応打ち切ってたし
絶滅もそう遠くないだろ
939Name_Not_Found:2011/12/10(土) 00:49:11.66 ID:???
>>938
脳内補完も程々に
× HTML5でラピュタ作れ(るけど対応ブラウザ少ないから出来ない、早く主要ブラウザがHTML5に対応し)ないかなぁ」
○ HTML5でラピュタ作れないかなぁ
940Name_Not_Found:2011/12/10(土) 00:53:34.24 ID:???
ラピュタ作るってラピュタのアニメーションを埋め込むことなのか
それともラピュタの城を作りたいのかよくわかんねぇ
941Name_Not_Found:2011/12/10(土) 01:03:46.09 ID:???
>>934
どうでもいいがそのひとつめのリンクは
ただの典型的な循環参照だぞ
942Name_Not_Found:2011/12/10(土) 01:11:01.86 ID:???
せんせー!Javasciptで僕が世界を救う英雄になる事は可能でうか!?
943Name_Not_Found:2011/12/10(土) 02:24:13.14 ID:???
>>892
&hearts;
とか
特殊記号とかで&が使われるからじゃね?
944Name_Not_Found:2011/12/10(土) 02:33:41.56 ID:???
>>890
こうするとIE8で発火した、Operaでは動作しなかったけど
document.all.testdiv.innerHTML='あ\<script defer type="text/javascript"\>\<!--\n alert("hoge");\n //--\>\<\/script\>あ';

一応いっとくけどtestdivは<div id=testdiv></div>ね
945Name_Not_Found:2011/12/10(土) 03:03:22.65 ID:jwkiLhjp
【環境】OS:WinXP,Win7  ブラウザ:主にFirefox3.6.24,GoogleChrome15.0,IE6.0

ライブラリ(カラーピッカーUI)で設定した色をJSへ渡す方法が分かりません。
利用したライブラリは ttp://www.html5.jp/library/cpick.html で、抜粋したコードは下記です。
※CSS記述も省略

<link href="sample_cpick_1.css" type="text/css" rel="stylesheet" />

<script type="text/javascript" src="ColorPicker_js/cpick.js"></script>
<script type="text/javascript">

window.onload = function () {
iro = document.js.cont.c2.value;
alert(iro)
}

</script>

<div class="cont">

<div><input type="text" name="c2" value="#d0c354" size="12" id="t2" class="html5jp-cpick [coloring:true]" />
</div>

目的としては、window.onloadで初期設定の色#d0c354(iro)がalertされるように
したいのですが何も出ません。 どう修正すべきでしょうか?
946Name_Not_Found:2011/12/10(土) 03:47:40.12 ID:???
>>945
document.js.cont が謎すぐる件
947945:2011/12/10(土) 04:49:19.99 ID:???
>>946
最初、document.js.c2.value と書いて何も出なくて、name="c2"が"cont"の子になってるので
もしかしてと思い上のようにしました。
948Name_Not_Found:2011/12/10(土) 05:19:21.13 ID:???
【環境】OS:Win7 64bit  ブラウザ:IE9
web上で数列の計算ができるようなプログラムを組みたかったのですが、等比数列のほうが答えが合いません
等差数列の方は合っているのですが・・・なぜでしょうか?(行数を収めるために括弧は改行を取り消しています)
<script type="text/javascript">
<!--
function func() {
var xx = parseFloat(document.F1.T1.value);
var yy = parseFloat(document.F1.T2.value);
var zz = parseFloat(document.F1.T4.value);
Select1 = document.F1.S1.selectedIndex ;
if(Select1 == 0){document.F1.T3.value = xx + yy * (zz - 1);}
else if(Select1 == 1){document.F1.T3.value = xx * yy ^ (zz - 1);}
}
// -->
</script>
<form name="F1" action="#">
初項<input type="text" name="T1">
、公差or公比
<input type="text" name="T2">

<select name="S1">
<option value="等差数列">等差数列</option>
<option value="等比数列">等比数列</option>
</select>
の、第
<input type="text" name="T4">

<input type="button" value="は" onclick="func()">
<input type="text" name="T3">
</form>
javascriptを勉強して数日も立ってない初心者ですので、引用が多く、ソースの記述方法自体が間違っているかもしれないので、直したほうがいい記述も教えていただけると嬉しいです
949Name_Not_Found:2011/12/10(土) 05:44:34.31 ID:???
yy ^ (zz - 1)

Math.pow(yy, zz-1)
950Name_Not_Found:2011/12/10(土) 06:15:40.43 ID:???
できました、ありがとうございます
951Name_Not_Found:2011/12/10(土) 09:15:10.93 ID:???
すごく流れが速い。テンプレ論議無理だた。せめて、次スレは何番が正しい番号なのか
だけでも確認いたしたく。誰か教えて。立てるのは975超えたらね。
952Name_Not_Found:2011/12/10(土) 09:39:05.69 ID:???
>>5
じゃね
953Name_Not_Found:2011/12/10(土) 11:27:39.13 ID:???
>>952 ありがと。間違えないようにするよ。
954Name_Not_Found:2011/12/10(土) 11:46:26.02 ID:???
テンプレの>>3>>158で更新されてるね
955945&947:2011/12/10(土) 12:32:16.84 ID:???
どなたか>>945分かりますでしょうか?
956Name_Not_Found:2011/12/10(土) 12:45:58.87 ID:???
>>954
答えてやれよ
957Name_Not_Found:2011/12/10(土) 12:47:17.44 ID:bgoI2tG4
>>955
スマホからなんで元のコードを見てないんだけど
色番号を最後に吐き出すメソッドがあるだろうから
そこに相乗りすればいいんじゃないかな
958Name_Not_Found:2011/12/10(土) 13:08:39.52 ID:???
>>954
それそのままレスとして貼るのは無理でしょ? だれか新 >>3 をここに
貼ってくれれば皆で確認できると思うけど。洩れは今の >>3 でいいかと。
959954:2011/12/10(土) 13:09:29.36 ID:???
>>956
次スレ立てる人に答えたんだけど
960Name_Not_Found:2011/12/10(土) 13:16:03.10 ID:???
>>958
>>3のURLを差し替えるだけでしょ?
細かいこといったら、>>2の前スレだって変わるし、全部誰かが代行してあげないとタイトルを間違える可能性があるってことになるよ
961Name_Not_Found:2011/12/10(土) 13:25:15.74 ID:???
>>3とか前スレとか関連リンクとか、いろいろ差し替えておいた
http://codepad.org/8sBEDfx4
しかし、こういうのはスレ立てる人が毎回やるもんだと思ってたが、スレ立てる人はチェックしないのが普通なのかね
関連スレが古いまま、タイトルも間違えるのが当たり前って状態は異常だと思うんだが
962Name_Not_Found:2011/12/10(土) 13:37:07.62 ID:???
>>945
カラーコードが確定していれば、document.getElementById('t1').value で取得できる
963962:2011/12/10(土) 13:38:46.88 ID:???
間違えた、document.getElementById('t2').value だな
964Name_Not_Found:2011/12/10(土) 14:04:21.40 ID:???
そんなことより、お前ら、地震に備えておけよ。
965Name_Not_Found:2011/12/10(土) 14:06:00.40 ID:???
>>961
役に立つ書籍は? 4冊目
http://hibari.2ch.net/test/read.cgi/hp/1172823674/
は外してもいいんじゃないかな?
スレが立ったのは2007年でほぼ更新がないし、http://fiddle.jshell.net/vSqKr/27/show/ で書籍は紹介されてるし
966レス代行 :2011/12/10(土) 14:08:59.15 ID:???
>>955
iro = document.getElementById("t2");
alert(iro.value);
// alert(document.getElementById("t2").value); と一行でも可


たぶん↓で見つかる解説を参考にされたのだろうと思います。
http://www.google.co.jp/search?q=document.js+name%3D%22js%22
JavaScriptでページ内の特定のHTML要素にアクセスするときに
要素のname属性の値をたどっていく方法。

<input … name="c2" … id="t2" … /> の場合、
これの親にnameが"cont"、さらに親に"js"というのが用意されていれば
document.js.cont.c2 でたどりつけるかと思います。(試してません)
class属性値ではたどれません。

これは古典的な方法で、簡潔に書けて便利ですが
name属性自体が廃止の方向であるため現在では推奨されません。
このコメントの最初のように、
id属性値とgetElementById()などを使うことが推奨されています。
967Name_Not_Found:2011/12/10(土) 14:10:05.31 ID:???
>>961
http://jsgt.org/ajax/ref/test/json/test1.htm がリンク切れてるので削除した方がよさげ
968Name_Not_Found:2011/12/10(土) 14:14:01.83 ID:???
代行レスに突っ込みいれるのもなんだけど、
form コントロールの name 属性は寧ろ必須じゃないか。
969Name_Not_Found:2011/12/10(土) 14:28:32.80 ID:???
>>968
少なくともHTML4,HTML5では必須ではないが、どの規定で必須になってる?
「廃止の方向性」に突っ込みを入れるのならまだわかるが…。
http://www.asahi-net.or.jp/~sd5a-ucd/rec-html401j/interact/forms.html#h-17.3
http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#the-form-element
970Name_Not_Found:2011/12/10(土) 14:34:01.09 ID:PlaD1n0n
リアルタイムチャットみたいな、
相手が投稿するとリアルタイムで自分の画面にも表示される仕組みって
毎秒ごとにログファイルをチェックしているのでしょうか?

ajaxで可能ですが、そんな事して負荷がかからないか心配です・・・
971Name_Not_Found:2011/12/10(土) 14:38:28.36 ID:???
nodejsとかを調べろ
972Name_Not_Found:2011/12/10(土) 14:42:54.03 ID:???
973Name_Not_Found:2011/12/10(土) 14:45:37.80 ID:???
>>971-972
ありがとうございます。勉強します
974Name_Not_Found:2011/12/10(土) 14:55:10.03 ID:???
node.jsとcometかな
cometは超高速push
っつーかpush自体も相当な負荷がかかるんじゃなかったっけ?
975Name_Not_Found:2011/12/10(土) 15:12:01.13 ID:???
>>969
フォームコントロールってform要素じゃなくてinput要素とかのことだと思うけど
976945&947:2011/12/10(土) 15:19:29.93 ID:???
>>963
>>966
ありがとうございます。取得出来ました。
977Name_Not_Found:2011/12/10(土) 15:26:24.53 ID:???
代行依頼者です(携帯から)あそこではform要素自体を考えてました。
form要素のnameは後方互換性で残ってるだけ、要素の特定には標準的なidを、
というつもりだったたんですが書き方適当でしたねゴメン
978Name_Not_Found:2011/12/10(土) 15:42:56.38 ID:???
次スレ
http://hibari.2ch.net/test/read.cgi/hp/1323498887/l50

えーとですね、皆様、お手伝い感謝してます。もちろん自分で修正した上で
立てるようにしてるんですけど、自分がそそっかしいとか、少し前までLv不足
やアク禁で立てられず他の人に立ててもらったとか、あってですね。お騒がせ
してすみません、これからもよろしこ。
979Name_Not_Found:2011/12/10(土) 16:04:43.73 ID:???
>>978 乙です
980866:2011/12/10(土) 16:08:40.18 ID:WihX0jF3
>>868
dataset の利用が推奨されているなら、setUserData / getUserData から dataset に書き替えたいと思います
また dataset が実装されてないブラウザ向けに、自前で同じようなオブジェクトを定義出来ないかなと
981Name_Not_Found:2011/12/10(土) 16:17:26.21 ID:???
>>978
乙だけど>>967が反映されてないよー
982Name_Not_Found:2011/12/10(土) 17:18:52.17 ID:???
えええー、また失敗ー。死ぬまで直りませんすみません。
983Name_Not_Found:2011/12/10(土) 17:57:22.77 ID:???
あやまってもゆるさない
984Name_Not_Found:2011/12/10(土) 18:47:44.38 ID:???
皆さんは for や while 文って使い分けたりします?
それとも、どちらかに統一してますか?
※ for-in や do-while 文は除く

使い分けるのなら、どんな時か教えてください
985Name_Not_Found:2011/12/10(土) 18:51:53.24 ID:???
ループする数がわかっているときはfor
わからないときはwhile
と教わった
というかJavaScript限定でもないからプログラム板のスレ立てるまでもない質問スレに行ったほうが
いろいろ聞けるんでない
986Name_Not_Found:2011/12/10(土) 18:52:39.60 ID:???
>>984
初期化文と継続文があるなら for
それ以外は while
987Name_Not_Found:2011/12/10(土) 19:20:23.43 ID:???
>>985
>ループする数がわかっているときは for
なるほど。for 文だと最初の行で、何回ループするかわかりますが
while 文だと {} 内を見ないと、回数がわかりにくいですからね

for (var i = 0, m = 10; i < m; i++) {
// 処理
}

var i = 0, m = 10;
while (i < m) {
// 処理
i++;
}

>というか JavaScript 限定でもないから
そうですね。JS 特有の何かがあれば聞きたかったのですが

>>986
やはり複雑なループは while 文がいいみたいですね
988Name_Not_Found:2011/12/10(土) 19:56:53.13 ID:???
質問です
他の言語では一般的に、
if ( a == 0 && b == 1 )
と書いた場合、a == 0が不成立だったらb == 1の判定は実行されないんですが、JavaScriptもそうでしょうか?
今自分で試すことができないため、誰か教えてください
989Name_Not_Found:2011/12/10(土) 20:13:26.21 ID:???
自分で試せるようになったら試せばいいでしょ
そんな焦るような質問じゃないから
990Name_Not_Found:2011/12/10(土) 20:36:44.99 ID:???
ちなみにJavaScriptもそうだお
991Name_Not_Found:2011/12/10(土) 20:45:10.37 ID:???
>>988
書き込んでる間があるなら試せよ・・・
992Name_Not_Found:2011/12/10(土) 20:46:52.91 ID:???
おそらくソイツ今、試験中だろ(Javascriptについての問題を解いている最中なんだろ)
993Name_Not_Found:2011/12/10(土) 21:28:03.71 ID:???
どもです
単に出先にいるから試せないだけだお
994Name_Not_Found:2011/12/10(土) 22:44:34.37 ID:???
995Name_Not_Found:2011/12/11(日) 07:05:15.41 ID:???
すいません。JS関連でスレ立てをお願いしたいのですが、どこに頼むべきでしょうか?
運営とは違うようですし・・・
996Name_Not_Found:2011/12/11(日) 07:18:45.42 ID:???
立てるスレの前スレで頼む
997Name_Not_Found:2011/12/11(日) 10:39:37.32 ID:???
JS関連スレって何スレ立てんの?
998Name_Not_Found:2011/12/11(日) 11:03:01.66 ID:???
むやみと増やされても困る
999Name_Not_Found:2011/12/11(日) 12:13:20.35 ID:???
まずスレタイと内容を書いてみてください
1000Name_Not_Found:2011/12/11(日) 12:17:43.64 ID:???
1000だったらJavaScriptで人間作ります
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。