+ JavaScript の質問用スレッド vol.103 +
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/
■主要FAQ (全部は
http://fiddle.jshell.net/vSqKr/33/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 中でやるとか。
高速道路を北に向かって走っていた私は、 トイレに行きたくなったのでサービスエリアに立ち寄りました。 手前の個室はふさがっていたので、その隣に入りました。 便器に腰を下ろそうとしたその時、隣から 「やあ、元気?」と声がしたのです。 男は皆そうですが、トイレで見知らぬ人と話をすることはありません。 どうしていいかわからなかったので、ためらいがちに「まあまあだよ」と答えました。 すると隣人は「そうか……それで、今何してるの?」と言うのです。 妙だなと思いましたが、私はバカみたいにこう答えました。「君と同じだよ。ウンコしてるんだ!」 やがて隣の男は、声をひそめてこう言ったのです。 「おい、あとでかけ直すよ。隣の個室に、俺の声にいちいち答えるアホがいるんだ!」
あれーすみません。探したつもりだったんですけど失敗しました。
テンプレ改善案癌無視かよ
「javascriptなんてwebサイトの文字の色変える程度の簡単な言語だろwww 1日で取得できるぜwwwwwwwww」 そんなふうに考えていた時期がオレのもありました
コアなら 3時間、クライアントサイドなら 4時間。 これが目安。
今なら余裕あるんで、テンプレ
>>1-4 の差し替え案あったら貼って
もらえると検討できるんじゃないかと。
ある数が2の何乗かを調べるのってどうやるん?
>>13 2で何回割れるかをカウントする
64ビット整数であることを前提にするなら表を作ってもたった64エントリで済むという
15 :
テンプレ案 :2012/09/11(火) 16:11:40.43 ID:t2hMmdht
>>15 候補としてはいいと思うけど、テンプレURLが違う。
元URLを変更する形で提案してほしいな。
リビジョンで区別はつくから。
>>13 n.toString(2).length - 1?
とかどうよ。でかい数字だとダメそうだけど。
18 :
Name_Not_Found :2012/09/11(火) 18:21:11.83 ID:t2hMmdht
>>13 a = 256;
b = Math.log(a)/Math.log(2); // 8
ajaxってさ、文字コードはutf8nかutf8かどっちのほうがいいの?
Web関連って今は、文字コード無指定だったら 暗黙裡にUTF-8とするんだったと思う。
22 :
Name_Not_Found :2012/09/12(水) 13:46:27.67 ID:byJntYn9
HTMLとJSはSJISで、UTF-8もSJISもEUC-JPも問題なく読めることを確認して以来 気にしたことがないなあ
は?
日本語でおk
25 :
Name_Not_Found :2012/09/12(水) 14:06:19.74 ID:byJntYn9
ごめんなさい Ajaxで読み込んだXMLをパースしてHTMLに書き込む ということをする際に、HTMLとJSが書いてあるファイルをSJISとしたとき 読み込むXMLファイルはUTF-8でもSJISでもEUC-JPでも問題なかった つー話しです
バカ丸出し
27 :
Name_Not_Found :2012/09/12(水) 15:21:25.55 ID:NysFQoO/
質問です。 「解説して ○年○日 経過」 というカウントアップなのですが、うるう年対策の方法がわかりません。 どうかアドバイスをお願い致します。 var now = new Date(); var xxday = new Date(2012, 9-1, 12); var count2 = Math.ceil( (now.getTime() - xxday.getTime()) / (24*60*60*1000) ); var y = Math.floor(count2 / 365); var d = count2 % 365; document.write("開設して"); if (y > 0) { document.write(y); document.write("年"); } if (d > 0) { document.write(d); document.write("日"); } document.write("経過");
var now = new Date(); var xxday = new Date(2012, 9-1, 12); var xxday2 = new Date(now.getFullYear(), xxday.getMonth(), xxday.getDate()); // 今年のXデー var y = now.getFullYear() - xxday.getFullYear(); if (now.getTime() - xxday2.getTime() < 0) { // 今年まだXデーを迎えていないなら、改めてxxday2を去年のXデーに設定 xxday2 = new Date(now.getFullYear() - 1, xxday.getMonth(), xxday.getDate()); y--; } var d = Math.floor((now.getTime() - xxday2.getTime()) / (24*60*60*1000)); document.write("開設して"); if (y > 0) { document.write(y); document.write("年"); } if (d > 0) { document.write(d); document.write("日"); } document.write("経過"); }
Xデーが 2/29 だった場合、今年のXデーが 3/1になるからずれるような気がするが。どう?
実際3/1で1年経過したことになるから問題ない。
31 :
Name_Not_Found :2012/09/13(木) 06:56:45.25 ID:rjk9DmXr
utf8nってググったら日本語文字列(マルチバイト文字)がないと utf8nで保存できないって記事あったんだが、 jQuery〜.jsってTerapadで開いたらマルチバイト文字ないみたいなのに、 utf8nだったんだけど? 他にも自分で作ったjsとかもutf8nで保存できる時とできないときがあって さっぱり規則性がわからん。みなさんどう思いますか?
var hoge =new Array(); hoge[0] ="123"; hoge[1] ="153"; hoge[2] ="321"; var fuge = hoge; hoge.length =0; function test(){ alert(fuge); } ってやるとなぜかfugeまで空になってしまいます fugeにhogeを継承した後hogeを空にしてもfugeだけは残す方法とかないんでしょうか?
単純にコピーしたいのなら fuge = hoge.slice(0); ディープコピーしたけりゃ自分で関数作るかJquery.extend使え 継承したいならそういうもんだから諦めろ わからなければググレ
hoge = [];
35 :
32 :2012/09/13(木) 08:42:26.05 ID:???
参考になりました!jQuery.extendについて調べてみます ありがとうございます
>>31 知識不足の人間が誤った記事を読んで、駄目なエディタを使っているだけでしょうね!
>>31 コメントに 0xE2 0x80 0x93 っていうコード列が混じってるようだね。
–
38 :
Name_Not_Found :2012/09/13(木) 17:23:29.02 ID:D4ESY+fp
A.HTML上のボタンをクリック →A.HTML上のフレーム内にB.HTMLを実行 B.HTML上のボタンをクリック →新規ウィンドウでC.HTMLを実行 このとき、C.HTMLから親ウィンドウA.HTMLを閉じることは可能ですか?
やってみれば?
すいません、window.opener.close()で出来ないので質問させて頂きました。 何かよい方法はないでしょうか
window.opener.window.parent.close();
できました!ありがとうございます。 parentなどの並び順に不備がありました…
>>32 何で空になるのか。大事なところなのでこの際ちゃんと理解しといた方がいいよ
同一のドメインで XMLHttpRequest を使用してHTMLを取得したいのですが その際に、送信されてしまうクッキーを送信しないようにする方法はありますか?
クッキーをどこかにメモって削除 ↓ ajax ↓ クッキー元に戻す て意味じゃないよな…
46 :
38 :2012/09/14(金) 11:01:16.48 ID:???
すいません、親ウィンドウを閉じる際に確認ダイアログが表示されますが、ダイアログを表示しないことは可能ですか? 親ウィンドウ→子ウィンドウならわかりますが、フレームを介する場合の方法がわかりません。 IE9を使用しています。
〜よくわかるまとめ〜 『配列を参照している変数』を初期化するなら[] 『変数が参照している配列』を初期化するならlength=0
当方、CSS板で質問してJAVAスクリプトでないとムリだと聞いたのでここで質問させていただきます。 一辺100pxの画像(リンク入り)にマウスを乗せると、 その画像自体の真上に重なる形で下の画像を表示させたまま 一辺30pxの画像(別のリンク入り)を表示させることは可能でしょうか? もし可能ならば方法を教えていただきたいです。 ちなにみ下記のCSSで実行しようとしたところ、 動作はしますがそれぞれの画像に別のリンクを指定することはできませんでした。 HTML <div id="imgHover"><ul><li><a href="リンク1"> <span class="thumbnail"><img src="大きい画像.jpg" alt="sample image" /></span> <span class="mainImage"><img src="小さい画像.gif" alt="sample image" /></span> </a></li></ul></div> CSS #imgHover ul li { float: left; margin-right: 5px; } #imgHover ul li img { border: none; } #imgHover ul li a { display: block; } #imgHover ul li a:hover { position: relative; } #imgHover ul li a .mainImage { display: none; } #imgHover ul li a:hover .mainImage { display: block; position: absolute; top: 0; left: 0; }
スレチ
表示って重なり方にもあるからなぁ 左上合わせるのか中央合わせるのか
可能に決まってるだろ 可能かどうかならスレチ
>>28 お礼が遅くなり申し訳ございません。
早々にアドバイス下さり有難うございました!
53 :
Name_Not_Found :2012/09/14(金) 14:55:41.99 ID:0ZCdrfRy
>>48 CSSのhover使えばなんとかなっちゃうんじゃないか?
<a>
<span class="default">大画像</span>
<span class="hover">大画像の上に小画像</span>
</a>
a { display: block; position: relative; overflow: hidden; }
span { display: block; position: absolute; }
/* 標準時 */
span.default { left: 0; top: 0; }
span.hover { left: -5000px; top: -5000px; }
/* hover時 */
a:hover span.default { left: -5000px; top: -5000px; }
a:hover span.hover { left: 0; top: 0; }
こんなかんじで
54 :
Name_Not_Found :2012/09/14(金) 15:00:18.68 ID:weHZd7Gq
Javasctiptを極めたら彼女できますか?
55 :
48 :2012/09/14(金) 15:21:58.46 ID:???
>>53 ご丁寧にありがとうございます。
さっそく試してみたところなぜか画像が何も表示されませんでした。
ちなみにHTMLは下記のように修正してから実行してみました。
<a href="リンク1">
<span class="default"><img src="大きい画像.jpg"></span>
<span class="hover"><img src="小さい画像.gif"></span>
</a>
56 :
46 :2012/09/14(金) 15:42:16.21 ID:???
すいません、できました
57 :
Name_Not_Found :2012/09/14(金) 15:56:29.63 ID:0ZCdrfRy
>>55 ごめんなさい、質問の条件を間違えていた
a要素の入れ子はできないから、CSSだけだとIEが駄目だった
ちょいまち
58 :
Name_Not_Found :2012/09/14(金) 16:12:43.18 ID:0ZCdrfRy
>>55 ごめんねごめんね
HTML
<li>
<span class="link1"><a href="リンク1"><img src="_img/img_1.png" alt=""></a></span>
<span class="link2"><a href="リンク2"><img src="_img/img_2.png" alt=""></a></span>
</li>
CSS
li{ width: 100px; height: 100px; position: relative; overflow: hidden; }
li span{ display: block; width: 100px; height: 100px; position: absolute; left: 0; top: 0; }
li span.link2{ width: 30px; height: 30px; left: -5000px; top: -5000px; }
li.hover span.link2{ left: 35px; top: 35px; }
JS
$(function(){
$('li').hover(function(){
$(this).addClass('hover');
},function(){
$(this).removeClass('hover');
});
});
CSSでli:hoverが使えればCSSだけで出来るんだけど
IEがa要素以外のhoverを受け付けてくれないので、それをJSで代替しました
面倒だったのでjQueryを使いましたが
要はliのマウスオーバ/アウトでliのクラス属性を書き換えればOKです
59 :
48 :2012/09/14(金) 18:08:50.02 ID:???
>>58 できましたー!!
まさかここまで親切に教えていただけるとは思っていなかったのでびっくりしました。
本当にありがとうございました!
これを機会に自分なりにアレンジを加えたりいろいろしてみたいと思います。
60 :
44 :2012/09/14(金) 18:28:26.28 ID:???
>>45 それだと別のタブにも影響が出ちゃうので・・・
なんとか実現できたので質問取り下げます
お世話様でした
61 :
Name_Not_Found :2012/09/14(金) 21:52:15.77 ID:sGE8bvmh
【環境】OS:windowsXP ブラウザ:IE6 【何をしたのか】IEで期待した動作をしない 【エラーメッセージ】なし 【期待する結果】 複数セレクトボックスの<option>は全て同じ値。 選択した<option>を他のセレクトボックスから選択できないようにしたい。 一度選択不可にした選択肢も、選択が解除された場合は戻したい。 IE6で動きません。 変数のせいな気がするのですが、お手上げ状態。。。 >$('[name!="'+ nm +'"] option:selected').each(function () { を$('select[name!="'+ nm +'"] option:selected')とすると $(this).val()が取得できなくなります。 >$('select[name!="' + nm + '"]').children('[value="' + vl + '"]').hide(); を$('[name!="' + nm + '"]').children('[value="' + vl + '"]').hide(); とすると、他のHTML要素まで影響が及んでしまい。。。
62 :
Name_Not_Found :2012/09/14(金) 21:52:47.57 ID:sGE8bvmh
【サンプルコード】 function test(nm,vl){ var another1 = ""; $('[name!="'+ nm +'"] option:selected').each(function () { another1 += '[value="' + $(this).val() + '"],'; }); $('select[name!="' + nm + '"]').children('[value!="' + vl + '"]').show(); alert('select[name!="' + nm + '"]') $('select[name!="' + nm + '"]').children('[value="' + vl + '"]').hide(); $('select[name!="' + nm + '"]').children(another1).hide(); $("select").children("[value='']").show(); }
63 :
Name_Not_Found :2012/09/14(金) 21:53:55.77 ID:sGE8bvmh
<select id="test1" name="test1" onChange="test(this.name,this.value)"> <option value=""></option> <option value="a">あ</option> <option value="b">い</option> <option value="c">う</option> <option value="d">え</option> </select> <select id="test2" name="test2" onChange="test(this.name,this.value)"> <option value=""></option> <option value="a">あ</option> <option value="b">い</option> <option value="c">う</option> <option value="d">え</option> </select> <select id="test3" name="test3" onChange="test(this.name,this.value)"> <option value=""></option> <option value="a">あ</option> <option value="b">い</option> <option value="c">う</option> <option value="d">え</option> </select>
JavaScriptの連想配列を使う際、他言語のハッシュのようにキーが衝突することは起こり得るでしょうか? また、衝突が起こるのであれば、どのように回避すればよろしいでしょうか?
ブラウザによって実装はまちまちじゃね? 気にするな
>>64 同じキーで値を格納すれば、前の値は上書きされる。
それを回避するのはプログラマの責任。
連想配列としてのハッシュとハッシュ値とがごっちゃになってる……?
>>66 レスありがとうございます
生成されたキー(ハッシュ値)の衝突が発生した場合に登録済みかどうかの判定をいれようと思います
訂正 発生した場合に→発生しないように
話が噛み合ってんのか、噛み合ってねーのか、和姦ねーな
65と67は何か深読みをしたのか。
var a = new Object() a["hoge"] = "ほげ"; a["test"] = "てすと"; このように書いた時に、 仮に"hoge"と"test"で同じハッシュ値が生成されてしまってa["hoge"]が"てすと"に上書きされる現象が起きるか 発生し得る場合どのように回避するか、という話
それはあり得ないんじゃないかな。 誰か遭遇した人いる?
ハッシュ値の重複で問題になったのは DoS 攻撃相当の負荷を 掛けられるって話しか聞いたことねーや。 上書きなんか起きたら、言語自体のバグなんじゃねーかな。
「あり得ない」は語弊があるかな。 原理上は重複する可能性があっても、 数値や短い文字列等の一般的な用途なら まず起こらない様に調整してるんじゃないかな。 っつーかそもそもハッシュ値のみで操作してるのかどうか。
ハッシュ値って取得できんの?
パッパッシュール、パッパッパシュール、パッパッ゚リーロ、パッパッパリーロ、ゥォー
>>74 上書きがあったとしても実装バグてあって言語仕様には問題ない
ESにそんな規定はないから
話が噛み合ってねーな
衝突するほど長い名前付けんの?
質問です 正規表現でマッチした部分の位置を調べようと思ってるのですが マッチしたのが一か所の場合index()などを使って取得すると最初にマッチ下部分や最後にマッチした部分の位置しか取得できません var hoge = "123abc789abc34abc"; の文字列で"/abc/g"でマッチしたら4と10と15を得られるような方法とか無いのでしょうか?
一カ所マッチしたら、その後ろをまた調べれば良いじゃない
>>81 RegExp.exec()を繰り返し呼んで、lastIndexが更新されてくのを利用する。
84 :
Name_Not_Found :2012/09/15(土) 20:12:47.16 ID:/tnE7dqk
創価死ね 創価死ね 創価死ね 創価死ね 創価死ね 創価死ね 創価死ね 創価死ね 創価死ね 創価死ね 創価死ね 創価死ね 創価死ね 創価死ね 創価死ね 創価死ね 創価死ね 創価死ね 創価死ね
>>82 >>83 ありがとうございます!
このスレの人天才じゃないかと思えるほど助かりました
仕事場でやたら独り言多い奴いるんだけどそんな奴いたりする? なんかプログラマーって変な奴多いのか?って思えてしまう attrをアタタァ!とか言って打ってたんだが静かにしろっていう
そいつはフランス人だろ
俺ベンチャーで社長やってるがコミュなんてクソ以下の価値しかねぇ 多少頭イッちゃってるような奴でも最高の仕事をしてくれるなら全然構わない プログラマーならコードで語れ、そしてプログラマーはコードを見ろ
煌芽木ひかるちゃんの新作出てるよー (^o^)ノ
94 :
Name_Not_Found :2012/09/16(日) 12:37:42.97 ID:yQ+N67IY
>>94 今ソーシャルゲーム関係のAjaxとかの需要高いよ
HTML5使ったWebsocket辺り使えたらハーレム漫画みたいにモテモテ
つまり、今一番アツイのはJavascript
Javascriptで彼女ができました
学歴も経験ないニートが社会復帰したくてプログラミング勉強しても その頃にはソーシャルブーム終わってそうだが
ソーシャルバブルはそろそろ終了だろうけどHTML5はまだ先がある
html5って真っ二つに規格が分裂したよな。 まぁ、web標準化なんて無理だろうし、こんなことだと思ってたが、 ブラウザなんか現存する全種類に対応するwebアプリケーションなんて 動作確認無理なレベルになってきてるしな。 javascriptとHTML5の組み合わせはこの先発展するかな?
分裂したけど、片方の「別にそんな機能いらねーよ」派は主にIEだけだからなぁ ぶっちゃけIEが死滅してくれりゃ解決するが、windowsが主流だからなぁ・・・。 IEのシェアが下がればめっちゃ発展するのは間違いない
Javascript を習得するのと他の言語を習得するのはどれ位難易度に差がありますか 例えばS〜Cレベルで答えてください。もちろんJavascriptも含まれます
答えてくださいって強制かよ
IE6すらしぶとく生き残りやがってる現状で、、、
うちの大学がやっと今年からie6でなくie7を導入した。 正直コンピューターの開発が早過ぎて、使う側がついていけてない。
馬鹿じゃねーのw
その点chromeは自動でアップデートしてくれるから便利だよな
>>106 自動でするしないじゃなく、
ポリシーでしない事に決めてる所が面倒だって話。
だからそういう所では自動でされると迷惑。
スパイウェアのプライバシーポリシー
俺の会社はもうIE6だけじゃなく、来年からはIE8もサポート対象外にするけどね canvasが動きませんって苦情がきても「仕様です」って答える
111 :
Name_Not_Found :2012/09/16(日) 22:56:31.89 ID:lAZcxRxS
>>107 うらやましすぎる
うちは大きいクライアントが多い(仕事が大きいという意味ではなく)から
まだまだまだまだ、IE6の面倒はみなきゃならん日々が…
「動かないバグはただのバグ、動くバグは仕様」 ってオレは思ってる。 ブラウザで挙動が違うって、javascript、html5を勉強する前は 考えたこともなかった。
生殺しにされる位ならいっそとどめを刺せ、という考え方もある。
>>111 pixivなんかでも未だにChromeにまともに対応してないんだし
もっと小さな案件で古いIEなんかにリソース割くとかアホの極みにしか見えんよ
そういうのはJSが動かない状況と一括りにして考えていいんだよ人をうらやましいとかいうけれど
そんなおかしな環境で明確な不満事があっても仕事を続けられるその精神が逆に羨ましく思う
プログラマによく仕方ないんだよとか言ってこういう環境抜けられない人いるけどそれはモノカルチャーだからなんだよね
やっぱり多方面にできる人は上手くいい環境で立ち回ってる
115 :
Name_Not_Found :2012/09/17(月) 19:23:21.90 ID:phRyXHNq
actionのところにcgiの串を刺す方法を教えてください
<script language="javascript">
<!--
document.write("<iframe name=\"FrameName\" width=\"500\" height=\"500\"></iframe>");
document.write("<form name=\"FormName\" action=\"
http://jbbs.livedoor.jp/bbs/write.cgi/\ " method=\"post\" target=\"FrameName\">");
document.write("<input type=\"hidden\" name=\"NAME\" value=\"もく......"+Math.floor(Math.random()*10000000000)+"\">");
document.write("<input type=\"hidden\" name=\"MAIL\" value=\"\">");
document.write("<input type=\"hidden\" name=\"MESSAGE\" value=\"テスト......"+Math.floor(Math.random()*10000000000)+"\">");
document.write("<input type=\"hidden\" name=\"DIR\" value=\"internet\">");
document.write("<input type=\"hidden\" name=\"BBS\" value=\"15679\">");
document.write("<input type=\"hidden\" name=\"KEY\" value=\"1347765730\">");
document.write("</form>");
document.FormName.submit();
</script>
116 :
Name_Not_Found :2012/09/17(月) 20:36:34.31 ID:F/VlroK1
初めて質問します いろいろあってjsをすることになりました。 ウィンドウ内に移動可能なウィンドウもどきを配置したいのですが、 どう実装すればいいのか検討がつきません… 説明が下手で申し訳ないです
position:absoluteかfixedで document.getElementById(そのID).style=で位置変更
118 :
Name_Not_Found :2012/09/17(月) 21:02:39.38 ID:F/VlroK1
>>117 ありがとうございます。
専用の関数があると思ってたのですが、無いんですね…
ということはドラッグで移動とかも実装しないと…
助かりました、その方針でやってみます!
>>118 専門っつーか、アニメーション専門っつーのはjQueryとか
ドラック移動は
javascript 要素 ドラッグ 移動でググれ
簡単に片づけたいのならjQueryでやっつけるのも良いけど 勉強したいのならイチから手作りするのも良いと思う 自分が教わったときの題材が、フローティングウィンドウだった もちろんいきなりやった訳じゃなく、最初はDOMアクセスするところから始めて 複数のウィンドウを扱えるようにクラス的な考え方も学んで 最後にはウィンドウの中身をajaxするところまでやれたので 結構幅広く学習出来ると思う
ポインタの位置とか要素の位置とか取得するのやれば理解深まるしね
124 :
Name_Not_Found :2012/09/18(火) 18:13:09.17 ID:FSG7y6S3
セレクタの書き方変えればできんじゃね?
125 :
Name_Not_Found :2012/09/18(火) 21:42:56.94 ID:9k5INIdk
質問させてください。
ページを自動でリロードさせたいのですが、
document.location.href = '
http:// 〜';
これであっていますでしょうか?
全部のブラウザで動作するものなのか心配です。
>>123 昨今のブラウザの先進的な機能のおかげでjavascriptが走るころには
HTMLに記述された画像ファイルは全てロード済みとかいう話があった気がする。
>>125 残念ながらいかなる理屈もW3Cの標準規格であろうともブラウザやjavascriptエンジンの動作を保証しません。
自分で全部のブラウザを用意してテストして確認してください。
貴方がテストできた範囲のみが動作保証の範囲です。
テスト業務を外部委託するのもいいでしょう。
127 :
Name_Not_Found :2012/09/18(火) 21:54:05.03 ID:9k5INIdk
>>126 えっ
とういことは、今書いてるコードすべてが動かないんですか?
var hoge = 1;
これも保障されないんですか?
不安で夜も眠れません。
>>127 もしもメモリが不足していれば変数の確保はできません。
129 :
Name_Not_Found :2012/09/18(火) 22:26:39.76 ID:FSG7y6S3
>>126 lazyloadがもともと
<img src="hoge.png">
て書かれているところをDOMContentLoadedで
<img src="">
に書き換える仕様だった時に、src消しても
ブラウザがロードしちゃうから駄目だこりゃ、となり、今は
<img src="代替.png" data-失念="hoge.png">
<noscript><img src="hoge.png"></noscript>
て書く、少し残念な仕様になってると思う
最新のブラウザがdataハイフン属性であっても、値がパスならロードしちゃうとか
<noscript>要素内でも容赦なくロードしちゃうってほど親切だったら
言う通りかも知らん
変数に代入できないほどメモリーがなかったらそもそもブラウザが起動しません
131 :
Name_Not_Found :2012/09/18(火) 22:31:15.23 ID:FSG7y6S3
>>127 例えば俺が大学生の時に情熱99%技術1%を込めて作ったブラウザでは
怪しいかもしれないなあ、ってことじゃろ
標準化団体は仕様を策定するけれども
確実にそれを実現できるかどうかはブラウザベンダーの実装次第であり
ベンダーはそれを自慢はするけど保証はしてくれんよ
132 :
Name_Not_Found :2012/09/18(火) 22:33:45.33 ID:9k5INIdk
このままじゃ気になって眠れそうに無いので document.location.reload(); これで自己解決することにしました。 みなさんありがとう。
133 :
Name_Not_Found :2012/09/18(火) 22:36:36.04 ID:FSG7y6S3
田代砲の誕生である
■ ブラウザから送信されるデータの改竄防止 今ブラウザゲームを作っていて,ハイスコアをサーバに送信できるようにしています. ユーザを同定するために,HTMLにセッションIDを埋め込み, セッションIDとハイスコアをJavaScriptからPOSTで送っています. しかし,これでは悪意のあるユーザが任意の値をPOSTすることが可能です. このようないたずらを防止するにはどうすれば良いのでしょうか.
暗号化してサーバーで復号してチェック
javascriptで作られてる限り任意のデータの送信を防ぐ方法はありません やりにくくする方法としては ゲームのスクリプトのなかにこっそりある文字列を入れておいて ハイスコアとかをその文字列でDES暗号化して まずサーバーに公開鍵を要求してDES暗号化されたのをさらに公開鍵で暗号化 サーバーがわで秘密鍵で複号してDESも復号 DES暗号化の鍵となる文字列は定期的に変更し スクリプトの難読化は言うまでもなく
1.理論上ありえないスコアは鯖側で無効にする(スコア上限、プレイ時間等) 2.セッションIDとIPアドレスを関連付けてユーザ乗っ取りを防ぐ 3.ゲームのログを取る(スコア発生イベントと日時を全て記録して、送信されたスコアとの整合性を確かめる)
139 :
135 :2012/09/19(水) 14:15:43.58 ID:???
みなさま,ありがとうございます.
>>136 暗号鍵はクライアントに見える形になってしまいますよね?
>>137 なるほど,やはりそういう対策になりますね.
2重に暗号化を書けるのはなにか理由があるのでしょうか?
>>138 ユーザ本人が自分のハイスコアを不正に理論上最大値にしようとする
というシナリオを想定すると,やはり3しかないのでしょうね.
>>135 そもそもクライアントサイドで計算させる仕組みが悪い。
全てサーバサイドで処理する方が確実。
>>139 二重の暗号化は少しでも複雑にしてユーザーに解析されにくくするのと
二つ目の暗号化に公開鍵使うのはブラウザとサーバー間の通信を覗かれた時の対策
ゲームのアクションをいちいちサーバーに報告して整合性確かめるのはめんどうだしバグのもと
>>140 がいちばん確かな解決策だけど…
javascriptだけにこだわるなら解析されにくくするしか
143 :
Name_Not_Found :2012/09/19(水) 18:41:08.18 ID:My4Uz+rX
10月から研修に行くことになったのですが・・・、 JavaScriptを使って ・Webサイトを動的に制御し、HTMLのページをスムーズに切り替えできるように ・HTMLやスタイルシートといったタグの切り替えできるように ・スタイルシート3を制御できるように といった事を今日、予め覚えてくるように相手先から言われました。 ・・・が、私はJavaの経験が皆無で、10月までもうあまり間がありません。 軽く趣味の範疇でC言語やC++、HTML、CSSぐらいに触れたことがある程度です。 泣きたいです。 「JavaってCと似ているから大丈夫」と言われましたが、 ネットで検索しても如何せん量が多く、何から手を付けて良いか皆目検討付きません。 1週間ちょっとで覚える為に最低限抑えておくべき箇所や、 読んでおいた方がいい参考書、Webサイトなどがありましたら教えていただけると幸いです。
JavascriptなのかJavaの話なのかハッキリしろ
Java???
146 :
138 :2012/09/19(水) 18:49:44.59 ID:???
>>143 1. Java と javascript はまったくの別物です。不用意に略さないように。
2. Webサイトを動的に制御、というのはおそらくajaxのことだと思われます。
3. javascirptでやることなんて特定のタグを指定して(Document.getElementById)そこをごちゃごちゃ書き換える(innerHTML)だけです。
4. ajaxとかCSSの書き換えなんてjqueryで一発です。
> ・・・が、私はJavaの経験が皆無で、10月までもうあまり間がありません。 なんでJavascriptなのにJavaの経験が必要なんだ > 「JavaってCと似ているから大丈夫」と言われましたが、 確かにJava言語は似てる
【DOM操作】 これ出来るようになるだけで充分だろ そんでDOM操作ができるようになったらjQueryで楽しろ
素早い回答ありがとうございます。 ajaxやDOM操作などの教えていただいた単語を中心に調べて行こうと思います。 jqueryについては、相手先が使う方向性か使わない方向性かで何か悩んでいたみたいですが、こちらも調べてみたいです。 Javaはただのド忘れ・表記ミスです・・・ごめんなさい・・・
150 :
143 :2012/09/19(水) 19:10:36.09 ID:???
>>149 もう今じゃ「えー!?ココjQuery使わないのー!?チョーダルイんッスけどwwww」
って専門から東大生からマサチューセッチュにも言われる
読み込みにはgoogle.load使えば設置しなくて済むし
152 :
Name_Not_Found :2012/09/19(水) 21:34:30.55 ID:RjXXVCPy
jQueryUIには highlight() という素敵なメソッドがあるんですが、 これをjQueryだけ、またはtwitter bootstrapを使って実現できますか。 実現できるならその方法を教えてください。 jQueryUIはさすがに重いので入れたくないのと、 ぐぐってみたけど highlight() 相当のjQueryプラグインが見つからなかったので 質問しました。よろしくお願いします。
153 :
Name_Not_Found :2012/09/19(水) 22:34:23.90 ID:TuIPeJgi
>>152 > 実現できるならその方法を教えてください
jQueryUIのhighlight()に相当するものを書けば実現できる
書かないまでも、jQueryUIから引っ掻いてくれば
>>152 本家サイトにあるカスタマイズのページでEffect coreとEffect "Highlight"のみにチェック入れてDLしたら
9KBのjquery-ui-1.8.23.custom.min.jsがゲットできたわけだがこれじゃだめなの?
javascriptでのリンクについて。 今、javascriptで簡易RPGを作っています。 迷路を自動生産してそれを2重配列に入れ、その迷路内をランダムウォークする 敵と自分がぶつかったら戦闘画面に行くようにしたいのですが、以下の問題で止まってます。 1.戦闘に移った時に戦闘用の別ページに移動して、先頭が終わったあとに自分や敵の位置と自動生産された迷路の位置をどうやって記憶させておくか。 2.戦闘に移る場合は別のページに飛ばすのがいいのか、ほかに方法があるのか? 回答お待ちしています。
>>156 別ページに移動するのはやめてjqueryでajax
いわゆる「モーダルダイアログ」を出すとか
回答ありがとうございます。
>>156 画面遷移ってやつですかね?
>>157 モーダルダイアログですか、ちょっと調べてみます。
俺も画面遷移なしが良いと思うけど どうしても遷移が必要なら、復活の呪文作って クッキーかストレージに書いておくか、最悪URLにくっつけて引きずり回す、とか
サーバーサイドのPHPとか使えるならセッションに置くとか
様々な回答ありがとうございます。
遷移はjavascriptが新たに使えなくなってしまうのでやめたほうがいいかもしれないですね。
なるほど、セッションに保存ですか。それなら可能ですね。
一応
>>157 さんに書いていただいたjQueryでモーダルダイアログを使ってやってみたんですがサイズが上手く合わないですね。
自分の合わせ方がダメなだけですが。
モーダルダイアログを使ってみてなんとかできてjavascriptも効くようになったのですが document.images["jan"].src=image[n]; のコードだけ効いてくれません。 $(function(){ setInterval(function(){ で状況によって画像をどんどん切り替えて行くようにしたのですが画像が切り替わりません。 ちなみに計算などの処理はちゃんと行われています。 どんな原因が考えられるでしょうか? <body> <div data-role="page" id="p-top" > <div data-role="content"> コンテント! </div> </div> <div data-role="page" id="p-top2" style="display: none"> <script src="js/p2.js"></script> <img src="./gdata/ready.jpg" name="jan"> </div> </body>
163 :
Name_Not_Found :2012/09/20(木) 19:59:52.89 ID:jwjLqSwc
>>162 firebugで見て、src属性はちゃんと切り替わっているかえ?
もし変わっているなら、インターバルが短すぎて
画像のロードが終わる前に次に行ってしまっているとか?
あと、どのような用途かわからないからなんとも言えないけど
1枚の画像に必要なコマを全部描いて
表示位置を切り替えるようにすると、ロードの数が減って良いですよ
>>163 回答ありがとうございます。
一応、それのみのサイトではできたんですが
他と合わせる(data-role="page"を分割)とその画像の切り替えのみが動作しなくなります。
インターバルを長くしてみましたがダメでした。
後者の「1枚の画像に必要なコマを全部描いて
表示位置を切り替えるようにすると、ロードの数が減る」ということの詳細についても教えていただきたいです。
setintervalを使わなくて済むならかなり理想なんで。
165 :
Name_Not_Found :2012/09/20(木) 22:06:14.94 ID:jwjLqSwc
>>164 アニメーションをする限り、setIntervalやsetTimeoutはせにゃならんとは思う
画像1個で、てのは例えば100×100pxの画像を5枚切り替えるなら
その5枚をつなげて500×100pxの画像1個にする
んで、overflow:hiddenの100×100pxのブロックに画像を入れればクロップされるから
画像の位置を100pxずつズラせば切り替えているようになるよね、てこと
>>164 やろうとしている部分はちゃんと発火している?
bindした関数が、removeと一緒に引き剥がされて
実は実行されていなかった、とかじゃない?
>>165 なるほど!そういうことですか!
やってみます。
ありがとうございます。
>>166 一応その中ではジャンケン(実際は違いますがジャンケンだとして)をする画面で
画面上のグー
<IMG src="./gdata/gu.jpg" border="0" width=50% height=30% onClick="sec1(0)">
をクリックしたらjavascriptで乱数と判定してその結果で画像を何枚か変更。
勝っていた場合$(self).hideModal();を実行して元の画面に戻る。
ということをやっているのですが勝っていた場合は数秒後(setinterval*画像の回数分の時間)
ちゃんと元の画面に戻るんですが、じゃんけんの間の画像が変わりません。
ひょっとして window.showModalDialog() を使っているとか。
ソースみただけだけど、domをコピーしているようだから、それが原因じゃね?
>>168 動かないのはもうわかったから、
>>163 ,165でも書いたけど、
書いたコードが、ちゃんと発火しているかどうかを見てくれ
>>172 かなりの初心者っぽいから、
「発火してるか」
なんて言っても分からないんじゃないかな?
>>168 とりあえず、動かない画像を読み込む処理の前後にalertかなんか入れて、
ちゃんと、その部分が動いてるかみて。
動いてるなら動いているで、
他の原因を考えなきゃならないし。
質問です 以前ココで「裸のJS想像しながらjQuery」と言われたのですが セレクタやattrでの指定とかが実際のjavascriptではどのように動いてるのか jQueryのコードがあまりにも膨大で自分には難しかったです どこかにjQueryでの動作に関して説明しているリファレンスサイトとかあるのでしょうか?
jQuery使わなけりゃいいんじゃね
コードの読解を他人に頼るだけでなく、 コードを解説してくれるサイトを探すことまで 他人に頼るようなら、もう向いてないから、 農業でも始めれば?
177 :
Name_Not_Found :2012/09/21(金) 16:43:58.52 ID:wskKMHxg
>>174 jQueryを読み解く、みたいなことやってるサイトは見た気がする
querySelectorの部分に関しては、セレクタ文字列をパースしてDOMを掘る
ってだけだから、読んだからなんだってことはないかもしれないけど
でも、便利さにかまけて高負荷なことしてる場合もあるから
jQueryで作ったのをピュアJSで書きなおしてみる、とかは
やって損はないかと思うよ
生のJSとjQueryの狭間を使い分けてこそ真のJavascripter 「あー、jQueryメインだから生のJavascriptなんて最近書いてないやw」 なーんて言う奴はニワカ乙、だ
熟女アナルダウンロードちぅ
180 :
Name_Not_Found :2012/09/21(金) 18:46:21.67 ID:wskKMHxg
>>178 jQuery以前に作った
オレオレライブラリを使っている案件の運用をするとき
「えーっと、どうするんだっけ…」てなることはあるな
Web1.0のjavascriptばっか触ってたから jqueryとか無名関数とか慣れないものばかり この前配列が new Array()使わなくても[]でできてびっくり そういやChromeの拡張機能作っててわかったけど onclick属性は非推奨みたい
簡単にできることをわざわざ難しくやっても仕方ない。
JavaScript の場合、ライブラリ自体が JavaScript なわけで、 その中身を知っておかないとおさまりが悪いと感じる人間もいる。
>>178 オレは生js使う時のオレオレ関数だらけのmy_function.jsを作ってるぜ。
しかし、jQueryくらいしかライブラリ使ってないや。
prototype.jsを勉強しようとしてが当時jQuery全盛だったから、
prototype.jsの必要性を感じなかった。
185 :
Name_Not_Found :2012/09/21(金) 20:08:39.31 ID:pWCeI0wd
ドットインストール利用者います?
DOM周りはjquery丸投げでいいと思う オレオレ関数作ってもバグが混ざるだけだし
188 :
Name_Not_Found :2012/09/22(土) 00:00:48.12 ID:Nn2egrfb
>>187 同意だけど
>バグが混ざるだけだし
ここはがんばろうよw
DOM4に移行しようぜ
191 :
Name_Not_Found :2012/09/22(土) 07:18:11.33 ID:eIMpcOxY
ソース読むのもいいけど、自分の頭でどう動いてるか想像することも重要だぜ。
複雑そうに見えても、DOMでできる事なんて限られてるんだから、試してみればすぐ分かるだろうし。
<html>
<body>
<span id="test">#{id:
http://cscnt.kddi.com/_layouts/A/QA.aspx?ID=47203135}</span >
<script>
setTimeout(function(){
var
d = document,
testTag = d.getElementById("test"),
iframe = d.createElement("iframe");
iframe.setAttribute("src",testTag.innerHTML.match(/#{id:([^\}]*)}/)[1]);
d.body.replaceChild(iframe,testTag);
},1000);
</script>
</body>
</html>
>>191 そこはinnerHTMLを使うべきではない気が
>>193 JSON.parse() したらエラーになると思うよ
いや、そこはもちろん省略して書いてるよ。 Utils.asJson とかいうのに渡して、その中で前処理した上で JSON.parse() してる。
質問というより相談なんですが 効果音のように同じmp3やwavファイルを何度も呼び出す場合 html5のaudioやMIDIを流す方法がありますが、負荷とか考えて繰り返し使う場合はhtml5のaudioが適しているのでしょうか?
midiは論外ってことだけはわかる
MIDIが止めることができない
HTML5で作られたブラウザゲーとかと同じにすればいいんじゃない? 何使ってるのかは知らないが
new Arrayは動作にバグのようなものがあるから使わないで=[]を 使うべきって聞いたことありますが、 new Objectを使うべきでない理由は何ですか? new Number、new String、new Booleanって何に使うのですか?
>>196 俺だったら<audio>使う
cleateElement('audio')で制御してる感じ
ちなみに
wav→IE以外に対応
mp3→IEに対応
だから2つ用意すること
>>200 バグがあるんじゃなくて、newを使ったほうが遅いからってだけ。
Number, String, Booleanに対してnewは原則として使わない。
これも遅くなるだけだから。
204 :
Name_Not_Found :2012/09/23(日) 16:21:39.15 ID:fUlfx5Ey
ブラウザをスクロールして、見える範囲に入ったら画像を読み込みってどうやるんですか?
Number, String, Booleanってnew使わなくても生成できるの?
>>204 スクロールするたびに画像読み込み待つのは面倒じゃね
>>203 new NumberとNumberは等価じゃない
用途の違いがあるだけで速度は関係ない
208 :
Name_Not_Found :2012/09/23(日) 19:36:04.09 ID:fUlfx5Ey
>>206 Google画像検索で使われているように、
大量の画像があるページでは不要なロードがなくなっていいのかなと思いました。
アニメーション付けたりするぐらいしかしないかなりの初心者なんですが。 ActionScriptで書かれたものと同じようなものをJavaScriptとcanvasで再現したい場合(摩擦、衝突判定、加速度、バネ運動etc)、 JavaScriptに置き換えるときのコツとかありますか? ActionScriptを普段使ってる訳ではないです。 JSでインバースキネマティクスとか高度なアニメーションを作る解説書がないため、別途ASの物理、数学を解説してる本で勉強してるんです。それをJSに置き換えたいです。 ASをflashからJSに変換するんじゃなくてJSで最初から書きたい場合にASでの〜はJSでは○というのを知りたいです。よろしくお願いします。
そこらへんの処理はどの言語だろうと一緒 数学関数がアルかどうかぐらいじゃないか
>>211 ありがとうございます。public functionとかは単純にfunctionとして使えば良いと理解しておきます。
あとは数こなせば経験で分かるようになりますよね。
>>212 おかしくなるの意味がよくわからないところでもあるけど、
画面の幅に合わせて要素の幅が拡縮するという意味なら
#top_menu_box要素やリスト等のどの部分かの幅を固定にしておけばいいんじゃないかな。
スクリプト末尾でイベントハンドラをセットして、変化のたび画面の幅を変更する動作をしてるから、
幅固定してないブロック要素が画面に合わせて変更されてるだけなのでは。
>>214 >おかしくなるの意味がよくわからないと>ころでもあるけど、
説明が足りておらずすみません。
どうやらこのflipsnap.jsは、
最初に画面を立ち上げた時のli要素の横幅を、スライドする距離として記憶してしまうらしく、
例えば縦持ちで幅320px、
横480pxの端末の場合、
縦持ちで画面を表示→フリックした時は正しく320pxスライドしてくれるのですが、
そこから横持ちに持ち替えても320pxしか画面がスライドしてくれないのです。
希望している動きは、
横持ちに持ち替えた際は自動的に画面の横幅である
480pxスライドしてくれるというものです。
ですので末尾にイベントハンドラを設定して
変化の度に横幅を取得するようにはしてみたのですが
それがスライドする距離には反映されず、困っている次第です。。。
そのイベントハンドラが呼ばれていることを何らかの手段で 確認したかね。次に、呼ばれたイベントハンドラが正しい横幅を 取得しているかどうか確認したかね。困る前にやることあるでしょ。
ループの break にラベルを使用すると lint に use of label って注意されたんですけど、 推奨されていないんですかね?
まあ、分かりにくくなりやすいから、注意ってことじゃないの。 その警告を消したければ、ラベルのついている文を下請けfunction にしてbreakはreturnに変更するとかかな。
俺今までオブジェクト指向ってのがよくわかんなかったけど functionいっぱい作ってfunctionを呼び出しまくることをオブジェクト指向言語って言うんだな FFで言うと攻撃とかしないでファイアやバハムートっていうオブジェクト使うキャラクターみたいな
220 :
Name_Not_Found :2012/09/24(月) 14:06:04.34 ID:7nQGiLBr
>>219 FFよくわかんないけど、たぶん違うんじゃないかな…
オブジェクト指向プログラミング言語なんて言ってるけどそんなもん存在しねーから どんなプログラマイング言語でもオブジェクト作って呼び出してりゃオブジェクト指向になっちまうんだよ
>>217 lint って、ちょっとでも怪しい所は全部警告を出して、あとはプログラマがチェックして直すなり無視するなり好きにしてくれってものだからなぁ。
223 :
Name_Not_Found :2012/09/24(月) 14:27:01.08 ID:7nQGiLBr
すべてがオブジェクトとプロパティで出来てるから JSなどがオブジェクト指向言語って呼ばれるんだと思った
JavaScriptはプロトタイプベースというほうがしっくりくるけどな オブジェクト指向なんて定義の範囲が広すぎるから>223のような誤解が生まれる
>>223 ある意味間違っては無いけど「オブジェクト指向」って言ってる奴は信用するなって事だな
定義がまるでない
228 :
Name_Not_Found :2012/09/24(月) 22:38:55.45 ID:wiAJVNAP
JavaScriptまったくの素人ですが、くだしつスレもなく 質問スレがここしかなかったので質問させてください。 var file_list = ["AAA","BBB","CCC"]; このようなリストがあり、現在AAAを実行中に「Next」ボタンでBBBに移動させたり 「Prev」ボタンでまたAAAに移動させたいのですが、どのようなソースコードを書くと良いでしょうか? よろしくお願いします。
おしえてくだされ。 URLの「/」を全部「\/」に置き換えたいんだけど、 dUrl = sUrl.replace(/〜〜/i,'\\\/'); みたいな形で一発でできないだろうか。 〜〜の部分に、含まれる「/」すべて、みたいな条件を正規表現を書きたい。 あと、'\\\/'の部分。 単に置換テキストなら'\/'でいいと思うんだけど、それだと'/'として処理されてしまう。 '/'や'.'を指定した場合は、普通に文字として扱われる。IEだけ?
>>228 エスパーを募集した方がいいかも。
>>229 dUrl = sUrl.replace(/\//g,'\\/');
置換テキストの部分はJavascriptの文字列リテラルです。
IE以外でも同じ。
231 :
Name_Not_Found :2012/09/24(月) 23:40:31.44 ID:wiAJVNAP
>>230 簡単にさくっと教えてもらえると思ったのですが
やっぱり難しいんですね。ありがとうございました。
>>231 いや、簡単
移動って何なんだ、ページ移動なのか、表示されてるのを変えるだけなのか
>>231 AAAを実行中ってどういう意味?
AAAは文字列だから実行できないじゃん?
などなど、日本語的に理解できないところが多い。
あなたの中で「リスト」が何なのかわかるけど、
私達には何を意味しているか分からない。
ってことです。
234 :
Name_Not_Found :2012/09/25(火) 00:34:21.52 ID:4B4jSPU3
235 :
Name_Not_Found :2012/09/25(火) 00:37:15.08 ID:4B4jSPU3
>>233 説明が下手ですみません。
var file_list = ["AAA","BBB","CCC"];
var i = 0;
document.write(file_list[i] + "<br>");
これにボタンを付けて、ボタンを押すと配列の次の値を表示させたいのです。
>>235 DOM操作、document.getElementById()、innerHTMLについて調べれば幸せになれるよ
そんでdocument.writeは二度と使わない方が良い
それでも解らなかったらまたココへ来なさい
onclick="test()"
var i=0;
function test(){
表示の仕方は
>>236 の通り
file_list[i]
if(i<2){
i++;
}else{
i=0;
}
}
238 :
Name_Not_Found :2012/09/25(火) 00:59:44.35 ID:4B4jSPU3
>>236-237 ありがとうございます。document.writeは後で勉強します。
とりあえずやってみましたが、うーん。何も変化しません…
<script type="text/javascript">
var file_list = ["AAA","BBB","CCC"];
var i = 0;
document.write(file_list[i] + "<br>");
function test(){
file_list[i]
if(i<2){
i++;
}else{
i=0;
}
}
</script>
<INPUT TYPE="button" VALUE="Click" ONCLICK="test()">
>>238 基本からやったほうがいい
とりあえずこれからJavascriptを使って行きたいと思うのなら参考本を一冊でも読んでから
>>236 と
>>237 見るのが一番
足し算、引き算、掛け算解らないのに割り算の質問してるようなモノだ
document.write使うなって言ってるだろ・・
だからDOM操作(document.getElementById())、innerHTMLについて調べてこい! こんな基本中の基本というか、DOM操作についてやるとき一番最初に習うモノだからサンプルサイトが腐るほどあるっていう そしてfunctionとかonclickの動作をまず理解してない 俺たちはキリがないから手取り足取り1から10まで教えない ただ正しい答えの道へ導くだけなのだ・・・。
>>238 document.writeなんてよっぽどのことがなければ使わないので、
勉強しなくていいから、
まずはDOMを学んでください。
ページの内容を書き換えるのにはは必須の手段です。
ttp://www.skuare.net/test/queryLoader.html ここで紹介されている、QueryLoaderというJsを使おうとしてもうまくいきません。
<html>
<head>
<style>
.QOverlay {
background-color: #000000;
z-index: 9999;
}
.QLoader {
background-color: #CCCCCC;
height: 1px;
}
</style>
<script type="text/javascript" src="js/jquery-1.3.2.js"></script>
<script type="text/javascript" src="js/queryLoader.js"></script>
</head>
<body>
test
<script type='text/javascript'>
QueryLoader.init();
</script>
</body>
</html>
ソースはこうしています。
queryLoader.jsとjquery-1.3.2.jsは、きちんとこのhtmlファイルと同じ階層にあるjsフォルダに入れています。
何度確認しても問題点がわかりません。
どこが間違っているか分かる方いませんか?
>>238 DOM を学ぶ前にブラウザの動作と JavaScript を学びましょう。
タグの解析方法、外部ファイル読み込みの動作、インタープリタの仕様、
prototype の仕組み、クロージャの概念、コアとクライアントサイドの関係、
効率的な正規表現、過去〜現在のメモリリーク問題。
これらを熟知した上で初めて DOM、jQuery です。
余裕があれば ECMAScript の仕様も逐一読んでいきましょう。
以上はこのスレの住人の共通知識、いわば常識となっているものです。
質問者さんも折角このスレにきたのなら精進していきましょー。
>>244 別に間違ってないし。
黒塗りになるんでしょ?
queryLoader.js はそういう動作になる様に書いてありますからにー。
ただし、ページに img 要素や background-image を指定した body 以外の
要素がない場合という条件付で。
該当要素がない場合にオーバーレイが残る様に書いてるんだから、
それが queryLoader.js の仕様です(キリ
ただ、他にもコードに一箇所不備がありますな。
46行目
if (ie[0].match("MSIE")) {
正しくは、
if (ie && ie[0].match("MSIE")) {
と書かないとエラーになる。
たまたまエラーが出なかったりするのは、2秒以内に読み込み完了すれば
該当コードの実行が clearTimeout でキャンセルされる為。
queryLoader.js も新版が出てる様だし、そっち使えという話ですな。
煌芽木ひかる
>>230 できました。ありがとう。
> /g
配列を一個一個扱わないとダメ、なイメージを持ってました。
forとかで回して。
> Javascriptの文字列リテラル
そういえば、普通に「\n」とか使ってたわ……orz
前スレで何かオススメのテキストエディタが紹介されてた気がするんだが、誰かログ残ってる人いない? 名前が思い出せん。
>>249 俺は使ったことないからお勧めはできないけど拾ってきたよ
897 名前:Name_Not_Found[] 投稿日:2012/09/05(水) 12:58:53.69 ID:wzXGTgeY
オススメのテキストエディタってあります?
メモ帳だとUTF-8だとBOMがついてしまうのでUTF-8Nの保存ができなかったり
BOM対策にez-HTMLというのを使ったんですが、今度はUnicodeに対応してなくて・・・。
898 名前:Name_Not_Found[sage] 投稿日:2012/09/05(水) 13:00:00.77 ID:???
>>897 sublimetext
899 名前:Name_Not_Found[] 投稿日:2012/09/05(水) 13:25:22.38 ID:wzXGTgeY
おお、配色が格好良いので気に入りました。
ありがとうございます!
901 名前:Name_Not_Found[] 投稿日:2012/09/05(水) 13:47:37.29 ID:Rq52qsQv
>>898 mi一筋だったけど、ちょっとかっこいいかも
>>250 あんがと、助かった
そろそろDreamweaverCS3ともお別れかな
sublimetextのフォントってなんなんだろ? かっこいいから気になる
ソースコードプロw
0に/入って無い辺りは素人なのか、まさか常識を超えたプロなのか (0+/)<(0+・)だとでも言うのか?
なんという手抜きネーミング
色々寄り道して結局EmEditor Pro買ったわ フォントは前からVLゴシックを使っているけど、 コロンとセミコロンが結構紛らわしい
質問です Array.prototype.sort がChromeで不安定だったので実装し直しました 目的の結果は得られたのですが、ライブラリとして使いやすくするために 比較関数は省略出来るようにして、Array.prototype.sort と同じ比較方法をとりたいのですが Array.prototype.sort が使用している比較関数を取り出す方法はないでしょうか?
>>259 ありがとうございます。
なるほど、自前で実装するしかなさそうですね
単純に不等号で比較する関数を作ることにします
>>258 具体的にはどこが不安定だったのでしょう?
>>258-260 その仕様を満たせばいいのなら String(a) > String(b) とかで比較ればいいだけでは。
しかし「不安定」ってのはホント? 不安定だということを示す例キボン。
258じゃないけど。 var a = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]; a.sort(function () {return 0;}); console.log(a); // [9, 1, 3, 4, 5, 6, 7, 8, 2, 10, 11, 12, 13, 14, 15, 16] chromeは不安定なソートを使っているようだね。(quicksortかなあ) mozilla系は安定なソートらしいが。
264 :
Name_Not_Found :2012/09/26(水) 00:57:37.49 ID:91X03Xgw
ああ、そういう意味か、安定的ね。不安定って言われたら整列に失敗するとかそいういう トラブルを思い浮かべると思うなー。で、自分で整列を書かなくても、キーの後ろに 元の列での並び順をくっつけてから整列し、最後にくつつけたものをはがせば安定ソート できるよね。まあそうしたいかどうかは本人が決めるとして。
配列のシャッフルのアルゴリズムを簡略したくて、 [1,2,3,4,5,6].sort(function(){ return Math.random() - .5; }) と書いて大怪我した事がある。実際に動かしたら笑うに笑えない結果になった
$('html,body') っていうの見たんですが、JavaScriptだけでhtmlエレメントを取得するのってどうやるんですか? bodyなら body = document.getElementsByTagName('body')[0] でいけそうですが
>>268 document.defaultView
>>269 へぇ〜
こんなんあったんですね
ありがとうございました
>>270 ごめん間違えた
そっちはwindowを取得する奴
htmlは
document.documentElement
>>271 そっちでしたか
ありがとうございました
ブラウザ内の画面をキャプチャするために javascriptだけでもできますか?
スムーズスクロールを実装できたんですが、#つきのページを読み込んだ後もスムーズにスクロールしたいです。 現在はページを開いてから#付きのリンクをクリックするとその位置までスムーズにスクロールするというところまで出来ています。 #つきのページを読み込んだ後にもスムーズにスクロールさせるには、#付きのページを開いたときに自動でその位置まで移動するデフォルトイベントをまず止めなければなりません。 そこでwindowオブジェクトのonloadイベント時にcancelBabble,returnValueもしくはstopPropagation(),preventDefault()でとめようと思ったんですが、 効果がありませんでした。 どうすればいいでしょうか?
276 :
Name_Not_Found :2012/09/27(木) 03:40:32.06 ID:PUVpys+N
イベントなのか?
ロードしたあとから飛び先のidなりnameなりつければいいんじゃね?
ロードした後って言ってもURLには最初から#nameがついてしまってるので、 デフォルトの動作としてこの名前を持つidもしくはnameのところに飛んでしまいますよね? この動作をとめて、スムーズにその位置までスクロールさせたいんです。 不可能なんでしょうか?
>>278 DOMContentLoadedのタイミングでscrollTo(0, 0)すればよさげ
>>278 > この名前を持つidもしくはname
それをHTMLの段階では付けないようにするのはどうか
ってことなんだけど。
data-id="" なんかにでも入れておいて。
>>279 ありがとうございます!
ieはこのイベントないんですね。。
今doScrollで対応しようと頑張ってます。
>>280 つまりidやname属性を使わなければurlの末尾に#を含む文字があっても自動で移動せずに済むってことですよね?
確かに良い方法ですね
一応DOMcontentLoadedで実装は出来たんですが、
例えばその#URL付きのページを下に少しスクロールした状態でリロードすると、
ブラウザがそのスクロール位置まで自動的に移動させてしまいますよね?
そのイベントはとめられないんでしょうか?
動作的には、
スクロール位置を少し下げた状態でページをリロード
↓
スムーズスクロールで#nameの場所までスクロール
↓
最初の少し下げたスクロール位置まで戻る
こういう動作になってしまいます。
JSの外での出来事に、JSの中から対応使用としているので どこかで無理が出てくると思う 先のdataハイフン属性を使う方法も含め どこかしらに落としどころを見つけないと 堂々巡りになる
そうですか・・・
すいません
イメージとしては日テレの番組表なんですよ
http://www.ntv.co.jp/program/ このページだと少し下にスクロールした状態でリロードしても指定した位置までスムーズスクロールして、
そこでちゃんと止まってくれてます
今解析中なんですけどねー。
もうちょっと頑張ってみます。
aタグのhref=に#nameが混じったURLが入ってると、IEだけ一旦そのnameのid or name属性を持つ位置まで移動した後、 すぐスクロールが一番上まで戻ってしまうんですけど何が原因ですか? JavaScript無効にすると発生しません。 っていってもどっかのjavascriptにそういう動作させるコードが書いてあるんでしょうけどね。。
285 :
Name_Not_Found :2012/09/27(木) 17:10:58.30 ID:PUVpys+N
>>283 そのページのは規定通りの動きだと思う
ページの途中までスクロールした状態でリロードすると
その位置までスクロールした状態になるのはブラウザの実装。
で、JSが発火して現在の時刻の位置めがけてスムーズスクロールする
URLのlocation.hashで指定されたIDの位置に移動するのとは
全く関係ない話だと思う
286 :
Name_Not_Found :2012/09/27(木) 17:47:08.80 ID:GIk6HC7Q
>>285 あ、すいません。
ちょっと伝わりにくかったようです。
location.hashで指定されたID位置に移動する件に関しては、DOMContentLoadedのときにデフォルトの動作をとめることで解決できたんですが、
今度やりたいのは日テレの番組表みたいに、
途中までスクロールした状態でスクロールすると、その位置までスクロールした状態になる動作をとめたいんです。
日テレのやつは、途中までスクロールした状態でリロードしても最初から現在の時刻めがけてスムーズスクロールしてくれますよね?
これはブラウザの基本動作である途中までスクロールしておいた位置に戻る、という動作がストップされてるから出来るんだと思いますが、
その方法がわかりません。
どのイベントのデフォルトの動作をストップさせれば出来るのかがわかればいいんですが。。
今現在はwindowオブジェクトのDOMContentLoadedが発生したときにスクロールしています。
でもこれだと、
途中までスクロールした状態でリロードする
↓
スムーズスクロールでhashで指定された要素までスムーズスクロールする
↓
途中までスクロールしてた位置まで戻っちゃう
今はこんな感じです。
どのイベントをとめれば最後のステップの動作をさせずに済むのかわかりません
287 :
Name_Not_Found :2012/09/27(木) 17:57:04.08 ID:PUVpys+N
>>286 戻っちゃう?ブラウザ何?
Firefox、Safari、chrome、IE8で
ページの最下部までスクロール(スクロール量最大)してからリロード、を試してみたけど
FirefoxとIE8はリロード後、スクロール量最大になり
(※遅いPCだと一瞬スクロールゼロ状態になり、すぐスクロール量最大になる)
その後JSで規定位置までスムーススクロールされる
Safariとchromeはリロード後、スクロール量ゼロの状態になり
その後JSで規定位置までスムーススクロールされる
> 途中までスクロールしてた位置まで戻っちゃう
これは再現できなかった
ajaxで内容を追加しているからとかじゃね? リロードするとHTMLから再構築するわけだから、先頭に戻ると… 未確認だが。
>>287 戻っちゃうのはChromeです。
あ、戻っちゃうのは日テレの番組表での話しじゃなくて自分が今テスト環境でやってるコードの方での話ですよ。
日テレの番組表でやったらおっしゃるとおりの動作になりました。
言われるまで日テレの番組表をChromeでしか見てませんでした。
IEやFireFoxの動作を見ると完全に読み込んでからスクロールしてるっぽいので、
onload完了後に動かして見るとか色々やってみます。
そうすればChromeでもスクロールした後に戻るっていうへんな動作は無くなりそうな気がするので。
まあChromeみたいにリロード後スクロール量ゼロになってから、規定位置までスムーズスクロールさせるっていう理想の形ではないですけどね。
その辺もスクロール量を一旦ゼロにしてから動かすとか色々やってみます。
291 :
Name_Not_Found :2012/09/28(金) 07:44:48.20 ID:zVRIlQtG
URLからファイル名(拡張子含む)だけを抽出したいのですが、どうしたら良いでしょうか?
正規表現を使えばいいみたいですが、わからないので教えてください。
このような文字列を
var url = "
http://domain.tdl/abc/def/image.jpg ";
↓こうしたい
var file = "image.jpg";
お分かりになる方ご教授お願いします。
URL に必ずパス部があると仮定するなら簡単。 クエリとフラグメントと、URL 先頭から最後の "/" までを削除。 var file = url.replace(/\?.*$/, "").replace(/#.*$/, "").replace(/.*\//, "");
何言ってんだ
URL後方から「/」が見つかるまでサーチ&コピー。とかでいんでね。
何言ってんだ
URIクラス
>>274 どうもありがとうございます。
firefoxアドオンの開発で参考にしたかったのでたすかります。
もう一つ質問があるのですが
canvasでキャプチャした画像を左右に分割したブラウザの片方に表示させることはできますか?
ブラウザは<hbox>を使って分割されています。
既存のWebページは表示させられるのですが調べてもわからなくて困っています。
>>291 /^(?:[^?/#]*/)*([^?/#]*)/
URIじゃなくてURLインターフェースになってるよね名前
>>299 canvas.toDataURLでキャプチャした画像をData URI化して、
それをimage要素のsrcに入れればいいんじゃないかな
303 :
291 :2012/09/28(金) 19:28:19.29 ID:zVRIlQtG
みなさんありがとうございます。 様々なご意見を元に下記の記述で行なうことにしました。 if ( url.match(/([^\?\#\/]+\.[^\?\#\/]+).*$/) ) { file = RegExp.$1; } 今のところ問題なく動作していますが、 もしも抜け落ちてる問題点があればご指摘ください。
>>303 url.match(/([^\?\#\/]+\.[^\?\#\/]+).*$/)
より
/([^\?\#\/]+\.[^\?\#\/]+).*$/.test(url)
の方が速い
306 :
291 :2012/09/28(金) 22:09:00.74 ID:zVRIlQtG
ごめんなさい、
>>303 は間違っていた古い方をコピペしてしまっていました。
>>304 さんと
>>305 さんのご指摘を合わせて、
if (/^(?:[^?/#]*\/)*([^?/#]*)/.test(url)) {
file = RegExp.$1;
}
としました。
みなさんありがとうございました!
RegExp のプロパティとしてサブマッチを参照する方法は非推奨
こんなんでいいんじゃない var a = document.createElement('a'); a.href = url; var parts = a.pathname.split('/'); var file = parts[parts.length - 1]; URLコンストラクタ実装してるブラウザってまだないよね
そういう単純な抽出なんかは文字列のスライシングで済ますことが多いな俺は file = url.slice(url.lastIndexOf('/')+1); file = url.substr(url.lastIndexOf('/')+1);
と思ったら昨日のやりとりかいっ。今日(土曜)人いなかったんだな・・
何回同じことやってんだよ
IE9でJSON使えなくなった?
>>307 これマジ?知らなかった
どうすりゃいいの?
>>314 RegExp.exec()から返されたオブジェクトを参照すればいい。
へー、初めて知った RegExp.$1ってフツーに使ってた
自分は逆にRegExp.$1の方を初めて知った。
test()してRegExp.$nは非推奨ってことは いちいちその後にexec()しないといけないのか・・・
execして返値でチェックすればいいじゃんか testする必要はない
324 :
Name_Not_Found :2012/10/01(月) 14:19:31.99 ID:gLotoqDN
グリモンでやれば?
人様のソースコードを読んで、勉強しているんですが 下記の構文の意味がわからないんだけど、--m ってなに forの使い方ならわかるけど、こういうのってどうやって覚えるんだろ... var k = numbers[--m];
前置デクリメント
--mはmから1引いた値を返す m = m - 1; var k = numbers[m]; と同じ意味 どんな勉強サイトや本にも書いてる基本中の基本
328 :
Name_Not_Found :2012/10/01(月) 17:49:36.57 ID:hmbEEh50
もうそれグーグルスレでやれとしか言いようがねぇー!
330 :
Name_Not_Found :2012/10/01(月) 18:17:25.18 ID:gLotoqDN
>>328 GoogleMapAPIの解説ページがGoogleに用意されてて
そのやり方もきっちり書いてあるからよく読んで!
>>327 thx!!
if文のカウンタと同じような感じだったのね。
-記号が先にくるから、謎でした。
332 :
328 :2012/10/01(月) 18:55:59.56 ID:hmbEEh50
>>330 読んだ上で質問したんだけど、よくわかんなかった。ゴメン!
InfoWindowを使え とかそんなヒントでも良いので教えて下さい・・
>>332 今日ひとりで、いつも行く喫茶店でコーヒーを飲んでいたら。
一つ前の席にOL風の女性が座っていて、それが超美人!
僕はボーと見惚れていると彼女がハンドバックを持ったままトイレへ行きました。
5分位して帰って来たので、・・・もしやウンチでもしたのか?
今行けば彼女の便臭が嗅げるかも!・・・と思い僕もトイレに入りました。
ちなみにトイレは男女兼用です中に入ると香水の香だけでした。
失敗かと思い念のため汚物入れを開けると。
あ り ま し た 。
温もりの残るナプ感激して広げると信じられない位の量の
生 レ バ ー が ドッサリと乗っていました。
その場で全部口に含み僕はまだ暖かい生レバーを全部、口に入れてしまいました。
こんなに大量のレバーを一度に入れた事はありません。
彼女は会社から帰る途中ナプキンを取り替えられ無かったので
溜まっていた分が出たのか半端な量ではありません。
口が膨らんでしまう位の固まりです。
僕はナプキンをポケットに入れ出ました席に戻ると彼女はまだ居ました。
僕の方を見ています。少し頬っぺたが膨らんでいましたが、
まさか僕の口の中に自分の生理が入ってるなんて思うはずがありません!
僕はゆっくりと彼女の顔を見ながらホカホカの生レバーを味わい食べました。
ズルッと喉を通りました。
iOS6のSafariで画像の先読みが効かないんだけど同じ状況の人いない?
>>302 他でもおなじようにいわれたのですが
プログラムがうまく組めなくて困っています。
あまり得意ではないので。。ありがとうございます
>>335 じゃあ、結局どうしてほしいの?
親切に書いてくれる人を待つかね?
>>335 >他でもおなじようにいわれたのですが
マルチってこと?
ブラウザ(IE9)上でスクリプトを実行して、ある条件だったらその場で終了させたい
のですが、どうすればいいですか?
現状では、トップページのときは「各処理」で無視されるような初期値を設定して、
結果的に何も処理されないような状態を作って「各処理」をしています。
サーバからデータをもらったりもするので、無駄な動作は止めたいんですが。
URLの形
トップページ:
http:// ***.jp/
個別ページ :
http:// ***.jp/○○/△△.html
:
:
初期設定など
:
var url = location.pathname;
if(url == '/'){終了}
:
個別ページのときは各処理
:
:
return; すればいいのでは
returnは、関数内でしか使えません。
(function(){})(); すればいいのでは
は?じゃあ関数定義しろよ
じゃあって何?
だから関数定義しろって
346 :
Name_Not_Found :2012/10/02(火) 22:21:57.91 ID:6MxIFZA3
下記h1タグのブロックの上をマウスが通過した時に cssのurlで指定した画像ファイル名を変えたいと思っています。 jqueryを使ってどの様に書けばよいでしょうか? あと一歩の部分が分かりません><; <h1 id="id_mos" class="cb" style="background: url('/img/banner/img_1.png');">マンモス</h1> ↓ <h1 id="id_mos" class="cb" style="background: url('/img/banner/img_2.png');">マンモス</h1> $("#id_mos").hover( function() { }, function() { } );
>>338 do {
if ( やめたい ) break;
} while ( false );
でもこれバッドノウハウだよなぁ。
でっかいifで囲むのが正解だと思う。
(function(){ if (url == '/') return; })();
349 :
346 :2012/10/02(火) 23:51:32.07 ID:6MxIFZA3
>>348 ホバーイベントで次の様にURLで指定された画像パスを切り替えたいのですが
どういう風に書けば、jQueryを使用してこの指定値を動的に変更する事が出来ますか?
url('/img/banner/img_1.png')
↓
url('/img/banner/img_2.png')
attr(アタタァ)使え
351 :
Name_Not_Found :2012/10/02(火) 23:58:57.84 ID:6MxIFZA3
attr("src", "/img/banner/img_2.png")
>>351 jQuery attrでググって調べた後、attr("url","/img/banner以下省略")って俺の言葉を思い出せ
attr("url",)じゃねぇ"src" つられちまったぜコンチクショウ
いや css("background-image","...")で良いな
”urlを変換したい”って問いの答えにはattr ”背景を変更したい”って問いの答えにはcss だな 変えたいのであればcss
質問です test =new Array(10); for(var i=0; i<=9; i++){ test["a"][i] = new Object; test["a"][i] = プロパティ色々 } とやったときtest["a"]にあるObjectを全て削除したいのですが またfor()で10回繰り返してdelete test["a"][i];と一つずつやっていかなければならないのでしょうか? それとも一回で削除する方法とかあるのでしょうか?
うん。途中から質問が変わってると思う。
359 :
348 :2012/10/03(水) 00:23:16.07 ID:???
>>360 それで大丈夫だったのですか灯台もと暗し
ありがとうございます
362 :
Name_Not_Found :2012/10/03(水) 00:40:07.48 ID:MbQtKNrv
>>339-348 ありがとう。いろいろ勉強になった。結局、何らかの方法で一段囲って上げておいて
ダメな時は蹴り落とす、って方法しかないのね。実はここはmain()の中なんだよ、
とかだったらよかったのに。
最終行にラベル書いてbreakで飛べないかとか、最終行にcatch書いて例外投げついでに
飛べないかとか、無駄な努力でした。
もういっぺん、全部見直して書き直してみます。
364 :
Name_Not_Found :2012/10/04(木) 01:01:48.97 ID:ZH6pavue
そういうのも否定はしないけど、もっとこう 要素毎にオブジェクトに、機能毎にメソッドにしていくと 望んでいるような条件分岐が、よりスマートに出来るようになると思う なんか概念ぽくてすまん…
365 :
Name_Not_Found :2012/10/04(木) 01:04:11.74 ID:ZH6pavue
あと、イベントドリブンな考え方をするのも大事かも
removeEventListener("DOMContentLoaded" って必ず必要ですか? なくても問題なさそうなのですが、どういった場合必要になるのでしょうか
367 :
Name_Not_Found :2012/10/04(木) 07:04:56.79 ID:ZH6pavue
フレームとか?
>>366 それしないと、メモリの開放がブラウザのGC任せになっちゃう
確実にメモリを開放したいんだったらやっとくべき
マウスカーソルによる選択について質問です <b>Text1</b><b>Text2></b><img src="hoge.jpg"/><b>Text3</b> というHTMLをマウスでText1から、画像を挟んでText3まで選択した場合に 選択範囲にあるエレメントを全て参照するにはどうすればいいのでしょうか 開始位置・終了位置のText1と2はそれぞれstart・endContainerから parentNodeを使ってテキストの入っているエレメントを参照できましたが 挟まされいるText2と画像の入っているエレメントの探し方がわかりません
371 :
Name_Not_Found :2012/10/04(木) 17:47:00.02 ID:YDY1NWJr
Dateオブジェクトにおける↓の動作はどのようにか説明できますか? var d1 = new Date(); var d2 = new Date("2012-10-04"); var d3 = new Date(d1 - d1%(1000*60*60*24)); // 今日の午前0時 d1.getHours(); //=>現在時刻(望んだ動作) d2.getHours(); //=>0と思いきや9 d3.getHours(); //=>d2と同じ d2.getUTCHours(); //=>0(望んだ動作) d3.getUTCHours(); //=>d2と同じ 事前にタイムゾーンの指定が必要なのかと思いきやそれらしき関数はないようです。 基本的に常にUTCのつくメソッドで呼び出すようにということなんでしょうか? 説明にはgetHours()が「地方時に基づき〜」、getUTCHours()が「協定世界時に基づき〜」とありますが 直感的には動作が逆のような感じもします。
>>371 d2とd3をnewするときに与えたパラメータがUTC扱いされただけじゃね。
374 :
Name_Not_Found :2012/10/04(木) 18:09:54.87 ID:YDY1NWJr
>>372 そうか、ローカルとして解釈される書式の文字列、
タイムゾーンを加味したタイムスタンプである必要があるわけですね。
YYYY-MM-DDではUTCに解釈されてしまうと
var dbObj = new ActiveXObject("ADODB.Connection"); IE9では成功するんですが、Firefox15ではオブジェクト生成に失敗するようです。 なぜ失敗するのか理由がわかりません。 諸先輩方教えてください。
376 :
Name_Not_Found :2012/10/04(木) 21:13:29.41 ID:ZH6pavue
Firefoxだから
377 :
Name_Not_Found :2012/10/05(金) 00:04:20.69 ID:kT1QH2PS
間違えた IEじゃないから
IEで出来て、Firefoxで出来るって事があったらそれは 「IEじゃないから」が正解 IEとその他ブラウザ って考えるべし
ActiveXはIEでしか使えないから、じゃねーの
相談なんですが配列削除するときさ delete 配列 配列 length=0 配列spliceで全部 どれ使ってる? 連想の時は問答無用でdeleteだと思うけど
>>380 連想ってのがobjectって意味なら、配列も連想だよ
nullやundefinedを代入してGCを待つ。
連想配列=objectな、ありゃ配列じゃねーぞ
undefined代入しなくてもdeleteでundefinedが入るから意味無くね
そもそも削除しようと思ったことがない
objectは配列じゃないけど配列はobjectでは
>>379 そうすか。
Accessデータベース(mdb)に、ブラウザから接続しようと思ったんですが、IEしかできないって理解しました。
388 :
370 :2012/10/05(金) 08:59:54.14 ID:???
>>373 レスありがとうございます、ご指摘の通りSelectionを使っています
var range=window.getSelection().getRangeAt(0);
range.start/endContainer.parentNode.tagName;
として開始位置と終了位置のエレメントは参照することができましたが
370の間の2つを参照する方法がわからずに困っています
引き続き
>>370 をよろしくお願いします
rangeオブジェクトがどんなメソッドやプロパティを持ってるかは調べたんだよね。 たとえば範囲のコピーを documentFragment として取得してそれをトラバースするとか じゃだめなのかな。別の方法としては、開始と終了の両要素の共通の親をまず見つけて、 その親の下をトラバースするとか。面倒そうだけどね。
<body> に onselectstart="return false;"を書くと そのページで選択できなくなるけど、これを JavaScript(というかブックマークレット)によって あとから無効にするにはどうしたらいいかな。
var hoge = hoge || {}; ↑ こんなの出てきたんですがもう意味不明すぎて何がなんだかわかりません 何がやりたいんでしょうかコレは
>>391 hogeがfalse(かnullかundefined)なら新しいObject、既存ならそのまま。
>>392 こんな記述方式があったんですか
意味不明すぎてちょっとした宇宙体験でした
巻き上げがあるから、var 文では全く意味ないね。 var hoge = {}; と結果は常に同じ。
perlでポピュラーになった書式という印象がある。
Perl しばらくやった後だと、 hoge ||= {}; って書いて、あれっ?てなる。
>>394 まったく意味が無いわけじゃないだろ
javascriptの暗部なのでそういうコーディングはすべきじゃないけど、
関数ブロック内で
a = 2;
var a = a || 1;
したらaは2になるよね
くだらね
function (hoge) { var hoge = hoge || {}; } みたいな感じで使うんじゃね? varいらんけど
// a.js var hoge = hoge || {}; (function() { hoge.aaa = function () { }; })(); // b.js var hoge = hoge || {}; (function() { hoge.aaa(); })();
IE用にshowModalDialogを使って表示させたダイアログないで 画面遷移を行いたいのですが、 どうしても新しいウィンドウが表示されてしまいます。 strutsで画面遷移する方法としてbaseタグとhtml:formタグを 使用すると実現可能らしいのですが、技術的に説明がつかないため できれば使用したくないと考えています。 ご教授よろしくお願いいたします。
403 :
Name_Not_Found :2012/10/07(日) 15:38:21.26 ID:Jkf0NHSM
質問させてください <input type="button" name="hoge" id="hoge" value="aaa" onclick="test()" /> <input type="button" name="hoge" id="hoge" value="bbb" onclick="test()" /> <input type="button" name="hoge" id="hoge" value="ccc" onclick="test()" /> この hoge の値(aaa,bbb,ccc)を「getElement〜」で受け取るにはどうしたら良いでしょうか? 「getElementById」なのか「getElementsByName」なのかすらよくわかっていない素人です。 自分なりに考えてやってみたのですが全ての値がaaaになってしまいました。 function test(){ atai = document.getElementById("hoge").value; alert(atai) } よろしくお願いします。
>>403 idは全部固有のものにしなきゃダメ
その後getElementByIdで取得すればOK
もしクリックした時に、クリックされたボタンがどれなのかが知りたいんだったら、
onclick="test(event);"とでもして、testの中で event.target.value を見れば良い
俺なら this を渡すが
406 :
Name_Not_Found :2012/10/07(日) 17:04:21.05 ID:Jkf0NHSM
>>404 できました!ありがとうございます!
クリックされたボタンが知りたいだけならidもgetElementByIdもいらないんですね。
質問です。 以下のようにひたすら何個も設定を書いてゆきたいとき、こんなふうにベタ書きしてもなんの問題もないですか? それとももっと効率のよい書き方があったりしますか? var MYAPP ={}; MYAPP.ita = { pc2nanmin: { itamei: "PCサロン"; server: "engawa" nanashi: "まちがって名前消しちゃいました。"; …(略) } pcnews: { itamei: "PCニュース"; server: "kohada"; nanashi: "名無しさん@お腹いっぱい。"; …(略) } …(略) }
408 :
407 :2012/10/08(月) 01:18:19.17 ID:a+DpDT7j
sageてしまっていたのでID晒しておきます。
409 :
408 :2012/10/08(月) 01:24:36.65 ID:???
さらにごめんなさい、 pcnews: { itamei: "PCニュース"; server: "kohada"; nanashi: "名無しさん@お腹いっぱい。"; …(略) } などと書きましたが、セミコロン(;)でなくカンマ(,)でしたね。。
> 書いてゆきたいとき 書いて「いきたい」だ!! array[0] = pc2nanmin?PCサロン?engawa?まちがって名 array[1] = pcnews?PCニュース?kohada?名無しさん んでfor(arrayの数){ arrayをsplit("?")で分割してitameiとかに入れる } 俺だったらこーやる 効率より見やすさ重視するからだけど
>>410 そんな事やるぐらいならこれでいいだろ
array = [
["pc2nanmin", "PCサロン", "engawa", "まちがって名"],
["pcnew", "PCニュース", "kohada", "名無しさん"]
];
外部textでも作って pc2nanmin<>PCサロン<>engawa<>まちがって名\n pcnews<>PCニュース<>kohada<>名無しさん file[src] list[,,,]=explode("<>") 俺だったらこーやる Javascriptよりphpを重視するからだけど
なんでjavascriptスレでphpの話してんの?
415 :
Name_Not_Found :2012/10/08(月) 15:35:03.59 ID:eoJyIJbk
ご意見聞かせください。 サイト高速化のためにスクリプトの遅延ロードを検討してます。 ハードコーディングされたイベントハンドラのエラー回避のため イベントハンドラ自体をdom操作で一括追加する方法を検討してますが 何か問題ありそうですか? オンデマンド処理とか遅延ロード完了まで非表示対応とか、 対処はいろいろありそうなんですが、いっその事dom操作で指定したclassにイベント追加する方がイベントも一元管理できるし、 現在のyslowスコアが3s~4sなんで、ページ表示から4秒以内にイベント追加されれば問題なさそうな気がしてます。
>>415 そんなめんどくさいことするより画像を1枚削減した方が効果あると思った。
質問です cssのoverflowで「はみ出たら隠す」とかの設定ができますが、実際にjavascriptで「内容がはみ出ているか」を検出する方法はありますか?
要素の横幅と内容の横幅を比較する
>>418 ありがとうございます、scrollWidthと比較したらできました
overflowがデフォルトのvisibleのままだとIEやChromeだとうまくいったもののFireFoxとOperaだとscrollWidthでも内容幅取得できなかったので気付きませんでした
overflowをscrollかhiddenにしたらFireFoxやOperaでもscrollWidthで内容幅とれました。
420 :
Name_Not_Found :2012/10/08(月) 19:09:59.21 ID:eoJyIJbk
>>416 ありがとうございます。
画像関連はcssスプライトとイメージマップと最適化で軽量化予定なんですが。
jsの非同期化でいい方法があれば聞きたいなと思いました。
すいませんもう一つ質問です ボックスの幅より内容幅が「小さい」ときに、内容幅を取得する方法はありますか? このときにはscrollWidthはボックス幅になっているようです 内容がボックス幅よりでかいときにはscrollWidthで内容幅を取得できるので、 一度ボックス幅を小さく設定してscrollWidthを取得してからボックス幅を戻す、というのを最初考えたのですが、 途中に改行が入りうるときにはボックス幅を小さくすると内容幅が変わってしまうのでうまくいきませんでした
高さが増さない範囲で小さくする(高さが増したら刻みを小さくすることを繰り返す)とか?
>>422 今それで試してみて、最初はいけそうだと思ったんですが、以下のようなケースで正しく判定できませんでした……
abc def ggg
bbb
みたいに表示されてる(gggとbbbの間には<br>はないがボックス幅のせいで途中で改行されている)状態で、
幅を狭めていったらgggは次の行に行きますけど、下のようになるだけで全体としては2行で高さが変わりません
abc def
ggg bbb
424 :
Name_Not_Found :2012/10/09(火) 07:57:12.51 ID:YybourDG
input[type=number]要素で上下矢印で値が変更されたタイミングに イベントハンドラをセットしようとしています。 現行の主要対応ブラウザはOpera/Chrome/Safariですが、 前2つはchangeイベントで対応できるもののSafariでは反応なしです。 clickには反応しますが、それでは値の入力フィールドをクリックしても反応してしまいます。 他に対応するイベントは定義されてるでしょうか
425 :
424 :2012/10/09(火) 08:10:57.02 ID:YybourDG
追記 フォーカスを移動した場合には通常のtext入力同様に changeイベントが発生します>Safari 上下ボタンクリックで逐一発生しないということです
>>423 なるほど! となると現状で行末になってる場所にすべて<br>を入れてからやるとか?
どんどん大変になっていく、、、
>>424 clickでイベントは取って、その中で値が実際に変わった時だけ処理する、というのが
いいんじゃないの。矢印キーでも上限や下限のときは値は変わらないことがあるよね。
<script type="text/javascript"> <!-- $.ajax({ url: "sound.wav", success: function() { //done } }); // --> </script> 音声データのpreloadの書き方はこれで合ってますか? よろしくお願いします。
429 :
Name_Not_Found :2012/10/09(火) 15:21:46.57 ID:IpC+l1BZ
駄目な気が…
フツーにAudio()で作ればいいんじゃねー?と思うのは俺だけか?
HTML5のaudio要素とそのインターフェイスを調べる
new Audio("sound.wav"); 〜終了〜
よくわかるHTML5のaudio事情 IE→mp3 Firefox、chrome、opera、safari→wav 結論:IEは死ね
>>433 <script type="text/javascript">
var audio = new Audio("sound.wav");
</script>
これで行けるんですか!!でもどのブラウザでも行ける感じではなさそうですね。
もういいからhtml5とaudioについて調べてこい そっちの方が早い
437 :
Name_Not_Found :2012/10/10(水) 00:23:30.53 ID:iPtCbvRt
>>427 ありがとうです。しばらく試してみましたが、やはりclickイベントが無難なようです。
値変更以外のclickにも反応するといっても、そう頻繁に起こるケースじゃないですしね。
ひょっとすると専用のイベントが新しいフォーム要素に
追加されてるんではないかとも思ったんですが、どうもよくわかりませんでした。
438 :
Name_Not_Found :2012/10/10(水) 01:30:05.83 ID:1y53jKvQ
>>436 俺、質問者じゃないけど
いろいろイベントあって便利そうですなー
html5は夢が広がりんぐだよ イベントで音鳴らしたり動画をバラバラに出来たり webの未来は明るいっすなー IEが無ければもっと明るいんだろうけど
440 :
Name_Not_Found :2012/10/10(水) 01:44:30.57 ID:fVAJ9LsM
IE6が出たときはIE5の足りなかったところをほぼ対応して出てきたから かなり高評価だったのにいまではけちょんけちょんに叩かれててかわいそう 突っ張ってHTML5実装しませんとかだったら面白かったのに 今JQueyの開発してるのってMSの社員が多いんだっけ
IEはアップグレードの間隔が長い上に古いWindowsではアップグレードできない MSはブラウザ開発から手を引くべきなのでは
XMLHttpRequestでリクエストする内容って出力できる? responseText()はあるみたいだけど requestText()とかないの?教えて
ねえよタコ 送るのは自分なんだから自分で出力できるだろうが
444 :
Name_Not_Found :2012/10/10(水) 12:53:58.43 ID:1y53jKvQ
>>442 JSではアレだが、Firebugとかのコンソールで見れるでしょ
>>442 じゃないけど、非同期通信の取得中に停止させる方法とかって可能なんかな?
相談させてください 全ての(グローバル)変数を監視して特定の変数の値を変えるということがしたくて その変数へのアクセスを拾えるかのテストとして以下のコードを書きました MyWindow=new Proxy(window,{ set:function(p,n,v){ console.log(p,n,v) }, get:function(p,n){ console.log(p,n) } }); MyWindow.a=1 これは成功します しかしMyWindowをwindowに置き換えるとFF19で反応がありません FF19ではwindowの書き換えが禁止されているのでしょうか? a=1に反応が無いのはまだ予期できましたが、 完全に置き換えたはずのwindowを使ってwindow["a"]=1とかでも反応しないのはおかしいです ちなみにここでのProxyAPIはNewProxyAPIなのでそれの仕様バグなのでしょうか とにかくwindowオブジェクトを自作オブジェクトで正しく上書きできる方法をご存知の方がいたら教えてください
450 :
445 :2012/10/10(水) 22:05:33.19 ID:???
チェックボックスをクリックすると、テーブルのセルに付けたクラスを変更するにはどうすればいいですか?
セルのクラスを変更する処理を盛り込んだ関数を定義して、 チェックボックスのイベントに関連付けたらいいんじゃないかな
チェックボックスのイベントにクラスを変更する関数をつなげれば良いと思います
実際にどんな、コードを書けばいいのでしょうか。検索してみたのですがそれらしいのがみつからなくて。
>>1 にも書いてあるが丸投げは勘弁なので、できるところまで書いてみて
んで具体的にわからないポイントを絞ってお尋ねくだしあ
■質問を書く上で (1) 煽り、コード制作依頼等、人を不快にさせる投稿はご遠慮下さい。
まあ、依頼されたところで、チェックボックスとテーブルのセルとの 関連付けがわからないとどうしようもないけど。
458 :
Name_Not_Found :2012/10/11(木) 21:58:46.16 ID:1+d74X4V
>>454 他の人も書いてるからヒントだけ
チェックボックスやテーブルのセル、のように要素を選択するのには
DOMを使います。querySelectorとかgetElementsByTagNameとか
○○というイベントが起きたら××を実行する、というのは
addEventListenerやattachEeventをつかって○○というイベントをハンドリングして
関数を使って××を実行します
セルのクラスを変更する、のようにある要素の属性やパラメータを変更するには
elementノードが持っているパラメータを変更するか、setAttributeを使います
この3つ
・DOMアクセス
・イベントハンドリング
・オブジェクトのパラメータ変更
が、JSの超基礎なので一個ずつ解決していけばいいですよ
459 :
370 :2012/10/11(木) 22:34:16.43 ID:???
>>389 遅くなって申し訳ありません
DocumentFragmentとして取得するとのアドバイスを参考にして
var a = window.getSelection().getRangeAt(0).cloneContents().childNodes;
とすることでNodeListから中身のノードを参照できるようになりました!
お陰で今日はすっきり眠れそうです、本当にありがとうございました
>>454 >>458 クラスを変更するときは「ノード.className = "文字列";」ね。class
はJavaScriptの予約語なのでそういうことになっているので注意を。
setAttribute()はロクなことがないからやめた方がいいんじゃないかと。
すみませんでした。まだこのスレで質問するレベルにも達していませんでした。もっとJavaScriptの勉強をしてから来ます。
462 :
Name_Not_Found :2012/10/12(金) 16:26:52.45 ID:tRNq21Mc
書き方の質問なんですが、ブロックを書くとき これと function(){ // hoge } これ function() { // hoge } 最近のJSではどちらが主流?
最近よくあるページの上部や下部にスクロールするボタンついてるブロ具多いじゃないですか? あれってfixedで固定されてますけど、ページ呼んだあとjavascriptでエレメント作ってるんですよね?
465 :
Name_Not_Found :2012/10/12(金) 21:33:22.70 ID:tRNq21Mc
別に最初からHTMLに書いてあってもいいと思うよ
うんわかった
ハァ?
ヒィ?
いやぶっちゃけるとウィンドウの一番はしにそのボタンを設置するなら最初からhtml使ってもいいんだけど 例えば1100ピクセル幅のデザインのブログだとしたらその幅のすぐ横にボタンをぴったりくっつけたい場合だと、 最初からhtmlで書くのは無理かなって思ったのさ
正直言って邪魔
大丈夫 邪魔にならないようにするから
サイ本第6版難しすぎる・・・ 実際prototypeとか使って拡張する機会は多いんですか?
474 :
Name_Not_Found :2012/10/13(土) 09:32:16.93 ID:y5XIDPdZ
おっさんらはコーディングする時、どんなエディタ使ってますか? オススメとかあったら教えて欲しいのです。。。
vi
今のviはBSD時代とは比較にならないくらい強力だしな
Vim(CUI)とgedit(GUI)の二刀流 普段作業に使うUbuntuにはどっちも最初から入ってるし
>>473 ケースバイケースとしかいえないけど
自分はよく使うね
Googleのロゴどうなっとん・・・
html5じゃね
別にCanvasとかSVGとか駆使してる訳じゃない ただ画像を組み合わせて動かしてるだけ HTML5というよりDHTML
あの程度ならgif動画でさえできるのに何が不思議だったんだろうか
あーまたなんかやってんのか ってリトルニモまんまじゃん
484 :
Name_Not_Found :2012/10/15(月) 22:55:16.27 ID:sPp/eeCa
CGI掲示板についたレスをクリップボードにコピーできないんですけどどうすればいいでしょうか <INPUT TYPE=button VALUE=コピー onmousedown='window.clipboardData.setData("text","$FORM{'MESSAGE'}") onmouseup=alert('コピー完了')>
485 :
Name_Not_Found :2012/10/15(月) 22:57:07.70 ID:U0xwOR9S
Google検索のソース見ると、相変わらず<center>で吹く 初期からちょっとずつちょっとずつ変更していった名残なんだろうか?
486 :
Name_Not_Found :2012/10/16(火) 00:23:58.86 ID:D+fv5aCX
上司の提案でiPad用サイト作ってんだけど、 画面内にあるCLOSEボタン押したらホーム画面に戻るかブラウザ(Safari)を閉じる仕組みってできるの? タブなら閉じれるんだけど、ブラウザそのものを閉じたり最小化したりが分からん・・・
>>486 そんなボタンあったら怖いわ
勝手にブラウザ強制終了するようなサイトには二度と行かん
488 :
486 :2012/10/16(火) 06:25:39.45 ID:???
>>487 調べて全く出てこなかったんだけど、上司が言ったからにはあるもんだと必死に調べ続けてたわ・・・
ありがとう
拡張機能ならできるな そのうちブラウザ拡張も(モンキーに)標準化されて 一般のウェブサイトから楽にインストールできるんだろうな Webインテントもやっぱりただのサイト扱いよりも権限欲しいし やっぱりHTML.nextの目標はそこだと思う
IPad用のサイトなのに画面内にクローズボタンがあるという実装がクソ
>>484 clipboardDataってのはWindowじゃなくてClipboardEventのプロパティじゃあないんかね?
windowでよかったと思うけど。 どうせ IE以外でアクセスしてるんじゃね?
>>490 確かに
画面内で、何でもかんでも手作りしてしまうのって
ありがちだよなあ
ここってjqueryの質問おk?
時々あるけど。JQueryスレも別にあるので両方見比べて選べば。
上で紹介されてたjqueryの解説見たら自己解決したスマン
配列をソートした時 array[0]はソート後どの場所に行ったか確認する方法を過去にやった事ある方とかいないでしょうか? どうしても上手く行かず
array[0]の中身をソート後にどこにあるか照らし合わせるだけじゃないの?
ソート済みなら半分ずつにしてガシガシ検索できる。
500 :
Name_Not_Found :2012/10/17(水) 19:38:31.18 ID:g0cz9Cyu
質問です IE6でJSONのencode/decodeを行ないたいのですが、どうすればいいのでしょうか? JSON.stringifyやJSON.parseはIE8からみたいなので困っています。 何かいい解決策を教えてください
501 :
Name_Not_Found :2012/10/17(水) 19:41:45.51 ID:OzwuFl7B
json2.jsじゃいかんの?
502 :
Name_Not_Found :2012/10/17(水) 19:46:37.91 ID:g0cz9Cyu
>>501 即レスありがとうございます!
さっそく使ってみることにします
jQueryでdisplay,noneとかできるけどGoogleからペナルティなるです? おしえてくだせぇ!
やっぱりかぁ hideも?
同じ事
508 :
Name_Not_Found :2012/10/17(水) 22:33:39.19 ID:OzwuFl7B
position: absolute; left: -5000px; top: -5000px; これで今のところ困ったことにはなってないなー スレ違いすまん
マルチする輩は去ね
510 :
Name_Not_Found :2012/10/18(木) 11:28:08.91 ID:Tc1WP0rD
パソコンに加速度センサーが搭載されていないため、加速度センサーを使用したスクリプトのデバッグができなくて困っています。 パソコンのウェブブラウザ上で、加速度センサーをエミュレーションし、加速度センサーを使ったスクリプトのデバッグができるプラグインをご存知の方、いらっしゃいませんか?
なんで実機じゃいかんの?
512 :
Name_Not_Found :2012/10/18(木) 14:09:48.68 ID:/c7J3CGZ
加速度センサーの動きを再現するスタブコードくらい書けるだろう それを QUnit とかで動かせばおけ
513 :
Name_Not_Found :2012/10/18(木) 14:16:27.09 ID:B7pRLV0W
イベントバブリングで質問があります。例えば <body onclick=functionA> <div onClick="alert(1);"> <p>text</p> <input type="button" value="button"> <div onClick="alert(2);"> <a href="#">link</a> </div> </div> <p>text2</p> </body> で、textかボタンをクリックするとalert(1)->functionA。linkをクリックするとリンクに遷移->alert(2)->alert(1)->functionA となりますが,最後のfunctionAに到達するまでにHTMLのデフォルト動作やJavascriptなどでクリックが何回処理されたかを知ることはできますか? うまく伝わらないかもしれませんが, 例えば,ボタンをクリックすると1回の処理、リンクをクリックすると3回の処理、text2をクリックすると0回の処理 というかんじで,functionAの中で,その回数を得たいのです。
htmlに直接書くやり方はやめろって
>>513 いずれも一回しかクリックされてないのに2回とか3回とか意味がわからない。
クリックされた場所別に処理を変更したいならevent.targetを使えばいいんじゃない?
516 :
513 :2012/10/18(木) 15:29:15.48 ID:B7pRLV0W
回数というのは,クリックイベントに応じた処理の回数という意味です。
うまくつたわらず、申し訳ないです。
もっとも処理したいのは,0回のときなんです。
要するに,「画面をクリックしたけど,何もおこらない時」を条件にしたいのです。
>>514 あくまで「例えば、」と書いたのですが...
event.targetでいいじゃん
なんのために関数が実行されたかどうか確認したいんだ? 何か干渉するもんがあるなら、関数の実行で変化した部分見て判断すれば
無理にaddEventListenerを使わなくても直接htmlにイベント書いても好き好きだと思うけどな
独りよがりが許される環境ならな
>>520 html編集しか許されない環境とかも考えられないアホなんだな
くだらね
HTML編集しかできないのにJavaScript使えるってやばいのでは
>>523 エディタにviしか使えない環境 ッ手意味だろ
なんのネタだよ
HTMLにしろ JSにしろ テキストファイルなんだし 普通にvimで編集できるって
529 :
513 :2012/10/19(金) 13:33:55.75 ID:owyrOPOH
>>517-523 すみません。わかりにくくって。例えば,Greasemonkeyなどであとから、サイトをいじる場合を前提にしてます。
サイトのHTMLやJavaScriptは既定のもので編集できないような状況です。
で例えば,ボタンやリンクをクリックした場合は既定の動作をして,
何でも無いところをクリックしたら,document.addEventListenerなどをつかって、
alert("そんなところを押さないで♡");
みたいなことを忍び込ませる方法を探っています。
(勿論,実際の関数はもっと実用的な内容ですが^^)
ただaddEventListenerするだけだと「既定の動作」+「alert()」になってしまって
いずれか一方の処理ができないので,条件分岐をしていずれか一方の処理のみに限定したいのです。
530 :
Name_Not_Found :2012/10/19(金) 14:32:55.84 ID:hlHvgg8x
javascript で暗号化して値を飛ばし、サーバーサイド(php)でその値を復号化したいのですが、 そのような事が出来る何かよい暗号化ライブラリはないでしょうか? 可能でしたらphpで使えるMcryptがいいです もしご存知の方いらっしゃいましたら教えてくださいm(_ _)m
cryptは以前使ったことある気がする
複合可能な暗号を使ったら意味ないでしょ
えっ
535 :
513 :2012/10/19(金) 16:41:42.34 ID:owyrOPOH
>>532 すいません。不勉強なせいで,まだ理解できないです。
event.targetでクリックされたエレメントを取得できるのは理解できるのですが,
そのエレメントをクリックしたことで,何らかの関数が起動されたかどうかをどうやって知ることができるのですか?
eevent.target.clickとかでもundefinedしか返ってこないし。
536 :
513 :2012/10/19(金) 17:11:04.32 ID:owyrOPOH
attributeをいっこいっこチェックして、 onclick, hrefが無いことを確認するしか無いようですね。
537 :
513 :2012/10/19(金) 17:20:02.79 ID:owyrOPOH
あぁ、でもこの方法だと,HTMLに直接書いてあるのしか拾えないです。
>>514 がいうように,
スクリプトでaddEventListener("click"...のエレメントはダメみたいです。
538 :
530 :2012/10/19(金) 17:22:51.04 ID:???
>>536 htmlに直書きしてないのでしたらevent.targetにlistener登録されているかを調べたらどうなんですか?
あ、
>>530 もお願いします
539 :
Name_Not_Found :2012/10/19(金) 18:11:24.90 ID:llLfoEFP
540 :
530 :2012/10/19(金) 18:24:57.24 ID:hlHvgg8x
>>539 ありがとうございます
>>531 さんのもそういう事だったのですね
後、暗号キーに関してはもちろん問題ありませんので大丈夫です
わざわざご心配どうも
さっそく使ってみます
>>537 event.targetでボタンかどうかぐらいは判定できるでしょ?
イベント定義されているかは予め調べておく
>>539 それは「暗号化と複号のキーが同じ」つまり対称j鍵暗号についてのみ成り立つ議論だよな。
公開鍵で暗号化して複号する秘密鍵は外に出さないようにすればOKでしょ?
ブラウザ上のJSで暗号化→サーバ側(Java)で復号化は 今ちょうど作ってるwebシステムで実現してる。 slowAESとJavaの標準パッケージ使ってできた。 PHPでも同じアルゴリズムがあればいけそうだよね。 AES128(CBC)あたりなら簡単では?
545 :
Name_Not_Found :2012/10/20(土) 15:00:34.95 ID:koSIsq4M
アップロードした画像を閲覧するためのブラウザを制作してみたいんですが javascriptを使ってできるのでしょうか?
「ブラウザを制作」するの? それともWebアプリを制作するの? 後者だと思うけど、他サイトのアップローダとか 画像サイトの内容を閲覧させるなら、クロスドメイン通信を 考えないといけないから、YQL使うといいかもね。
547 :
Name_Not_Found :2012/10/20(土) 16:11:12.97 ID:koSIsq4M
>>546 すいません。webアプリです。
YQLを初めて知ったんですが
YQLとはSQLをするためのツールですか?
安心しろ 質問のレベルからしてお前には一生無理だ
いや、最初はこんなもんだ まずはhtmlをやって、その後phpを使う事をオススメする
ネタじゃないのw
552 :
Name_Not_Found :2012/10/20(土) 18:22:45.56 ID:koSIsq4M
>>548 俺はすぐに才能を発揮します
>>549 htmlとphpはやってます!
>>551 じゃあまずjavascriptの勉強から始めたほうがいいですよね…
とりあえずjQueryもYQLもjavascript上で動作するAPIってことはわかりました!
このAPIを使えば画像閲覧のwebアプリが作れるってことですか??
553 :
Name_Not_Found :2012/10/20(土) 18:31:08.15 ID:brebECp/
教えてください。 selectタグの選択肢をjavascriptで消す場合に、nullをoptionのindexに入れて 消すと思いますが、これをID指定で消したいです。 obj.options[0] = null;の0を、aiuなどIDで指定したい場合はどのようにしたら良いでしょうか。 <script language="javascript"><!-- function b() { obj = document.f.s; obj.options[0] = null; } //--></script> </head> <body class="main" onLoad="b()"> <form name="f"> <select name="s" id="s"><option value="aiu" id="aiu">aiu</option><option value="eo" id="eo">eo</option></select> </form>
>>552 超おおざっぱに云えば
1.jQueryとcross-domain-ajaxで、画像サイトからそのページのHTML取得
2.HTMLからimgタグ抜きだす
3.抜き出したimgタグ情報を元に画像閲覧用のページをJavaScript(+jQuery)とCSSで動的に作る
って感じかね。
まぁ先は長いと思うけど頑張って。
画像の直リンで著作権違反 すぐ通報してやる こういう馬鹿って著作権にうといからうざいわ
>>553 jQuery使うと簡単だけどな
$("select#s>option#aiu").remove();
とかやれば消せる
もっとも、id使うから、
$("#aiu").remove();
でいいんだけど
最近jQueryばっかり使ってるから、素のJavaScript書けなくなってきた。。。
ところでjQueryスレってあるのかね?
探してみ見つからん。
>>555 著作権法第32条の第一項によれば、
基本的に引用として使用する場合は違法ではない。
あとimgタグを使った時は「転載扱い」だけど、
「直リン」はあくまでマナーの範囲内だから、法的には関係なし。
ブラウザで普通に閲覧するのと処理的には同じだから。
その場合は、転載にはいかなる形であっても必ず原著作者の許可が必要で
出典・原著作者を必ず明示して、それが転載だってことが閲覧者に
確実に伝わるようにすれば、違法にはならないから処罰されない。
だから、他サイトの画像転載サイトを作る場合は、転載元サイトの許可が取れて
それが転載だってことを明記してあれば問題ない。
許可が取れればね。
リファラーで直リン制限してたらJSでも無理だっけ?
>>556 jQueryなどのスレはあったけど落ちた
>>556 情報ありがとうございました。
まずはjQueryから勉強してみます。
>>557 んなことわかってるよ
こいつの考えはとりあえず画像アプリ作っちゃえってだけで著作権まったく気にしてなさそうだから言ったんだよ
こいつ引用の範囲もわかってないだろうし、転載元の許可なんか取る気なんかまったくなさそうじゃねーか
そもそも転載元の許可を毎回とって画像アプリ作るなんて効率悪いし、
かといって勝手に貼って後からトラブルになったら皆に迷惑かかる
自分も巻き込まれたら最悪だ
こいつの技術力や基礎知識のなさ、無能さから判断してjavascriptの勉強はやめて働けと言ってやりたい
562 :
Name_Not_Found :2012/10/20(土) 19:26:29.16 ID:koSIsq4M
>>554 ありがとうございます!
一応俺が考えているのは
1.自分の作ったサイトに画像を複数枚アップロードする
2.サムネイルを出す
3.クリックすると別ウィンドウで画像が閲覧できる
っていう風な感じにしたいんですけどこれも同じ原理で作れますか?
563 :
Name_Not_Found :2012/10/20(土) 19:29:34.49 ID:koSIsq4M
>>561 いや、多分何か勘違いしてると思いますけど
俺は自分のサイトにアップロードされる画像を閲覧するためのアプリを作りたいんですよ!
著作権とか関係ないですよ!
>>559 やっぱそうか。試しに立ててみたら立てられた。
【jQuery】JavaScript ライブラリ総合質問所 vol.2
http://toro.2ch.net/test/read.cgi/hp/1350728831/ >>561 まぁまぁ。気持ちはわかるが、そういう違法行為に
安易に、もしくは結果的に手を染めてしまう開発者が
出ないように情報をシェアするのも悪くないと思うよ。
そういえば、Googleの画像検索とかはどういう扱いしてんのかね?
検索結果のサイトに使用許諾を求めているとはとても思えないが、、、
>>562 できるよ。
まずは手元のPC内に、PHPとかが使える開発環境、
xamppとか入れてあれこれためしてみるといい。
上のほうで議論があるように、安易に他サイトの画像使うよりは
自前でアップローダとかも用意するといいかもね。
最近はレンタルサーバとかも安いし。
自分のサイトであっても、アップロードされる画像自体にも
著作権があるから、安易に使うと問題になるんで、そこは慎重に。
アニメ画像とか映画やテレビの一場面のキャプチャでも、無断で
アップロードしたら違法だよ。
自分でデジカメで撮影した画像なんかを扱うサイトにしたらよかんべ。
>>563 それもうphpでやるべきだろ
カウンターとか必要だろうし
568 :
Name_Not_Found :2012/10/20(土) 19:51:45.05 ID:Iuh373NP
>>565 そこは文脈から読み取ろうよ
それはさておき、
ウェブから画像を収集してきて一覧できるアプリを
作って公開したら著作権侵害、とはいかんまでも
マナー的にはやってはいかんことなの?
俺のよく知っているサイトがそれやってるんだけど
で、世界中の人に愛用されてるんだけど
そのサイトは、日夜バックエンドで画像を収集しまくっておいて
ユーザがあるキーワードを入力すると、関連性の高い画像を
一覧する、ってスタイルなんだけど
Googleはじめ、画像検索サイトはそんなもんだよね 世界中から画像収集して、一覧化してるわけだし 収集した画像を、あたかも自分サイトオリジナルの コンテンツと見せかけるようなやりかたでなければ大丈夫でしょ
そのシステムそのもののサイト俺持ってる。 cronで画像収集用のbot動かして ただflickrのクリエイティブコモンズライセンスのもので更に問題なく使える画像に限定だけどね wikipediaと同じ
flickrはいいかもね。 "flickr api 使い方" でググると、よさげな情報がいろいろ出てくるな。
俺なら広告はって稼がれてたら即通報するな 画像の大きさや扱いにもよるが
flickr APIオススメよ ただどのAPIもリクエスト制限が必ずといっていいほど付くから いずれにしてもPHPでキャッシュ関連を実装しないと駄目だろうね
ウェブブラウザって他人のコンテンツをそのまま表示してるよね。 俺のシステムはブラウザの一種だ!って言い張ればいいんじゃね。
それもありかも知れんねw 俺はやらんけど
キャッシュしてインデックス化するのがダメならその場で探せばいいのか ブラウザがやってることをプロキシやWEBアプリが代行したらアウトなのか
そもそもブラウザはWEBページを表示するためのアプリだからな WEBブラウザにケチつけるのは馬鹿のやること
CSSやJavascriptを勝手にいじったり無効にしたりするのは許されるんですか。 かつてブラウザに広告が表示されるなんてのもありましたよね。
広告付けると駄目なのか? なら広告付いたブラウザとか発狂しそうだな
かつてあっただけで今はない 当然嫌われたからだろ
流石にIE6 IE8 IE9にはケチ付けても良いと思う
それでもトップシェアなのは変わらないよ
IEに限らずHTML5の基本機能(キャンバスとかローカルストレージとかファイルAPIとか)をサポートしてないブラウザは叩いてOK 非IEブラウザシェアが5割突破したし IE6は腐った牛乳なので早めに捨てましょう さもないとWeb製作者が食中毒を起こします
便乗質問、
>>554 に出てくるcross-domain-ajaxが気になるんだけど
ググって出てくるgithubのディレクトリが404で中身がわかんない
jQueryのプラグインってことはJavaScriptでも同じことがやれるの?
>>583 その非IEが5割超えてても結託して同じ仕様にしてるわけでもなきゃ合わせる意味ないでしょ
>>578 元々、無効にすることを考慮されてる仕様たから
587 :
449 :2012/10/20(土) 21:59:16.01 ID:h5CdZGyW
困ってます、お願いします
javascript でスクレイピングしたいのですが、参考になるサイトを教えて下さい できればサンプルが充実してるところで
Google
Googleで思い出したけど GoogleのAPIの説明やJavascriptのリファレンスとか英語ばっかだけど やっぱりJavascriptやってる人って英語結構できるの?
そもそもJS自体英単語の羅列 あとプログラミング関係のドキュメントとかって 専門用語わかれば 中学英語で読めるし
まぁ中学高校の英語はちゃーんとやっとかないとねっ 変数名でhensuuとかは別にいいけどリファレンス読めないと恥かく
593 :
Name_Not_Found :2012/10/21(日) 03:34:23.41 ID:UUlRvAD7
594 :
Name_Not_Found :2012/10/21(日) 03:38:13.52 ID:UUlRvAD7
>>590 ドキュメントはだいたい何となく読める
外で英語で道を聞かれたら
スマホのグーグルマップをゴソゴソやりながら
「うぃっちぷれいすどぅゆうわんつごー?」とか言ってみて
やっぱり通じない…
>>593 件のはヘッダ無しにドメイン間の通信ができる感じじゃない?
596 :
Name_Not_Found :2012/10/21(日) 11:29:36.45 ID:j8NAfZH1
jQueryで、javascriptのbind(thisの拘束)をラップしてるような仕組みはすでにあるのかな? もともとイベントをセットするjQuery.bind()があるから、 あるとすれば何か他の名前になってると思うんだけど・・・
横浜市ウェブサイトでの、保土ヶ谷区××小学校へ無差別殺人予告事件です。 7月はじめに19歳明大生逮捕の報道がありました。 この件は話題のトロイではなく、単なるJavascriptのクロスサイトリクエストフォージェリを仕掛けただけです。 明大生は、掲示板に貼ったURLをたまたま踏んだだけです。以下がその内容の全文です。 これが狙いか?
あれって、100人くらいで踏んでたらどうなってたんだろうね。 最初の一人だけって仕組みになってたんだろうか。
599 :
Name_Not_Found :2012/10/21(日) 13:56:10.75 ID:j8NAfZH1
しばらく考えてみましたが、jQueryにはないと判断し、 MDNを参考に未対応ブラウザへの対応をおこないました。 bindはFunctionのメソッドだから、jQueryでラップされててもややこしいですしね
idの付いたdivタグにおいて、ボタンを押すと <div id="k"> </div> <div id="k"> <input id="a1" type="file" > <input id="a2" type="file" > <input id="a3" type="file" > ・・・・ </div> のようにidの付いた<input>タグを1個づつ追加していくのは どうすればいいのですか? jQueryでこんな操作ができるような気がするのですか 不可能なんでしょうか?
jquery使えば良いですよ可能ですよ
概略だけど、こんな感じでいいんじゃね? $("#k").bind("click", function(){ // type="file"のinputタグの数をかぞえる var lengthOf_a = $("input[type='file']", $(this)); if(lengthOf_a === 0){ // type="file"のinputが無ければ、"a1"から新規に追加 $(this).append("<input id='a1' type='file'/>"); }else{ // type="file"のinputがあれば、"a*"の最大数を取得して、次の"a*+1"を追加する ...ここにそのコード... } });
>>602 ・最初は空であることを保証できるなら、counterを用意すれば毎回数え上げなくて済むよ。(lengthOf_aの代わり)
・idの生成を共通化したほうがいい。var id='a'+(lengthOf_a+1); これなら分岐しなくていい。
・普通は変数名に _ は使わない。lengthOf_bとかもないし、ここは length で。
・要素の操作はなるべくDOMを使った方がいい。今回は特に簡単に作れる要素だし。
>>601-602 ありがとうございました。
しかし、新たに問題が発生しました。
<div id="k">
<input id="a1" type="file" >
<input id="a2" type="file" >
</div>
生成したid付きのinputタグを関数でいじろうとすると
inputタグが認識されない不具合が発生しました。
どうすればいいのでしょうか?
jqueryを使ってjson形式でTwitterからデータを読み込もうとしているんですが、 .appendの中にあるcreated_atがグリニッジ標準時で表示されてしまいます。 これを何とかjavascriptで日本時間に直したいんですが、配列についての知識等 が必要みたいで、jqueryをちょっといじれる程度の自分には手も足も出ません。 どうやってグリニッジ標準時を日本時間になおしたらいいんでしょうか?
>>607 ライブラリを改造して複数アップ可能にするのに挑戦してます。
http://sample-red.atumari.net/1021/ajaxfileupload.php くらしくはソースを見てください
<input id ="a0" type="file" size="45" name="fileToUpload[]" class="input" >
<div id="aa"></div>
としてid="aa"タグにid付きのinputを追加しているのですが、
この追加したinputタグが使おうにもNo fileとなってしまいます。
<input id ="a0" type="file" size="45" name="fileToUpload[]" class="input" >
<div id="aa">
<input id ="a1" type="file" size="45" name="fileToUpload[]" class="input" >
<input id ="a2" type="file" size="45" name="fileToUpload[]" class="input" >
・・・</div>
とするとうまく複数アップできます。
add fileのタグの関数がうまくいきません
formタグは使って良い仕様かな?
だったら、
<form action="リクエスト先URL" method="post" enctype="multipart/form-data">
として、マルチパートを指定するとか。
あとは、HTML5だったら、
<input type="file" name="files[]" multiple>
と、multiple属性を指定してやる。
あとは、jQueryプラグイン使う。
http://lagoscript.org/jquery/upload?locale=ja これとか。
>>609 おい、そのリンク先っておたくのサイトか?
適当に試しちゃったけど、実際に通信してるじゃんよ。
俺んとこのファイルがそっちで取得されちゃってんの?
とりあえず1回のクリックで2回のpost送信がおこなわれて
1回は成功、次が
>>609 のとおりエラーになるようだけど
他の人は説明があるまで試さない方がいいかも。
612 :
Name_Not_Found :2012/10/22(月) 03:25:40.17 ID:0kM1kPy2
【環境】iOS safari 【何をしたのか】コードは書いていません。 【期待する結果】 ・JavaScriptで可能かどうかひと通り検索してみたのですが、分からないので教えて下さい。 ・タッチした部分のclassだけ変更したいです。 例えば、 ここは、<span class="white">1ちゃんねる</span>です。 ここは、<span class="white">2ちゃんねる</span>です。 ここは、<span class="white">3ちゃんねる</span>です。 これのスパンで囲まれた部分をタッチすると、 ここは、<span class="white">1ちゃんねる</span>です。 ここは、<span class="red">2ちゃんねる</span>です。←ココ ここは、<span class="white">3ちゃんねる</span>です。 の様にclass変更したいです。 HTML、CSS、JavaScriptで実現可能でしょうか?
よゆう attributes
最強のaddEventListener/attachEventラッパーを教えてください thisの互換性確保とunload時にまとめてremove/detachが可能か循環参照にならず、コードが短いものでお願いします
最強とか言っちゃってる時点で触りたくない
addEventListenerに統一した方が良いよ あとthis使わない方が良いよ
okwaveで聞いたほうがいいんじゃない。こんな糞スレで聞かない方がいい
煽れば答えてくれると思ってん
実際にここは糞スレだと思うぞw
別に糞スレでいいじゃん。答えたい人が答える価値のあると思う質問に 解答してるんだから、糞質問する人には糞スレだと思ってよそ行ってもらう。
>>616 横レスすみません
thisを使わない方が良い、について
詳しく教えてもらえませんでしょうか
自分の手作りaddEventlistenerでは
callしてthisを渡すようにしてるんですが
その手作りaddEvnetListenerのコードを貼ってください
624 :
622 :2012/10/22(月) 15:52:40.04 ID:+s2iUp8j
長いので要所だけになりますが [イベントリスナ配列].each(function(){ this.call( [イベントリスナを登録したオブジェクト] , [eventオブジェクト] ); }); こんな感じになります eachはこれまた手作りしたforEachの様なものです
>>614 要望にあうかわかりませんが、thisとunload云々は要件を満たしています。
https://gist.github.com/882821 互換性を持たせようとすればするほどコードが長くなるのでラッパーは程々にしたほうがよいと個人的には思いますが。
>>622-624 DOM Level 2 Events では addEventListner で this に関する規定がありませんでした。
代わりに event.currentTarget があります。
うろ覚えですが、DOM3 か DOM4 で this の既定が加わったと思います。
後方互換性を確保するには event.currentTarget を使用すべきです。
626 :
622 :2012/10/22(月) 16:51:04.92 ID:+s2iUp8j
> 後方互換性を確保するには event.currentTarget を使用すべきです。 いいえ、jQueryを使うべきです。
>>614 > 最強のaddEventListener/attachEventラッパーを教えてください
> thisの互換性確保とunload時にまとめてremove/detachが可能か循環参照にならず、コードが短いものでお願いします
jQueryです。
>>596 > jQueryで、javascriptのbind(thisの拘束)をラップしてるような仕組みはすでにあるのかな?
はい、あります
630 :
608 :2012/10/22(月) 22:30:26.44 ID:???
オススメのサイトでもいいんで・・・
+9時間足せばいいじゃん
>>627 jQueryでイベントリスナとして渡した関数の引数に渡ってくる
eventオブジェクトって、なんかおかしくないですか?
いや、困るほどおかしいわけでもないのですが
何か拡張されている?
>>632 jQueryはthisもeventも拡張してる
jQueryで何を使うかが問われているのであってjQuery使うという解は的外れなんだけどね
>>616 Element.prototype.addEventListenerを自作するということですか?
使わなくても済むthisや、リスナー登録順のような細かな問題はスルーするとしても
eventオブジェクトの書き換えやメモリーリークへの対応は必要になりそうですね
>>625 ありがとう
やはり最強を欲しいとなるとこんなに長くなるんですね
素直にjQuery使えということでしょうか
636 :
608 :2012/10/23(火) 12:10:18.93 ID:???
>>631 Tue, 23 Oct 2012 03:08:50 +0000
これに9時間をどうやって足すのか分からんです。
created_atえググレ
そのままDateコンストラクタに文字列リテラルとして放り込む
>>636 よくわからないけど、単純に9時間足すのだったらこれでいいはず
var a = new Date('Tue, 23 Oct 2012 03:08:50 +0000 ');
a.setTime(a.getTime() + 60 * 60 * 9 * 1000); // ミリ秒に注意。
>>637 ,638
回答になってないよね。
>>640 すくなくともFirefox 18a2、Safari 6では問題なく動くが。
> Firefox 18a2 やっぱりこの手の馬鹿かw
>>640 だったらお前が最初から回答してやれよw637みたいな回答しないでさ。お前は要らない子。
644 :
608 :2012/10/23(火) 18:37:27.45 ID:???
すいません。一応該当URLを貼っておきます。
ttp://itoshima.hp2.jp/ この中のval.created_atで追加されるGMT表示をJPNに変えたいと思ってます。
検索しても必要な情報が見つからなかったので書き込みました。
645 :
608 :2012/10/23(火) 18:45:17.52 ID:???
すいません。自己解決しました。
646 :
608 :2012/10/23(火) 18:50:29.02 ID:???
勝手に書かないでください。まだ解決してません。
ある要素の中に要素が二つある場合一つ目のものだけに上書きするというコードを書こうとしています elem.children[2] = elem.children[2][0]; としたのですがtr.children[2][0]だけでなくelem.children[2][1]も表示されます。 なぜでしょうか? <td><pre>a</pre><pre>b</pre></td> 見たいな場合に <td><pre>a</pre></td> だけにしたいです。
648 :
647 :2012/10/23(火) 18:59:21.98 ID:???
tr.children[2][0]のtrはelemのまちがいです。
649 :
608 :2012/10/23(火) 19:01:15.45 ID:???
>>642 Firefox 3.6、Firefox 10 ESR、Firefox 16.0.1、Firefox 17.0
Firefox 18.0a2(2012-10-22)、Firefox 19.0a1(2012-10-22)
Google Chrome 22、Opera 12.02
IE 8、IE 9、IE 10
で動いたけど?
自分で試しもしないくせに罵るだけのお前のほうがよっぽど残念だな
652 :
608 :2012/10/23(火) 19:14:25.71 ID:???
すいません、やってみます。
653 :
608 :2012/10/23(火) 19:28:07.11 ID:???
var a = new Date(val.created_at); a.setTime(a.getTime() + 60 * 60 * 9 * 1000); // ミリ秒に注意。 でいいんですかね?いろいろとこれの挿入場所を変えて見たんですけど、 どうもうまくいかないです。
654 :
Name_Not_Found :2012/10/23(火) 19:29:26.32 ID:zoV57ZOm
>>651 そんなん列挙しないでも、コード見ればちゃんと動くことはみんなわかっとるよ
「9時間足す方法がわからん」なら
>>638 だけでも十分だと思うけどねー
>>639 で最後に余分なこと書くから荒れるんだよ
'<br/><strong>投稿時間</strong>: ' + a とりあえずこれで日本時間にはなるはずだが、日本語表記にするならまた別の処理が必要だぞ。 それは javascript 時計 とかで検索したらいい。
>>654 「足す」のが分からないんだから、setTimeのくだりは必要だと思うぞ。少なとも、
Dateの生成のみで「十分」とは言いがたいな。俺は別にケチつけるつもりはないが。
657 :
Name_Not_Found :2012/10/23(火) 19:33:16.10 ID:zoV57ZOm
>>657 val.created_at のままで a を反映できてないんじゃねえの?というか、その記事2009年だぞ。
いまさらそんな古いIEに気を使う必要はない。むしろ、切り捨ててやるべきだ。
659 :
608 :2012/10/23(火) 19:40:16.46 ID:???
文字列ということで、val.created_atの部分を''で囲んで、スクリプトタグ内の二行目に置いたあと、
>>655 に習ってaに置き換えました。
すると投稿時間がinvalid Dateと表示されるように・・・
660 :
608 :2012/10/23(火) 19:42:26.92 ID:???
>>657 その記事は見たんですけれど、配列のことがよくわからなかったのと、
それをどう応用すればいいのかが分かりませんでした・・・
なんのためにサイト晒したんだよ。JSごときで潰れないしそのまま反映させてみろ。 それかちゃんとコードを貼れ!!!こっちには意味分かんねーんだよ。
>>659 new Date('val.created_at'); こんな感じにしたの?説明じゃわからないからコード貼ったほうがいいよ。
663 :
608 :2012/10/23(火) 19:47:39.00 ID:???
すいません・・・コードに反映させます。
664 :
608 :2012/10/23(火) 19:52:30.24 ID:???
表示されてますかね?
>>664 var a = new Date(val.created_at); // ' で囲わないでいい。
a.setTime(a.getTime() + 60 * 60 * 9 * 1000); // ミリ秒に注意。
これを $("#twi").append( の上に挿入。こんな感じに。
$.each(data.results, function(i, val){
var a = new Date(val.created_at);
a.setTime(a.getTime() + 60 * 60 * 9 * 1000);
$("#twi").append(
...
>>647 DOM
removeChildで2つ目以降を消せば結果的に同じじゃね?
上書きにこだわるならreplaceChildとか
667 :
608 :2012/10/23(火) 20:00:02.77 ID:???
できまし・・・あれ?4時・・・?
668 :
608 :2012/10/23(火) 20:14:49.24 ID:???
JPNで表示されているのに、時間がおかしく表示されているということは、 取得しているページ自体が最近のものではないってことですかね。 ページ1のものを取得しているはずなんですけど・・・
669 :
608 :2012/10/23(火) 20:17:41.67 ID:???
すいません。あとはjavascript 時計で検索して見たいと思います。 ありがとうございました!!!
670 :
608 :2012/10/23(火) 20:25:36.35 ID:???
すいません。修正できました。m(_ _)m
馬鹿が多くて笑える
Dateに変換した時点でtoStringで地域にあった時間に変換してくれる
わざわざ+9時間する馬鹿がどこにいるの?
そのせいで
>>667 みたいな事が起こる
他人を貶めることで 相対的に自分のポジションを上げるような書き込みは ご遠慮ください
いやいや、これはさすがに酷すぎるでしょ
得られる値の確認もしないで
>>639 が馬鹿やったからこうなったんだし、
Dateの仕様に触れもしない周りも周り
9時間固定で足すよりは getTimezoneOffset()で得た値を足す方がいい。
おれなら Dateに任せず自分でパースするな。
Date.parseは実装依存だからね フォーマットが確定しているなら正規表現の方が確実ではある
オーバースペックで困るのは使う奴が低スペックのときだけだろ
679 :
Name_Not_Found :2012/10/24(水) 21:49:00.98 ID:mYPONqEb
すみません、質問です 数字を値段として表記するために、カンマ「,」を挿入したいと思います しかし以下の処理では動きません、どこが問題でしょうか num = "12345"; hoge = String(num).replace(/^([0-9]{2})([0-9]{3})$/g, '$1,$2'); alert(hoge); とりあえず5桁の数値を対象に、どうしたら良いかご意見お願いします
680 :
Name_Not_Found :2012/10/24(水) 21:56:18.48 ID:Ci4zzAfw
>>677 ざざっと見たけど便利そうですな!
質問者じゃないけどありがとう
別に「String(num).replace(/(...)$/, ',$1')」くらいでいいんでないの。
682 :
Name_Not_Found :2012/10/24(水) 22:06:14.88 ID:Ci4zzAfw
>>679 適当に考えた
function comma(n){
var ret = '';
var a = n % 1000;
var b = Math.floor(n / 1000);
if(a < 10) a = '00' + a;
else if(a < 100) a = '0' + a;
if(b >= 1000) ret = comma(b) + ',' + a;
else ret = b + ',' + a;
return ret;
}
適当というか、お酒飲んじゃってるんで
間違ってるかもー
683 :
Name_Not_Found :2012/10/24(水) 22:10:37.21 ID:Ci4zzAfw
あーだめだ 1000未満がきたらそのまま返さないと ゼロ詰めもももうちょっとうまくやらんと カンマの位置も第二匹数で受け取ったほうがいいかも
function comma(n){ var ret = ""; n = "" + n; while(n.length % 3) { n = "0" + n; } for(var i=0; i < n.length; i += 3) { if (i != 0) { ret += ","; } ret += n.substr(i, 3); } return ret.replace(/^0+/,""); } 適当に考えてみた
>>679 num = "12345";
hoge = num.split('').reverse().join('').replace(/(\d{3})(?=\d)/g, "$1,").split('').reverse().join('');
すげぇw
var num = "1234567890"; alert(num.split(/(?=(?:\d{3})*$)/).join(","));
688 :
Name_Not_Found :2012/10/24(水) 22:50:56.94 ID:Ci4zzAfw
>>684 > while(n.length % 3) {
> n = "0" + n;
> }
ゼロ詰めかっけぇ!
正規表現かっこよすぎ
ならば正規表現のみで hoge = num.replace(/(\d)(?=(\d{3})+$)/g,'$1,');
ぐぬぬ
(num + '').replace(/\B(?=(?:\d{3})+$)/g, ',');
同じだからどうしたんだ?
num = String(num); while (num != (num = num.replace(/^(-?\d+)(\d{3})/, '$1,$2'))); 俺はコレ使ってるんだけどどれが一番いいんだ?
697 :
Name_Not_Found :2012/10/25(木) 02:16:40.82 ID:j+jvqkWJ
任意のタイミングで音を鳴らす場合に HTML5 Audioに対応してないブラウザでどう対応するかなんですが、 embedなどで音声ファイルを読み込むと、ブラウザの設定によっては アドオン(Windows Media Playerなど)を実行しようとしています、許可するには〜とか、 ActiveXなんちゃら〜などとメッセージが出てしまいます。 他に方法ありますか?
フラッシュはあかんの?
700 :
Name_Not_Found :2012/10/25(木) 02:47:01.38 ID:j+jvqkWJ
なるほどーflashならメッセージは出ないか。 画面領域なし(極小)で音声再生機能だけのswfを作って読み込む感じになるのかな。 あ〜長らく触ってないから若干ハードル高いかも・・・ けどちょっと試してみるっす
701 :
Name_Not_Found :2012/10/25(木) 02:51:52.53 ID:j+jvqkWJ
おっと行き違えました
>>699 bgsoundってどこかembedと同じような動作になるようなイメージしてましたが
言われて改めて思うと、もとはIEの独自拡張だしいいかもしれません。
HTML5 Audio非対応で気になるのは実際のところIEのみ(8以前)ですしね。
是非試してみます
素直にflashを使う事をおすすめする
>>693 その程度の正規表現、必要に迫れば即席で同じような
パターンを書く人間が幾らでも出てくると思うけど、
その都度、自分の記事を宣伝でもして廻るの?
同じですねって言ってるだけのになんでそんなに目くじら立てるんだ?正確歪みすぎだろw
>同じですねって言ってるだけ
宣伝して廻るのか聞いてるだけのになんでそんなに目くじら立てるんだ?正確歪みすぎだろw
>>704 コテからも文体からも、鼻ヒクヒクさせながら
自分のスキルを自慢する姿が目に浮かぶからさ
きっと最後にエンターキーをバシッと強く叩くタイプだと思うの。
たぶん、先人たちが幾度となく世界中で書いてきたんだろうしねー 先の方で書かれた関数とどちらが速いんだろう きっと誰か試してるんたろうな〜(チラッ
宣伝と確信しているなら質問する必要はないだろうに この手の輩は相手が必死で弁明するのを期待してニヤニヤしている愉快犯だから相手にしないほうがいい 面白がって煽り立ててる人には悪意しか感じないな 便乗して煽ってる人もそれがどういう風に見られるかを考えて書き込んでくれればいいのだが
今までの流れの中では
>>710 が一番不快
いったい何様のつもりなんだろ
俺は煽ってる人の方が不快だな
大切な能力: スルー力
宣伝乙
最初に関数書いたの自分だけど、後から正規表現書いた人みたいのが ワラワラ出てきてドヤドヤする流れが楽しくて好きだなー エスカレートして質問者置いてきぼりになるのも良い 自分の書いたのが劣っていて、後からより優れた書き方が出てきたら それはそれで勉強になってありがたい わざわざ空気悪くしても誰も得しないんだから 楽しくやろうぜー
facebookってほとんどjavascriptでページ出力してますか?
javascriptで扱える数値って、最大いくつだっけか
Number.MAX_VALUE
1ページを表示する際に、ajaxでサーバと何度も通信しまくりながら 表示要素を構成していくっつーアプリを組まされたんだけど 最近のPCならjQuery経由のIE8とはいえ、秒間50リクエスト近い通信を捌けた。 ネットワーク負荷とかいろいろ懸念点はあるけど、 リクエストからレスポンスまで3秒間くらいで、180リクエストくらいイケたんで かなり複雑な画面でも問題無さそうだ。
日記で問題無さそうだ。
殺伐としたWeb制作板に一服の清涼剤として、日記チラ裏JSカキコ。
>>724 サーバ側からブラウザに、大量のJSONとかを静的HTMLとして送り込んで
それをJSでゴリゴリやってる感じだよね。
>>725 ですよね
そうすることで何かメリットあるんですか?
>>726 めんどうなことを全部クライアントに押し付けることが出来る
リッチクライアントを超えた富豪クライアントプログラミング
>>727 あーなんとなくわかったような
でもJavaScriptの方が重くなる気がしたんですけどそうでもないんですね
大勢のアクセスをこなしている大忙しのサーバーにやらせんと 暇してるクライアントに押し付けたほうがいいのは目に見えてる 今のPCなら処理速度なんてきにせんでいいし
730 :
Name_Not_Found :2012/10/25(木) 21:34:41.38 ID:d+iJ+8nA
だいぶ前だけど facebookがクライアントにコンテンツをボコボコ送り込むやり方を 解説してるのを見たことがあるなー ただ単純にやるのでは遅くなっちゃうけど サバクラのタイミングとっていい感じにやってる、みたいな
foo = function ( a , b , c ) { this.a = a; this.b = b; this.c = c; }; foo.prototype = { constructor: foo, setA: function(a){ this.a = a; }, setB: function(b){ this.b = b; }, setC: function(c){ this.c = c; } }; bar = function ( d , e , f ) { foo.call( d , e , f ); this.d = d; this.e = e; this.f = f; }; bar.prototype = Object.create( foo.prototype ); fooクラスを継承したbarクラスがあったとして、barクラスのインスタンスを生成して、 そのプロパティd,e,fだけの名前を知りたい場合どうすればいいでしょうか? var b = new bar(d,e,f); var arr = Object.getOwnPropertyNames( b ); これでarrを調べてってくらいで行き詰っております。
>>732 素早い回答ありがとうございます
getOwnPropertyNames()だと、この場合上位クラスのfooのプロパティまで取得してしまいます
barだけのプロパティを知る方法は無いものかとそういうことです
>>733 やってみたけど普通にd,e,fしか表示されなかったよ?(Google Chrome 22、Firefox 16)
>>734 foo = function ( a , b , c ) {
this.a = a;
this.b = b;
this.c = c;
};
foo.prototype = {
constructor: foo,
setA: function(a){
this.a = a;
},
setB: function(b){
this.b = b;
},
setC: function(c){
this.c = c;
}
};
bar = function ( d , e , f ) {
foo.call(this);
this.d = d;
this.e = e;
this.f = f;
};
bar.prototype = Object.create( foo.prototype );
すみません、コードがちょっと違ってました、これだとどうでしょう
foo.call(this)のとこがこうなってるんですよね
これだと上位クラスまですべて取得してしまうんです
>>735 質問の仕方が糞。まずクラスは大文字で始めろアタリマエのことだろ。
それからこの質問だったらaとdだけでいいじゃねえか。余計なもんは捨てろ。邪魔なんだよ。
そもそもオブジェクト指向でそんな処理することねえから。ずーと開発してきて今まで一回も
書いたこと、見たことねえよ。まずオブジェクト指向を理解出来てねえな。その訳の解らんコーダだと
barはこれと同義だろ。bar=function(d,e,f){this.a=d;this.b=e;...thid.f=f;} ってことは自分で
それらのプロパティを生やしてんだから全部 OwnProperty になるのは当たり前だだろ。
結論。お前の質問に答えはいらない。オブジェクト指向を理解できないなら普通に書けばいい。
いい忘れたが、名前に番号フレやアホ
「サブクラス由来のプロパティであるか調べる方法(取得する)」お前の質問これで成立すんだよ。 まず質問の意義が糞だけどな、もう少しマシな質問をするよう心がけろ。
なにこのつんでれ
酔っぱらい親父ははよ寝ろ
740 :
Name_Not_Found :2012/10/26(金) 02:00:26.84 ID:fbCGJFlB
罵倒する言葉を削ると完答になっとる… この文才に嫉妬
741 :
731 :2012/10/26(金) 02:26:07.12 ID:???
>>736 すみません、このコードはいい例がなかったので即興で作りました・・・
今やってるのはあるAPIを解析してリファレンス作りたくて全部のメソッドとプロパティを知りたかったもので
だからコード自体に意味は無いのです
>>737 ですね
意味のないコード載せるな
>>741 無茶だよ。実行済みのコードを解析するんでしょ?そんなこと普通しない。
ECMA準拠のパーサを使って構文を解析していくんだよ。
>>743 ごめんなさいAPI→ライブラリの間違いです
楽できないかと考えたんですが、手打ちでコード見て頑張ります
最近googleがよく画面というか、要素を回転させてるが アレってCSS3?IE9だと出来ないようになってるが IE9でも要素傾ける事はできたよね?
ふっ、IE9などどうでもいい 今日発売されるwindows8にはIE10が標準装備だからなぁ!! これでHTML5もwebsocketもラクショーでJavascripterから「IEのエラーは放置しとけ」と言われる心配もなし だと思う、というかそうであってほしい、取得情報の違いとかも直ってるハズ!
夢物語を
websocketはいいんだけどさ そろそろブラウザゲーのダウンロードを1回にするようなの出ないかな ブラウザゲーは毎回毎回ダウンロードすんのがメンドクサイし、させる側もそれなりのサーバーが必要になる ローカルファイルとインターネッツブラウザを連動させるようなものでないのかね
キャッシュサイズ大きくすれば? ローカルストレージに保存してみたら?
キャッシュマニフェスト使えば? IE10ってもう正式版でたんかね
win7用はまだ win8は標準搭載 じゃなかった?
質問です ページで使っているcssや画像など全てのファイルが読み込まれてからJavaScriptを実行するにはどうすればいいですか? onload $(document).ready(function(){ $(function(){ などいろいろ試したんですが、 いずれもhtmlファイルだけロードされた時点で実行されてしまうようです ぐぐってもいまいちわからないので教えてください
LocalStrageのサイズって、クライアント側で変えられるんかね? Chromeだと5MBしかないんだよね FireFoxでも10MBだっけ
>>752 $(window).load(function()は?
onloadから長めのsetTimeoutで飛べばだいたいロードされてるんじゃね
; ( function(){ alert('unko'); }() ); ↑ 先頭につけてる ; は何を意味しているの? 魔よけ?
WEBメールみたくテキストエリア以外で文字の入力をしたいのですが どうやってるんですか?
contenteditable属性
誰かちょっとIE10になる事でIEで気をつけなきゃならない事とか増えたりしたか教えてくれ そしてIE10はまだクソブラウザなの?
IE10はwebsocketに対応してる、これからどんどんwebsocketが発展していくだろ ・・・と思ったらjQueryのみならずwebsocketもSocket.IOってライブラリでGoogleが支配状態なのかよ オラクルみたいな悪独裁じゃないから別に良いがこれには背筋がゾクッとした
ライブラリを使用しなければならないブラウザを責めるべきだと思うけど ライブラリはクロスブラウザを楽にするための道具であって独占の幇助にはならないと思う
jQueryってどちらかと言えばMS支配じゃなかったっけ? Socket.IOはよく知らないけど作者がGoogle関係者なの? サイト見る限りGoogleとはあんまり関係無い様に見えるけど
開発がMSでAPIでグーグル依存させまくりなような
オライリー・ジャパンの「JavaScript : The Good Parts」 p.131に インクリメント、デクリメント演算子は使わないほうがいいって書いてあるんですけど みなさんは使ってますか? これらの使用は無謀なプログラムを書く原因になる、って書いてあるんですけど 本当なんでしょうか?
正しい理解のもとに使用しないと間違いの素になる可能性がある、と言う条件で 正しく理解するのか 利用そのものをやめるのか の選択肢があるわけだけど、グッドパーツは後者が多い ってだけだよ
日曜日だからwin8買ってインスコしてみた IE10は相変わらず他と仕様が違くて取得した時の値とかが違ってweb屋泣かせなのは変わらないが CSS3も同じで「ようやく追加されたか」みたいなのが多い
>>768 >IE10は相変わらず他と仕様が違くて取得した時の値とかが違って
ここをもう少し詳しく
>>7 ECMA や CSS 仕様に違反しているということですか?
jQuery使っても他だとval()で取得出来るものが IE9だとhtml()じゃないと取得できないってのがあったりするんだよなぁ 他にも親要素まで他はparent.parentで済むのにIEだけparent.parent.parent.parentとか
772 :
766 :2012/10/29(月) 00:40:06.06 ID:???
>>767 ありがとうございます
自分の場合、正しく理解するには場数を踏む必要があるようです
しかし場数を踏む間に間違える恐れがあるので
正しく理解するまで使用を控えてみます
とはいっても失敗しないと学べないかもですが
個人的には 「包丁でおなかを刺すと死ぬことがあるので、使わずに料理します」 と言っているようなものだと思うけどねー
つまり馬鹿に刃物は持たせられないということですな
昔、インディアンは刃物すら持たない平和な民族で 彼らに剣を渡してみたところ、鋭い刃先を握ってしまい手に傷を負ったという そういう事
渡し方が悪いだろそれ
777 :
Name_Not_Found :2012/10/29(月) 23:11:29.28 ID:Cb5ffDxi
まあ、正しい使い方を覚えた方が そんな大雑把に避けるより万倍いいわな
一人ならそれも良いが 複数人で使って隣の奴に刺されるくらいなら禁止した方が良い
おやつの時間か… また太るな
780 :
Name_Not_Found :2012/10/30(火) 03:30:43.80 ID:eWTl2KSl
そんな人、コード書きに参加させない方が効率いい気がする…
制限さえすればいいんだからそうでもない
782 :
609 :2012/10/30(火) 08:28:55.17 ID:???
>>782 なんでphp経由してんの気持ち悪いんだけど
JavaScriptを学び始めて、3ヶ月ほどの初心者です、分からないので質問させてください。 <script> window.onload = function() { var canvas = document.getElementById("canvas"); var context = canvas.getContext("2d"); canvas.addEventListener("mousemove",function(e) { context.clearRect(0,0,canvas.width,canvas.height); var rect = e.target.getBoundingClientRect(); mouseX = e.clientX - rect.left; mouseY = e.clientY - rect.top; context.arc(mouseX,mouseY,50,0/180*Math.PI,360/180*Math.PI,false); context.stroke(); },false); } </script> <canvas id="canvas" width="400px" height="400px"> これでは、最初のarc()が消えないで次のarc()が描かれてしまいます、 最初のarc()を消してマウスの位置にだけarc()が表示されるようにしたいのですが、 どうすればいいですか?教えてくださいお願いします。
>>784 clearRectの前にbeginPathを呼ぶ
786 :
784 :2012/10/31(水) 06:25:07.67 ID:???
>>785 さん
寝てしまったのでお礼が遅れてしまいましたが、
無事成功しました!有難うございました!
普通のJavaScriptができるのにjQueryを使うのは楽だからですか?
はい
更にコードが短くなーる 動作が遅くなろうが請け負いwebクリエイティングではそんなの特に気にしないから jQuery設置させて終了
docomo iモードブラウザ2.X(JavaScript対応機)について質問です。 携帯電話の時計のタイムゾーン・サマータイムを変えた時、 Date.getTimezoneOffsetメソッドの戻り値は変わりましたか? N-06Aで試したところ、タイムゾーンが反映されず、サマータイムが反映されました。
791 :
790 :2012/10/31(水) 13:10:24.10 ID:???
(誤)Date.getTimezoneOffsetメソッド (正)Date#getTimezoneOffsetメソッド
netfrontのJavaScriptエンジンはとにかく見せ掛けが上手い奴だから中身は期待してはいけない 存在するように見えて呼べないメソッドとか機能しないのなんかがわんさかある よくも悪くもそういうものだから余り細かい仕様を突こうとしてはいけない もっと言えば本当に機種の数だけ山のように違う部分があるよ 例えばテキストエリアは10000文字までしか入力できないのが普通だが JSから10000文字を越える文字列をセットしたときどのタイミングで10000文字に切り落とされるかとかてんでんばらばら JSからのスタイルにバグがあったり互換性を見たら本当ダメだよ 動けばいいやくらいで作らないとやってられない
>>792 やはりそうか
(1000000.0).toString(2)がなぜか指数表記になったり
Number.MIN_VALUEが0を返したりと本当にヒドい実装なんだよなぁ
サイ本6版のリファレンスってjQueryどんくらい載ってるんすか? jQueryはjQuery専用のリファレンスを別に買ったほうがいいんすか? 近所の本屋にリファレンスのほうは置いてねえんで中身確認できねえす
jQueryは公式があるじゃないの
別のJavaScriptによってある要素が作成されたときに、処理を実行させるにはどうすればいいでしょう? 別のJavaScriptの方には手を加えることができません。 確認する対象が多いため全力でループを回すわけにも行かず、ゆっくりループを回して確認しているのですが、処理がワンテンポ遅れてしまいます。 こんな力任せの方法ではなく、何かスマートな方法はないでしょうか?
ある要素を作成するときに使った関数でもフックすれば?
こんなひどい説明で回答をくださって本当にありがとうございます。
JavaScriptで関数にフックさせるにはどのようにすればいいのでしょうか?
後付けみたいになってすみません。
>別のJavaScriptの方には手を加えることができません。
別のJavaScriptというのは元々ページにあるスクリプトで、ここにユーザーサイドスクリプトを追加して処理をさせたいのです。
更に言うと元のスクリプトはきわめて複雑で、どこで要素が作られるかわからない上に不定期に更新されるので、単純に要素の出現をトリガーにできれば最高です。
無理でしたら、
>>797 様に教えて頂いたとおりに、要素を作成している関数を全て探してフックしたいです。
>>798 ページに強制的に出る広告を削除したいとかそんな感じ?
どうせ後出しだらけだろうけど、対象の環境くらい書いてよ
DOMNodeInsertedイベント
javascriptによる非同期通信のみで表示を更新するサイトです javascriptによるソート機能がついてたり、マウスオーバーで部分的な更新やらいろいろされてて、すごく要素の書き換えが複雑に行われてます JQueryのliveメソッド的なもので、出現時に実行できるものでも無いかなーと・・・
>>801 うおおお、ありがとうございます
ちょっと勉強してきます
>>801 無事目的が達成できました
的確なアドバイス感謝します
この度はありがとうございました
805 :
Name_Not_Found :2012/11/01(木) 22:57:55.71 ID:aXIGdGCM
画像の色を変換したいと考えてる。 例えばもってきた画像の赤を青、緑を黄色になど変換したい。 いい方法あるかな?見当もつかない。 アドバイスとかでいいなにか教えてほしい
帰れ
html5のcanvasに書かれた画像にフィルタかけるような感覚だろうか
canvasでいいな
809 :
Name_Not_Found :2012/11/01(木) 23:11:13.12 ID:aXIGdGCM
さげれてなかった。すまん。 html5のcanvasと 画像にフィルタか。 難しそうだな、ちょっと調べてくる。
おまええらそうだな
812 :
Name_Not_Found :2012/11/02(金) 16:36:45.57 ID:Hg+LA2uf
>>812 文字列が正規表現かどうかチェックしているのだと思われます
AS3 の mouseEnabled = false みたいなことをしたいんですが、 一時的にマウスイベントを無効にする方法ってありますか? フラグ作ってリスナごとに抜ける処理作るしかないですか?
815 :
Name_Not_Found :2012/11/02(金) 17:00:15.03 ID:Hg+LA2uf
>>813 ありがとうございます。
全く意味がわかってませんが、研究してみます。
816 :
Name_Not_Found :2012/11/02(金) 18:10:16.87 ID:2eCVQaRM
>>815 /abc/123/
↑こういう文字列を引っ掛けたいんじゃなかろか
正規表現とかパスとか
817 :
Name_Not_Found :2012/11/02(金) 18:28:45.77 ID:Hg+LA2uf
>>816 ありがとうございます。
肝心な所がわかってませんが、それの意味はわかってきた気がします。
何が分かってないのかも分かってないんじゃないか
>>814 ベンダー付きでマウスロックがあった希ガス
requestなんちゃらで
WinRTで開発してる方いませんか? やっぱJSなだけにソースコードは丸見えなんでしょうか?
選択した画像の高さとサイズをfile APIで取得の質問 <form name="form1"> <input type="file" name="file" onchange="preview_image(this);"> </form><br/> <div id="aa"></div> <script> function preview_image (input) { var reader = new FileReader; var onLoad_Reader = {size: NaN, handleEvent:ken}; reader.addEventListener('load', onLoad_Reader, false); reader.readAsDataURL(input.files[0]);}
822 :
821 :2012/11/03(土) 08:37:37.79 ID:???
function ken(e){ var t = e.target; if (t instanceof FileReader) { alert("ok"); this.size = e.total; var img = new Image; img.addEventListener('load', this, false); img.src = t.result; return; alert("ok2");} if (t instanceof Image) { var img =t; $("#aa").html('size:' + this.size+"<br>"+ 'width:'+img.naturalWidth+"<br/>"+ 'height:'+img.naturalHeight); return;} }
823 :
821 :2012/11/03(土) 08:40:45.51 ID:???
reader.addEventListener('load', onLoad_Reader, false); をreader.onload = function(){〜} で書き換えたいのですが、うまくいきません。 addEventListenerの第2引数に関数でないオブジェクトを渡すという コードは今までにみたことがなくさっぱり分かりません。 reader.onload = function(){〜}で書き換えが可能であるならば 教えてください。
800越えたんで、大きなテンプレ変更の提案あれば今どうぞ。
canvasのWebページをキャプチャし新しいタブに表示するプログラムがあるのですが さらに、キャプチャした画像の色を(例として赤を緑に、青を黄色になど)変換したいと 思っているのですが手がつかず困っています。 どなたか教えて頂けませんか?
827 :
826 :2012/11/03(土) 23:12:20.70 ID:???
//ページ全体をキャプチャ (function(){ var win = window.content; var w = win.innerWidth + win.scrollMaxX; var h = win.innerHeight + win.scrollMaxY; var pos = chromeWindow.document.getElementById('main-window'); var scrollbox = chromeWindow.document.createElement('scrollbox'); scrollbox.width = '1'; scrollbox.height = '1'; pos.appendChild(scrollbox); var canvas = win.document.createElement('canvas'); canvas.style.display = 'inline'; canvas.width = w; canvas.height = h; scrollbox.appendChild(canvas); var ctx = canvas.getContext("2d"); ctx.clearRect(0, 0, canvas.width, canvas.height); ctx.save(); ctx.scale(1.0, 1.0); ctx.drawWindow(win, 0, 0, w, h, "rgb(255,255,255)"); ctx.restore(); gBrowser.addTab(canvas.toDataURL("image/png")); pos.removeChild(scrollbox); })(); getColordata(関係あるかどうか)など調べていますがわかっていません。 よろしくお願いします。
Mozilla のページから外部リンク踏んだときだけ戻れなくなるんだけど、 どうなってるの???
829 :
Name_Not_Found :2012/11/04(日) 11:06:11.49 ID:PjIhSF/U
質問です
http://imgur.com/ このサイトのように、アップロードする前に選択した画像を表示したいのですがどうしたらいいのでしょうか?
見たところファイルを選択した時点ではサーバーにはアップロードされておらず、
選択した画像は <img src="data:〜"> として(base64で埋め込み?)表示されているようです。
どなたか判る方いましたら教えてください。
JavaScriptじゃセキュリティで無理じゃね? それFlashだからな
2chのブラウザみたいに.jpg.png.gifってなだけで サーバーにうpもせずブラウザ上でイメージを作成するのはやめとけよ
832 :
Name_Not_Found :2012/11/04(日) 11:18:42.33 ID:PjIhSF/U
>>830 本当だ・・・ファイルデータ取得してるのはFlashだったんですね
スレチ失礼しました
File API使えばできる気がするんだが
どうでもいいけど昔 canvasの絵をbase64でサーバーにPOST ↓ phpでpngファイル作る ↓ サーバーにうp っての作ったな
>>829 マジで言ってるのか釣りなん?ググればわかるだろう。
input type="file"で参照した画像をサーバーに上げることなく、
画像プレビューしたいなら可能だぜ。
ただし、これはfile APIというHTML5に分類される技術を
使ってる。window.Fileが真になるブラウザで使える。
http://d.hatena.ne.jp/favril/20100506/1273143063 従来のやり方ならどうしてもサーバーにうp予定の画像を置かないと
画像プレビューができない。しかし、これはかなりややこしい
ってかサーバー側のプログラミング言語とJavascriptの連携
するから、かなり難しいから初心者はやめとくのをすすめる。
>>829-832 file API使って画像うpしたURL(画像プレビュー)は
data:image/jpeg;base64,/9j/4A〜(以下英数字が延々と続く)
って具合でdata:image/jpeg;base64〜の形になるぜ。
自分も、画像を挿入できる掲示板作ってるけど サムネイル表示は、サーバ側のJavaプログラムでサムネイル 作ってからそのURLを画面側で参照させてる。
それ一度アップロードしてるやん
飛鳥先生って何で収入得ているの?
アップロードさせればいいんだけど そのままブラウザに表示させるのはそのままはモチロン、base64でも危ないんじゃね?
いったんテンポラリ領域にアップロードさせてサムネイル作る。 その後、画面側でOKかどうかを選択して、OKなら画像ファイルを 保存領域に移動させつつ、解像度ごとのリサイズ版作ってる。 スマホ用、タブレット用、PC用。 キャンセルされた場合は、テンポラリ領域のファイルを物理削除。 併せて、DBにもファイル情報書き込むようにしてる。 処理はめんどくさいんだけど、アップロードした画像に対して いろいろきめ細かい制御できる。 アップロード自体は、jquery.uploadプラグイン使ってる。
別にアップロードなんてさせなくてもFile APIで十分でしょ それに対応してないブラウザは表示されないけど、それは使ってるブラウザが悪い
これからの時代はHTMLにbase64エンコされた文字列を書いといて自前生成
セキュリティで考えると imgをクラでそのままimg→危険 imgをクラでbase64→安全 imgをfileAPIで→安全 こういうこと?
残念だがHTML5関連は時期早々なんだよな 勧告まだだし
あれ?勧告今年じゃなかったっけ? まだやってないの? どーせIEが一人で足ひっぱってるんだろーけど
<head>
<script type="text/javascript" src="/jquery-lightbox-2.51/js/jquery-1.7.2.min.js"></script>
<script type="text/javascript" src="/jquery-colorbox/colorbox/jquery.colorbox.js" ></script>
<link rel="stylesheet" type="text/css" href="/jquery-colorbox/example1/colorbox.css" media="screen" />
<script type="text/javascript">
$(document).ready(function(){
$(".youtube").colorbox({iframe:true, innerWidth:640, innerHeight:385});
});
</script>
</head>
<body>
<a class="youtube" href="
http://www.youtube.com/watch?v=U4UwoDtTAD4 " title="mov">
<img src="
http://i4.ytimg.com/vi/U4UwoDtTAD4/default.jpg " alt="mov" /></a>
</body>
colorboxを使って、動画をポップアップ表示させようとしているのですが上手くいきません
ウインドウはポップアップするのですが、動画の再生が始まりません
静止画では問題なく機能します
参考にした↓のサイトも同様に再生されていません
http://jsajax.com/Articles/jquerycolotboxyoutube/1372 ただ、他のサイトのコードも確認したのですが、それほど変わりがないように思います
他サイトのポップアップは正常に再生できます
ブラウザはfirefoxとIE8で確認しましたがどちらでも動きません
850 :
849 :2012/11/04(日) 21:10:21.55 ID:QrRwxLXp
すいません… 誤爆です…
>>849 firefox使ってるならまずコンソール見ろよ
852 :
849 :2012/11/04(日) 21:29:53.27 ID:QrRwxLXp
>>851 ありがとうございます
数日前に始めたばかりでコンソールの存在を知りませんでした
読み込みに制限が掛けられているということでした
これで先に進めます
深く感謝
画像うpする際にプレビューって初心者にはFile API一択だろ。
>>842 のような高度なことはかなり勉強しないと無理。
ってかサーバー側のプログラミング言語のcgi、php等の知識も必要やん。
854 :
Name_Not_Found :2012/11/05(月) 00:59:20.22 ID:8AWmrkDb
>>853 高度というか、ファイルアップロードする時の練習問題的な感じもするが
面倒な事は面倒なんだけど
>>854 まぁ、実際file APIを使った画像プレビューも従来のやり方も
両方できるにこしたことはないけどな。
タブレットにもHTML5のブラウザが普通に搭載されてり現在に
HTML5を避ける理由も特にないとオレは思うけど。
HTML5ってセキュリティ的に脆弱なんだろうか?
FileAPIってまだほとんど使えなくね? 実験でやる分には楽しいが 一般向けにはまだまだ
XHRとかでバリバリ使われてるんじゃね
HTML5関連技術を駆使して作成したページが 今の日本で何%の端末で正常に稼働することやら たぶん70%位だと思うんだけど
> たぶん70%位だと思うんだけど 十分じゃねぇかと言いたいが 日本の企業web、大手webサイトは99.9%に対応させなきゃなんないんだよなぁ。 俺の仕事場も上場企業だがまだHTML5は必要ないつって言って仕事で扱おうとしない。非同期通信も同じく mixiは今年になってようやく導入したみたいだが 日本のIT関係が世界から大きく遅れてるのはそういう日本人気質な所だろうな、企業が俺一人に劣る現状 機動力に欠ける
プログラマがIT土方集団見下して何自惚れてるの? 竹原慎二「お前 ら弱い世界じゃ強いじゃろうが、強い世界じゃ下の下じゃ」
861 :
Name_Not_Found :2012/11/05(月) 08:22:10.72 ID:8AWmrkDb
>>859 新しいものに手を出して失敗した時に芋引きたくない、て感じがするね
日本の広告代理店は
>>862 今までこういうブラウザ比較サイトにはiOSとかAndroidなんて載って無かったんだが
載ってきた現状見るたびに頭痛くなる
タブレットまでブラウザが標準装備でweb回覧できる時代に 全ブラウザに対応したコード書けって無理じゃね?
PC用、携帯用、って作り分けるんじゃなくて画面サイズによって表示を変えるレスポンシブデザインって奴だな
>>865 のはパッと見は良くできてるじゃない
これで文句がでてるの?
デザインやってる俺からすると整頓しすぎ デスクトップじゃないんだから使いこまないと慣れないサイトになってる
>>864 標準技術だけで書いといて、ブラウザ別に特別な対応をすることなく
バグやら未実装やらで見れないブラウザはほっとくってのが最近のトレンドかもしれん
GoogleはIE8のサポートまで切るとか言ってるし。
MSがXPの更新パッチ出さないのが問題だよな XPでIE開いたらもうXPでIEは使わんでくれみたいなメッセージ出して Windows7以降に乗り換えてIE9以降を勧める案内だしたり 他ブラウザのDL画面出したりそういうことしないから いつまでたってもレガシーブラウザが消滅しない
>>867 ここネトゲのポータルだし、使う人は頻繁に使うことになるだろうから、
アプリみたいな使い勝手になってるのは悪くないと思うんだけどなあ
まあ、製品紹介のページとしてみたらちょっとダメなのかもしれないけど
タブレット=スマホ(iPhoneアンドロイド)=チョロメ=サファリ でいいじゃん 各ブラウザに対応するときりがないけどレンタリングエンジンで対応ならきりがある webkitとgeckoとオペラとIE系とゲーム機とガラケーとテキストブラウザ この7個に対応するだけで無敵
872 :
Name_Not_Found :2012/11/05(月) 09:58:56.19 ID:8AWmrkDb
>>869 いっそのことIE開発やめて
Firefoxに金出してくれれば全て丸く収まるような…
>>862 が「現行のブラウザのほとんどすべてがすでに実装済み」と言ってるが、
シェアを考えるならFileAPIに頼るのはまだ早い。
なにせIE8は未対応なのだから。
>>873 へー、2012年10月でもXPってこんなに多いのか。
ちと意外。
OSって5年経過したら爆発するようになりゃいいのに
中国だと3年で爆発する ソニーの出番
>>878 中国製のwebサイトにアクセスするだけでパソコン爆発
って逆にスゴイ技術だと思うぞ。
古いブラウザでアクセスしたらブラクラにリダイレクトするサイトをみんながつくりゃいい 文字通り爆発する
「XPでIE使ってる奴仲間はずれにしよーぜーw」 ってwebサイト作ってる奴全員でやりゃいい
8凄いと思ったらXPかw
884 :
Name_Not_Found :2012/11/05(月) 14:24:26.65 ID:8AWmrkDb
一昨年・昨年と、サイトの上下に黒い帯を引いて 右上に「アナログ」下に「知っていますか?IEは使えなくなるんです」 って告知して、素人を無理やり誘導するチャンスはあったんだよなー
別に古いブラウザに完全に対応する必要はないわけで、FileAPI使うなってわけじゃない 無駄なJavaScript依存が良くない
IE6で開くと真っ赤な画面に脅し文句(セキュリティが云々等)を表紙させて IEのアップグレード方法や火狐やチョロメのダウンロードページへのリンクを張れば完璧
なんかこのスレの住人ってプログラム板でも珍しいほどに 常に迷って悩んで困惑してるよな ブラウザに振り回されるプログラミング言語か 月1で新しい情報入ってくるから変化がアツイ言語とも言えるが
変化してんのはDOMやAPIだけどな
プログラム板?
すみません、jQuery初心者です 以下の2つは同じものを選択してると思うのですが(?)、 実行速度(検索?)とかに違いはあるのでしょうか? $('#foo>ul>li') $('#foo').children('ul').children('li')
無い
>>892 ありがとうございます。
簡単に書ける1行目を使うようにします。
jQueryのCSSセレクタって「CSSの様に見せる」だけだからな やってる事は同じ
前者だったらSelectors APIになるから速いんじゃないの?
もしかしてinputタグとかにidを設定してても、javascriptでinputタグのvalueを空にしたらidも消えちゃう?
なわきゃない
おかしーなー もうちょtっと調べて見ます
aタグに onclick="test();" って書いて function test(evt){ var target = evt.target; } って書いてもクロームではundefinedになります。 ieでevent.srcElementだと取れます 原因はなんでしょうか?
test(event)ってしたら動きました。 addEventListenerで指定したときは引数にeventなんて書いてなかったんですが、 直接要素に書く場合は必要なんでしょうか?
そりゃあ test(); って書いてる以上、引数として何も渡されないのは当然。 addEventListenerの場合は、DOMの仕様として、指定した関数オブジェクトを 呼び出す際その第一引数にEventオブジェクトが渡されることになってるだけ
900になりました。簡単に片付くテンプレ論議あれば今どうぞ。
別に良いよ node.jsでも気が向いたら俺が答える
>>901 ありがとうございました
ずっとaddEventListenerでやってたので知りませんでした。
>>902 毎度アラートご苦労様っす
読み返してみたら改善案出てたんで
>>18 の案をリンクチェックして採用で
いいんじゃないでしょか
>>891 いや、後者の方が早い
前者が早ければわざわざchildrenメソッドなんて実装しない
ソースは「JavaScriptコーディングベストプラクティス」という本
907 :
Name_Not_Found :2012/11/06(火) 03:53:02.59 ID:8sdrRjR6
テンプレには
>>715 のようなのが必要なのかもしれん
俺らのために
908 :
Name_Not_Found :2012/11/06(火) 05:27:46.47 ID:eIXOuZTf
オレらで、javascriptコーティングwikiとか作らない?
909 :
Name_Not_Found :2012/11/06(火) 05:29:11.52 ID:RmwzIs+c
やだよめんどくせぇ プログラミングなんて統率のとれた会社の指揮の元じゃねぇと枝分かれしまくって メンドクセー事この上ない そう、今のブラウザみたいに
910 :
Name_Not_Found :2012/11/06(火) 06:32:51.09 ID:eIXOuZTf
input fileがファイルが選択されているか未選択か確かめるって javascriptで可能?
$.ajax({
url: "
http://-------/aa.xml ",
type: 'GET',
dataType: "xml",
success: function (xmlDoc) {
var x = xmlDoc.evaluate("/Items/Item/Name", xmlDoc, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null);
console.dir(x); // singleNodeValue: null
}
});
すみませんajaxで取得したxmlにXPathを使いたいのですが
式以外の部分は合っているのでしょうか?> <
jQueryに関しては此処でも良いと思う、内部の動作はjavascriptなわけだし それと同様にHTML5も 理由としては2011年からjQueryとHTML5の求人が爆発的に増えてきた だからといってJavscript全体の人口が増えたとは言えないが、もう切っても切れない関係にはあると俺は思う ただしnode.jsは完全にサーバー側の問題だからココで質問してもあんま期待は持たないで質問してもらいたい
便意をもよおしているときにみなぎるヤル気を持続させる方法ありませんか?
917 :
Name_Not_Found :2012/11/07(水) 01:46:38.02 ID:dBBFOL0a
919 :
Name_Not_Found :2012/11/07(水) 04:02:32.20 ID:pdklRyYK
HTML5って新しく使えるAPIが増えて そのAPIあhJavascriptでいじるから、 結局Javascriptなんだよな
920 :
912 :2012/11/07(水) 04:44:31.52 ID:???
XPath式はあってると思うんですが取得できない。。
質問なんですが javascriptで10万件のデータを表示する時 どーしても表示してる間ブラウザが硬直したりしてしまいますが これを硬直せず且つ高速に表示する方法とかってありませんかね? ブラウザが硬直する50%の性能でやるとか
>>921 Deferredとか使って、非同期のループにする
923 :
Name_Not_Found :2012/11/07(水) 15:05:26.23 ID:dBBFOL0a
>>921 ループを再帰関数にして、再起するときに
setTimeout(fn,1);
てするだけでも全然違うんだけど
素直にやってしまうと10万ms=100秒かかっちゃうから
そのへんは良い感じに調整が必要かも
あと、一度documentFragmentに書いてから
documentにドボンと投下したほうが速い
安全のために最低16msぐらいになるから同じ 1000件ごとに再帰して1.6秒
documentFragment使うのと最後にinnerHTMLで書き換えるのとどっちが早いの?
自分で確かめろよ?
documentFragmentにinnerHTMLで要素を追加できないのは残念だな できれば好きな位置に親要素無しでHTML流し込めるから便利だと思ったんだが
意味不明
930 :
912 :2012/11/08(木) 01:07:40.32 ID:???
誰か教えて > <
931 :
Name_Not_Found :2012/11/08(木) 09:21:38.99 ID:++H6B2Qk
>>928 insertAdjacentHTML では駄目なん?
>>933 insertAdjacentHTMLのサポートはChrome1.0, IE4.0, Firefox8.0, Safari4.0, Opera7.0らしいから
Firefox3.6使いとかMacでSafariの古いの使ってる奴除けば使っていっていい普及率じゃね?
しかし、MDNの他ブラウザの実装状況にはお世話になりっぱなしだ
DOCTYPE宣言が見当たらないが
DOCTYPE?そんなもん無くても動くだろ ってソース見たら吹いた HTMLをまず勉強してこい
まずー、htmlには色々と種類がありましてー
種類以前の問題だろ
CSSやjavascriptのdocumentとwindowを良く理解しないで卒業した情報科の奴ですら テストでやってたレベル
ふwwwwwいwwwwwwwたwwwwwww これは・・・HTML6のスタイルですね
ただbodyの中身を書いてるだけじゃん お前らアホなのか
>>928 便利だと思うなら少し考えなおしたほうがいいよ。
いけぬまってw
生だからソースなんだろうよおまけにアホしか使わない言葉まで添えてさ
いや、しかし独学でやった奴にはあり得るミスだと思う C言語やらないでphpやる人とか多くてファイルポインタなんじゃそりゃとか多いし
phpにもファイルポインタあるぞ
ごめん C言語やらないでphpやる人がphpのファイルポインタでなんじゃそりゃ
>>931 XPathじゃないとどうしてもダメなんです。。
【ソース】のサイトで公開されてる内容ではなく、
設置されてるサイトのソースを見て物を言えって言いたかったんだろ
結論:
>>942 も
>>944 もどっちも馬鹿
>>951 その程度で結論とかいうお前は馬鹿 いや、お前は糞以下の馬鹿
まとめたがる奴は挙って馬鹿
なんだその言い回し気色悪
957 :
934 :2012/11/08(木) 20:38:26.46 ID:???
すみません ソースはややこしくならないようにDOCTYPE宣言などは抜いて、 必要最低限な物しか置いてありません 大量の<br />も下に長いスペースを空けるためです。 他に不備な点がありましたら教えていただけないでしょうか?
position: fixed これ、IE の後方互換モードだと利かない。
もうIE8以下使ってる奴とか見捨てて良いよ Google様も見捨てたんだから
960 :
Name_Not_Found :2012/11/08(木) 21:20:44.81 ID:++H6B2Qk
>>957 >DOCTYPE宣言などは抜いて
いかーん!
今すぐDOCTYPEスイッチでググるんだ
961 :
934 :2012/11/08(木) 22:15:24.67 ID:???
DOCTYPEスイッチでググって下記を追加しましたが症状は変わらないようです。
IE8以下ではなくIE9でも動きませんでした。(たまについてくることもありますが)
IE7以上標準モード
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
【ソース】
http://jsbin.com/uwipiq/4/edit
962 :
Name_Not_Found :2012/11/08(木) 22:20:07.59 ID:/21CgLxT
すいません。 循環参照についてい聞きたいのですが DOMとJavascriptが参照しあうっていうのがいまいちイメージできません。 調べてみたのですが、いいサイトが見つからず参考になるサイトなどあったら 教えていただけないでしょうか
963 :
Name_Not_Found :2012/11/08(木) 22:53:05.11 ID:++H6B2Qk
function Fn(elem){ elem.onclick = function(){ /* ここからはFn()の引数elemの参照がある! */ }; } これじゃいかん?
>>961 <div style="height:30px;">
<div id="main-nav">
<ul>
<li>Section 1</li>
<li>Section 2</li>
<li>Section 3</li>
<li>Section 4</li>
<li>Section 5</li>
</ul>
</div>
</div>
(ただしjsbinでは動作しない)
>>964 原因ははっきりしてるんだから、も少しスマートに。
>>930 そういう他人がテストしにくいコードを出しても、
ひと目で間違いが分かるようなのでなければスルーされると思う。
var xmlDoc = $.parseXML(XML文字列);
var x = xmlDoc.evaluate...
のような、テストしやすいコードにしてみて。
そしたら、気が向いた人が答えてくれるかも。
enterキーを押下させるにはどうしたらいいでしょうか 教えてください
971 :
Name_Not_Found :2012/11/09(金) 11:39:23.64 ID:H1eIIA0f
続きを読むには わっふるわっふると書いてからエンターキーを押してください
2chで「そうだな()」ってあるけど そうだな関数に見えてしまう
>>972 初心者で手間取りましたができました
ありがとうございます
>>973 嘲笑・煽りほか様々なパラメータを省略した記法だから
関数で合ってるよw
977 :
934 :2012/11/09(金) 14:37:35.07 ID:???
>>964 ありがとうございます!
無事IEでも動作しましたが、
今度はFirefoxでメニューの上にスペースが空き、
スクロールすると内容が下にずれる現状が現れました・・・
>>969 なるほど詳しくテストしてみますm(__)m
toguro(ani)
親要素にイベントリスナーを付けることが推奨されてるのは理解したところですが 例えば、「body:e.currentTarget > div > dl > dd(多数) > div > div > img」という構造にあるとき targetがdd要素以下ならすべて発動、という分岐をさせたいのですが この場合はイベントが発生するたびにtargetからループで親要素を遡っていってdd要素があるか判定するのでしょうか?
連想配列の先頭を取得するのは 地味に難しい
連想配列の鍵の順番の配列つくっときゃいいんじゃね? hoge[0] ='test' hoge[1] ='unko'
983 :
Name_Not_Found :2012/11/09(金) 23:13:35.78 ID:Se2ut9ej
javascriptでパソコンが重い、フリーズ寸前だとか判定する方法はありますか? Ajaxこってり版と簡易HTML版の振り分けしたいので
984 :
Name_Not_Found :2012/11/09(金) 23:46:56.65 ID:eaxe2e/D
すごくスパゲティなコードのデスマ案件を引き継いで、ざっと眺めたらこんなのが
function Unko(){
this.mi = null;
this.onara = null;
}
Unko.prototype.eject = function(){ /* ぶりぶり */ };
こういうのは消せよなー、と思って消したら動かなくなる
Unkoで検索したら、確かに new Unko(); としている箇所がある
でもこれが何をしているのかわからない
死にたい
>>983 適当なコードを実行して、その実行にかかった時間を測って
規定時間以上かかっていたら重い判定、とかじゃダメかな
ダメだな
死にたい
たぶんそれデスマにしたクライアントへのささやかな仕返しだな そして縁が切れてお前に回ってきたんだ
ワロタ てかそういうのはそっと送り返せよw
988 :
Name_Not_Found :2012/11/10(土) 00:05:05.96 ID:zWwnq+SZ
なう読み進めてるけど、相乗以上にうんこっぽい 最初に出てきたUnko以降、クラスっぽいものが見当たらない かわりに無数のグローバル変数と野良関数がある 関数の中に、varのない変数がたくさん出てくる Switch文が多すぎる /** * トッポは最後までチョコたっぷり */ function toppo(n,a,name){ } なにこれ 死にたい
なかなかセンスあるな 俺なら仕事放り投げるわ
かなり悪意を感じるな その蔵大丈夫なの?
やっぱ無理な事させると人間って壊れるんだな
新たな難読化手法か。
俺も同じ事思った ムカつく案件にやってやろう今度 正常に動けば瑕疵は問われないし 「この蔵は糞だ」と他のエンジニアへのメッセージ性もある
994 :
Name_Not_Found :2012/11/10(土) 00:31:19.69 ID:zWwnq+SZ
いやいやいやいやクライアントはとても理解も金払いも良い会社さん デスマってるのは全部うちの問題 投稿コンテンツで、このJSもウンコ入りながら1年間正常に動作してた で、1年分の発表コンテンツに差し替えますよ!というところで もともとの製作者とその上司が退職してて 運用チーム+外注で引き継いだらカオスコードのせいで作業時間が長引き スケジュールが詰まってデスマ。で、器用貧乏チームのおいらにお鉢が回ってきた感じ もうやめようスレ違いすまんこ ヘッダのボタンらしき変数を1増やしたら、なぜかヘッダが2個になった 死にたい
仕事でJavascirpt使ってる奴に一番求められる能力 それは速さでもなければ、コードの美しさでもなければ、軽さでもない IEでバグが発生した時「それは仕様です」って客に笑顔で納品出来るスキル、これが最も必要とされる能力
unkoとかtoppoとかの部分を全部置換すればいいんじゃないのけ?
次スレ立ってる?
ない
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。