+ JavaScript の質問用スレッド vol.98 +at HP
+ JavaScript の質問用スレッド vol.98 + - 暇つぶし2ch324:Name_Not_Found
12/03/14 18:21:01.91 VpfWgWnB
>>323
標準時プロジェクトのAPI使ってやったときは
APIから取得した時刻とnew Date()の時刻を比較して、ローカルの時間が
どれくらいずれているか取得しておき
実際に使うときに、その時差を差し引き

て感じでやった
Date拡張しちゃうなら、例えば

Date.prototype.getTime = function(){
return this.getTime() + 時差;
}

とでもすればいいんじゃないかな

325:Name_Not_Found
12/03/14 18:22:54.76 VpfWgWnB
適当に書いたから、間違ってる
オリジナルのgetTimeを別に保存しておかないといかんですね
>>324の拡張案は忘れてくださいごめんなさい

326:Name_Not_Found
12/03/14 18:26:15.18
>>323
global.serverTime = new Date(serverTime) みたいに定義して、それを使いまわす。
質問内容の方法だと保守が大変だよ。JSというより、設計の問題だけどね。

327:Name_Not_Found
12/03/14 18:29:22.89
いい忘れたけど、関数形式で定義しないとダメだよ。

328:Name_Not_Found
12/03/14 18:51:06.98
誤差を取得する関数実装してそれ呼べばいいんじゃ

329:Name_Not_Found
12/03/14 19:17:48.74
何がしたいのか良くわからんが
Dateを補正したいのなら
Dateごと上書きすればいいんじゃね?

330:Name_Not_Found
12/03/14 19:20:07.88
Date.prototype.__defineGetter__とか使ってバインドすればOK

331:Name_Not_Found
12/03/14 19:22:56.98
普通はmy補正Dateとか別に作るべき
どうせ.getSeconds()とか使うの決まってるんだろうから大変じゃないだろ

332:Name_Not_Found
12/03/14 19:34:36.45
>my補正Date
プッ

どうせなら
我補正月日
くらいにしろよw

333:Name_Not_Found
12/03/14 19:43:52.00
2バイト文字ってどの程度きちんと外国の環境で見れるの?
☆とか記号は結構いけるみたいなのは知ってるけど

多分漢字は中国フォントで表示されるんだよね?

334:Name_Not_Found
12/03/14 20:08:11.78
>>333
Unicodeなら、見えないかもしれないけど
他の文字に解釈される可能性はぐんと小さくなる。
フォントは環境依存。

335:Name_Not_Found
12/03/14 20:13:36.74
UTF-16ならASCII範囲内でも4バイトだけどなあ
というのは置いといて、2バイト文字=日本語圏の文字ならたとえばWinXP英語版には日本語を収録してるフォントが無い
ラテン語圏・ヨーロッパ圏の文字なら英語版でも入ってたと思う
Win7だと英語版でもほぼ全部カバー、Vistaはしらん

336:Name_Not_Found
12/03/14 21:07:21.69
だったらもし変数名に日本語使う場合は
\uXXXX\uXXXX=123  みたいにするのが無難かな

337:Name_Not_Found
12/03/14 21:13:20.42
それわざわざ使う意味なくね?

338:Name_Not_Found
12/03/14 21:14:16.56
エスケープする意味もわからん

339:Name_Not_Found
12/03/14 21:16:17.38
単に文字に対応する図形が無いだけなのに

340:Name_Not_Found
12/03/14 23:10:01.23
<table id="table1">
<tr><td>a1</td><td><b>b1</b></td><td>c1</td></tr>
<tr><td>a2</td><td><b>b2</b></td><td>c2</td></tr>
<tr><td>a3</td><td><b>b3</b></td><td>c3</td></tr>
</table>

というテーブルを配列に行ごとにtrに入れるにはどうやるのでしょうか?
配列にいれてその配列からtdにアクセスしたいのです

341:Name_Not_Found
12/03/14 23:13:24.55
rowsとcellsとgetElementByIDでできました

342:Name_Not_Found
12/03/15 08:15:34.72
>>339
そういう場合コピペすると空白になる場合があるから
エディターでマクロとか使って変数名エンコードしたのを出力した方がいいんじゃね


343:Name_Not_Found
12/03/15 09:26:40.58
変数の値が数字かどうか調べる最善の方法を教えてください
isNaNはダメなようです

344:Name_Not_Found
12/03/15 09:35:47.52
文字列か数値じゃなくて[0-9]の数字?

345:Name_Not_Found
12/03/15 09:36:12.40
どういう判定をしてダメだったのか書けよ

346:Name_Not_Found
12/03/15 09:48:51.41
夏休みの作文宿題みたいに
何文字以上何文字未満って制限する必要がありそうだな

347:Name_Not_Found
12/03/15 10:00:16.45
javascriptで無駄に00と書いてあるスクリプトを見つけたんですがこの00の部分って何の意味があるんでしょうか?

jQuery(document).ready(function(){
for(var n=9; ++n<30;){
  load(n);
  jQuery("#btn" + n + " p").click(
  00(function(m){
    return function(){
    jQuery.post("count/post.php", {"param1":"count" + m + ".txt"}, function(){load(m);});
    00};
  00})(n)
  0);
}
});

348:Name_Not_Found
12/03/15 10:05:46.96
テーブルの3番目と1番目のtrをreplaceChildで入れ替えたいのですが出来ません

<table id="table1">
<tr><td>a1</td><td><b>b1</b></td><td>c1</td></tr>
<tr><td>a2</td><td><b>b2</b></td><td>c2</td></tr>
<tr><td>a3</td><td><b>b3</b></td><td>c3</td></tr>
</table>

var t = getElementById("table1");
t.replaceChild(t[2], t[0]);

349:Name_Not_Found
12/03/15 10:24:55.80
>>348

tbodyを挟んで、そっちにid

350:Name_Not_Found
12/03/15 10:26:25.73
>>342
コピペしたら空白とかどんなアプリだよ

351:Name_Not_Found
12/03/15 10:29:23.67
俺のケータイはなるな。

352:Name_Not_Found
12/03/15 10:32:17.83
特殊文字はHTMLに出力した時点でもうJSの仕様外だから保証されないのは当たり前だろ

353:Name_Not_Found
12/03/15 11:00:27.25
>>349
やってみたら結果は同じでした

354:Name_Not_Found
12/03/15 11:07:41.01
改行がtextNodeになってるんじゃね
t[2]とかを出力してみろよ

355:Name_Not_Found
12/03/15 11:31:04.54
<table>
<tbody id="table1">
<tr><td>a1</td><td><b>b1</b></td><td>c1</td></tr>
<tr><td>a2</td><td><b>b2</b></td><td>c2</td></tr>
<tr><td>a3</td><td><b>b3</b></td><td>c3</td></tr>
</tbody>
</table>
<script>
var t = document.getElementById("table1");
t.replaceChild(t[2], t[0]);
console.log(t[2]); // undefinedになります
console.log(t); // →<tbody id="table1">...<tbody>ってなって、矢印のとこをクリックするとtrが3tu
arimasuta

</script>

356:Name_Not_Found
12/03/15 11:31:35.96
3tu
arimasuta
は3つありましたのミスです

357:Name_Not_Found
12/03/15 11:35:42.06
>>355
replaceChildは考えてるような都合のいいメソッドじゃない。

replaceChildの振る舞い。置き換えるノードと
置き換えられたノードがDOMツリー的にどうなるのか。
ここを理解すればどうにかできるはずだけど、それでも分からなければもっかいおいで。

358:Name_Not_Found
12/03/15 12:00:11.70
そんな回答は何も知らない素人でもできるわ

359:Name_Not_Found
12/03/15 12:25:22.76
>>347
意味ないと思うよ。気になるからそのスクリプトの場所教えてくれない?

360:Name_Not_Found
12/03/15 12:32:45.28
>>358
>>357で終わりなら、その通りかも知れないけど
終わりじゃないですよ的な意思表示はしてあるし
まぁ、なまあたたかく見守ってよ。

361:Name_Not_Found
12/03/15 12:40:12.19

わかったよ すまない

362:Name_Not_Found
12/03/15 13:06:43.68
>>359
ここです
URLリンク(kugyuu.com)

363:Name_Not_Found
12/03/15 13:14:10.58 oklBpMsq
>>347

俺がエスパーで回答すると、
①エンコード間違ってる。
②改行コードがcrlfが間違ってるか。
③HTML特殊文字。
④プログラム自動出力時のエスケープ。
⑤俺の知らない実行環境では正常に動く。
⑥モニタに0のいたずら書きがしてある。
⑦疲れ目。
⑧次期 ECMAScript/Zero の原案ソース。
⑨修正途中のコード
のいずれかだな。

俺は④と見た。

364:Name_Not_Found
12/03/15 13:14:30.39
>>331-339あたりの話題
引数をa,b,c,d,e...に変更する圧縮・難読化ツールよくあるけど
URLリンク(www.fileformat.info)
この辺の文字使うようにしたら面白いかもしれんね

365:Name_Not_Found
12/03/15 13:16:03.90
>>362
エディタで開いたら、その箇所は単に全角空白だったぞ

366:Name_Not_Found
12/03/15 13:16:42.32
まさかjavascriptで釘宮病治療センターのURL見るとは思わなかったw

まぁ今シャナとルイズやってるからどこに張られててもおかしくない状況だが

367:Name_Not_Found
12/03/15 13:23:48.61
>>365>>363
エディタとかの問題でしたか、勘違いですみませんでした

368:Name_Not_Found
12/03/15 13:27:55.01 oklBpMsq
>>362
ちなみにどういう環境で確認した場合、0が入ってたと思ったん?
今すぐ、フォントを変えるかメガネを買うことをお勧めするよ。
まさか⑩があるとは思わなかった。。。

369:Name_Not_Found
12/03/15 13:38:29.21
textareaがページ内に10個あるとします
このとき特定のtextareaにカーソルがあるとします
そして、カーソルが外れます
このとき、外れた時のtextareaを取得する方法を教えてください

370:Name_Not_Found
12/03/15 13:55:59.81 oklBpMsq
onblur

371:Name_Not_Found
12/03/15 17:44:24.44
この前言われてたから、順番以外でRegExpの速さ変わらないのか試してみたが
マジで変わってなくてワロタw
今まで最速の為ならコードは長くなっても構わないってのが俺の信条だったのに無駄だったでゴザルw

372:Name_Not_Found
12/03/15 17:51:34.78
>>370
えきました

373:Name_Not_Found
12/03/15 22:12:13.30
>>371
順番?

374:Name_Not_Found
12/03/15 22:23:53.71
>>357
ごちゃごちゃしてコードが汚くなってしまいましたが出来ました

375:Name_Not_Found
12/03/15 22:27:09.59
>>373
RegExpだろうがmarch(正規表現)だろうがキャッシュで
最初にやったのが遅くて二回目以降の処理は早くなるらしい
ブラウザによっては逆の場合(1回目が早くてそれ以降は遅い)もあるらしいけど

376:Name_Not_Found
12/03/15 22:57:04.59
3月かあ

377:Name_Not_Found
12/03/16 00:07:22.71
タイプミスの多い同僚のおかげで毎日デバグ残業

378:Name_Not_Found
12/03/16 00:48:41.47
つ乳力捕姦

379:Name_Not_Found
12/03/16 01:02:27.55
えっち

380:Name_Not_Found
12/03/16 08:12:09.63
>>377
お前もタイポしてんぞw

381:Name_Not_Found
12/03/16 08:40:38.00
今年も「あー、そこの正規表現はこうだねっ♪」って新入社員に教える時期が来るのか

382:Name_Not_Found
12/03/16 14:53:41.38
<div onclick="a(this)">test</div>
こういう風にしたときに
function a(){
alert(self);
}
でtestって文字列でアラート出したいのですが取れません

383:Name_Not_Found
12/03/16 15:09:03.04
innerHTML

384:Name_Not_Found
12/03/16 15:13:03.97
流石にこれは不勉強過ぎ、というかやる気がない
どこで覚えた知識使ってthis書いたの?
ヤケクソにしか見えないんだけど


385:Name_Not_Found
12/03/16 15:13:33.88
>>383
<div onclick="a(this.innerHTML)">test</div>
function a(s){
alert(s);
}
できました

386:Name_Not_Found
12/03/16 15:14:10.02
>>384
回答者>>>質問者>>>>越えられない壁>>>野次馬

387:Name_Not_Found
12/03/16 15:15:27.74
>>382-385
× innerHTML
○ textContent

388:Name_Not_Found
12/03/16 15:17:36.69
んまープロパティとメソッドについて勉強するべきだな

389:Name_Not_Found
12/03/16 15:20:14.94
textContentはFirefox限定

390:Name_Not_Found
12/03/16 15:33:57.83
こんな入門サンプルレベルのこと質問してたらいつまでたってもJavaScriptできるようにならないぞ
理解できない理屈もきちんと分かってないのに回答だけ知ってできた気になるのはまずい

391:Name_Not_Found
12/03/16 15:35:27.43
「何で調べればいいのか」を教えてあげるべきだねこういうのは
オブジェクトにはプロパティがあってー

392:Name_Not_Found
12/03/16 15:35:54.77
>>389
別のプロパティと勘違いしてね?

393:Name_Not_Found
12/03/16 15:37:09.78
いいんだよ別に。俺らは親でも教師でもなんでもねーんだから。
似たようなレベルの質問を乱発されても困るけどな。

394:Name_Not_Found
12/03/16 15:39:39.57
回答者にも責任はある。
それにこれを見て勘違いする質問者が出るかもしれないからきつくお灸を据えとかないとな。

395:Name_Not_Found
12/03/16 15:41:54.46
そいやーさ、俺がjavascriptはじめた時の入門書には
onclick="a()"のカッコ()内でスクリプト書かせるような事は書いてなかったんだが最近そういうのがデフォなのか?

396:Name_Not_Found
12/03/16 15:47:47.90
何かただ邪魔したいだけの池沼が荒らしてるな

397:Name_Not_Found
12/03/16 15:55:23.88
()の中が無くても常に[""]が付いてるのなら見たことある

398:Name_Not_Found
12/03/16 15:58:31.01
質問スレッドで偉そうな奴って定期的に現れるよね
質問するんでも無く回答するんでもなく、無意味なレスをするタイプ
リアルであまり人に相手にされてなくてネットで威張りたいだけかね
いじめられてるのは同情するがそれをネットに持ち込んで他人に迷惑は掛けるな

399:Name_Not_Found
12/03/16 16:01:17.86
初心者板で誘導してるからしょうがない。初心者嫌な奴は黙って見てればいい

400:Name_Not_Found
12/03/16 16:03:52.90
別に半年ROMれとか死ねとか言ってる訳じゃないしよくね?
○○勉強してから来いとか指摘してくれてる分ツンデレみたいなもんと認識してるんだが

401:Name_Not_Found
12/03/16 16:07:39.66
視野が狭い人ほど偉そうな言動するんだよ。

402:Name_Not_Found
12/03/16 16:28:40.42
jqueryでハッシュからボタンを複数個作成して、それぞれのclickに機能を割り当てて、
押されたボタンに対応した動作をさせたいのですが、どのボタンが押されたかはどうやって取得すればいいのでしょうか?
グリモン使ってるので、onclickでは難しそうです。

//コードコピペできない環境なので一部省略。
for(var key in hash){
//ボタン作成。idを"btn_"+keyに
$("#btn_"+key).click(function{
//ここでkeyを使った処理がしたい。
});
}

403:Name_Not_Found
12/03/16 16:34:45.45
id取得してそっからbtn_の部分削ればいいんじゃねー?

404:Name_Not_Found
12/03/16 16:39:59.18
clickのfunction内でidを取得する方法を教えてください
keyはnameにでもセットしておきます

405:Name_Not_Found
12/03/16 16:45:44.18
jQuery使ってんなら$(this)で自分のイロイロ取得
そんでそっからはattrというのを調べてきなさい

406:Name_Not_Found
12/03/16 16:50:55.55
できました。
ありがとうございます。

407:Name_Not_Found
12/03/16 21:14:07.44 KiRPuV9p
要素のスクロールを制御するにはどうすればいいでしょうか?
たとえば、ページの上側に横長のRSSがあって、その下にコンテンツがあるとしますよね。
そのとき、RSSを下までスクロールすると次はコンテンツがスクロールされるようになりますが、(スクロールの対象が移る)
これを防ぎたいと思っています。もしかしたらHTMLの属性の話になるのかもしれません。

408:Name_Not_Found
12/03/16 21:17:03.17
keyを使った処理 の部分をforの外に出す工夫をしようぜ。

409:Name_Not_Found
12/03/16 21:39:04.62
(null == "\0")がfalseなのは何故ですか?
あと\0ってreplaceで削除したほうがいいですか?

410:Name_Not_Found
12/03/16 22:00:07.88
>>407
同感で、CSSスレできけばすむ話だと思うよ。

411:Name_Not_Found
12/03/16 23:48:49.61
>>409
概念的な話だと、
NULL(エル2つ)は無効なオブジェクト、
NUL(エル1つ)は文字0。
まったく違う物だから、比較するのが間違い。

412:Name_Not_Found
12/03/17 01:39:04.23
>>409
"\0"はstring
nullと==で一致するのはnullとundefinedくらいか…?

413:Name_Not_Found
12/03/17 01:42:39.10
NaNはなんだっけか

414:Name_Not_Found
12/03/17 04:23:40.24
not a number

415:Name_Not_Found
12/03/17 04:33:24.29
but it's prototype is the Number.prototype.

416:Name_Not_Found
12/03/17 04:33:54.64
oh mistake...

417:Name_Not_Found
12/03/17 06:20:42.36
いやいやその解答は違うだろ!
「NaNはなんだっけか」「なんだよ」

418:Name_Not_Found
12/03/17 06:22:36.46
インド料理だろ

419:Name_Not_Found
12/03/17 09:46:58.17
lol

420:Name_Not_Found
12/03/17 11:05:42.85
chromeのコンソールで
ある要素に割り当てられたイベントを見る方法を教えてください

421:Name_Not_Found
12/03/17 12:05:39.10
デベロッパーツール -> Elements タブ(要素選択)

Properties - イベント属性
Event Listeners - DOM Event

422:Name_Not_Found
12/03/18 02:10:39.54
selectボックスを使用したフォームについて教えてください。

・ボックス1[特技]
(様々なオプションから特技を選択)
・ボックス2[歌]
(特技が選択されたらボックス2では歌・踊り等のオプションを選択可能に。)

これを、特技を選択→実行→ボックス2という形ではなく、
同一ページでブラウザを更新しないまま、特技が選択されたら次のボックスでは特技の種類を選択可能に、
と言う風にしたいのですが、どうしたらいいでしょうか?
教えてください、お願いします。

423:Name_Not_Found
12/03/18 02:33:20.01
>>422
changeイベント

424:Name_Not_Found
12/03/18 03:27:08.21
URLリンク(jsbin.com)
既に選択されてるのをキャンセルしないといけなかった

425:Name_Not_Found
12/03/18 04:43:12.38
var s1=new re.Abc("boy1");
s1.init();
var s1=new re.Abc("boy2");
s1.init();
var s1=new re.Abc("boy3");
s1.init();

としたら動かないと思ったのですが、何故か3つとも独立して
思い描いたとおりに動いてます。
変数s1は上書きされると思うのですが、何故正常に動くのでしょうか。

(3つとも正常な動きとは、id=boy1、boy2、boy3をクリックしたときに
それぞれ独立した挙動をするという意味です。)

426:Name_Not_Found
12/03/18 06:04:30.51 qIY6Mzj5
re = {

427:Name_Not_Found
12/03/18 06:23:58.46 qIY6Mzj5
>>425
質問するのに自分しか知らない情報でしか質問しないのはやめろw
おそらく↓みたいなコードなんだろ?

>function Abc(id){
> this.id = id;
>}
>Abc.prototype = {
> init:function(){
> document.getElementById(this.id).addEventListener('click',callback,false);
> },
> destroy:function(){
> document.getElementById(this.id).removeEventListener('click',callback,false);>
> }
>};
>function callback(){
> alert(this.innerHTML);
>}


>>変数s1は上書きされると思うのですが、何故正常に動くのでしょうか。
jsの変数ってのは型情報を持たないただの参照で、
new re.Abc("boy1")/new re.Abc("boy2")/new re.Abc("boy3")のインスタンスはjsランタイムの中で生きてるから、”正常に動く”ように見える。
変数s1はあくまでインスタンスを操作(initメソッド呼ぶとか)するための参照にすぎない。
↑のコードのdestroyが呼べなくなるが、使い捨てならそれでもいいんじゃね?w

428:Name_Not_Found
12/03/18 09:15:43.24
>>425
あんたのそのコード、
new re.Abc("boy1").init();
でも動くんでしょ。つまり変数s1なんてどうでもいいってことだよね。

429:Name_Not_Found
12/03/18 13:00:15.43
何故prototypeを一つにまとめてオブジェクト指向に書くのがメモリの効率がいいんですか?

430:Name_Not_Found
12/03/18 13:35:42.06
URLリンク(www.bennadel.com)

431:Name_Not_Found
12/03/18 13:47:14.86 qIY6Mzj5
function A(){

432:Name_Not_Found
12/03/18 14:18:46.23
それぞれのオブジェクトが同じ関数を共有してるのと、
それぞれのオブジェクトが同じ動作をする関数をそれぞれ持ってるのと、の違い

固定電話一個だけ持ってるのが前者で
各自で携帯電話を持ってるのが後者

433:Name_Not_Found
12/03/18 15:15:22.87
つまり前者はESαで検討中の非同期構文系を使うと競合して多少パフォーマンス落ちるかもってこと?
一長一短だな

434:Name_Not_Found
12/03/18 15:46:54.91
mutexが必要な処理ならそうなるだろうな

435:425
12/03/18 15:55:35.38
ありがとうございました。

436:Name_Not_Found
12/03/18 16:44:25.39
URLリンク(www.nikkeibp.co.jp)
この解答おかしくね?
ローカルストレージってドメインとか毎に独立でしょ?

437:Name_Not_Found
12/03/18 17:32:47.02
>>436
まさにお前みたいな人間の為の問題なんだろう。
勉強になってよかったな。

438:Name_Not_Found
12/03/18 17:36:29.05
回答番号3はSameOriginPolicyを無視してるね。
だから「サイト」の定義によるんだけど、あえて選ぶなら2番じゃないかな。

439:Name_Not_Found
12/03/18 17:39:36.68
プ

440:Name_Not_Found
12/03/18 17:44:56.35
同じ名前でもドメインごとに保存できるけどな
ブラウザが暗にドメインごとに分けてるだけなのか?

441:Name_Not_Found
12/03/18 18:05:28.60
>>440
同一生成元ポリシーは理解しておいたほうがいい。

442:Name_Not_Found
12/03/18 18:26:24.04
1番、3番は100%間違い、2番はサイトの定義による。よって2番でしょうな。
少なくとも答えを3番とする解説は大間違いだし書いた人はこれっぽっちも分かってない。
単にローカルストレージが分かってないレベルじゃなくて、おそらく基本原則の常識が理解できてない。

443:Name_Not_Found
12/03/18 18:42:17.95
解説からリンクされてる記事ではちゃんと説明してるのに…どうしてこうなった…

444:Name_Not_Found
12/03/18 18:45:25.83
var hage=1,hoge=2,huge=3とあります。
get('hage');
としたときに1が帰ってくるようにしたいのですが、うまくできません。
function get(){
return arguments[0];
}

445:Name_Not_Found
12/03/18 20:48:38.33
禿が求められたと聞いて、スカトロ板からスッ飛んできますた。

446:Name_Not_Found
12/03/18 21:31:59.36
DOM空間におけるグローバル変数は全てwindowのプロパティとなる
つまりwindow['unkotintin']の形でアクセス出来る
あとは自分で考えろ

447:Name_Not_Found
12/03/18 21:35:03.54
dom関係あんの?

448:Name_Not_Found
12/03/18 21:45:22.18
get(hage);

449:Name_Not_Found
12/03/18 21:47:07.89
>>447
DOMが根っこに無いJavaScript環境だってあるわけで。
例えば今流行りのnode.jsとかな。

450:Name_Not_Found
12/03/18 23:31:55.58
window の代わりに thisつかえばいい。でも場所には注意な。

451:Name_Not_Found
12/03/18 23:55:25.04
var obj3=['A', 'K', 'B'];
for(var t=0;t<3;t++){
var ss=obj3[t];
alert(ss);
}
ってした時にjs Lintではエラーにならないのは何故ですか?
実行すると変数ssが3回、宣言されることになり
エラーになると思うのですが。

452:Name_Not_Found
12/03/19 00:42:35.01
宣言は一回だよ

453:Name_Not_Found
12/03/19 01:49:29.42
for() {
    var a =
}
これと
var a;
for() {
    a = 
}
は、ほぼ等価

454:Name_Not_Found
12/03/19 01:54:24.63
おや、48回繰り返したらjslintの様子が・・・?

455:Name_Not_Found
12/03/20 16:37:58.14 jJaWvQWv
ブログパーツを作りたいと思ってます
イメージとしては、別サイトに書いてある自分の読書のリストを
また別のブログやサイトのサイドバーに表示するものです
読書のリストにアクセスするサーバサイドプログラムは用意されてて、
URLリンク(example.com)自分のID です
この時に、ブログ側にはどう記述したらいいでしょうか?
調べたところでは、一つの方法として
<script type="text/javascript" src="URLリンク(example.com)" />
としてlist.php側でtext/javascriptをヘッダにして一覧出力する方法を見つけましたが
それ以外には方法ないでしょうか?

スクリプトを貼る人間(webに詳しくない一般人)の負担にならない程度の難易度で、
もっといいやり方、別の方法があれば教えて欲しいです。よろしくお願いします
(前述のやり方で納得してない理由は、参考にした記事がずいぶん古いので
その後もっと良い方法があったんじゃないかな?という程度です)

456:455
12/03/20 16:44:36.81
すみません、適当書いてました
phpで出力するヘッダは
header("Content-type: application/x-javascript");
でした

457:Name_Not_Found
12/03/20 18:28:38.40
× application/x-javascript
○ application/javascript; charset=UTF-8

458:Name_Not_Found
12/03/20 18:46:40.24
iframeにしておいたほうが無難
サイトによってスタイル指定違うしブロックしやすい

459:Name_Not_Found
12/03/20 18:49:37.71
plain/textでいいだろ
Content-Typeの指定なんてPHP側じゃ不要じゃね?

460:Name_Not_Found
12/03/20 18:53:09.76
plain/textってなんだよw

461:Name_Not_Found
12/03/20 19:07:10.68
text/plainかプレーンテキストで覚えてるからその順番に書いちまったZE

462:Name_Not_Found
12/03/20 19:12:30.84
IANA | MIME Media Types
URLリンク(www.iana.org)

text/javascript(obsolete)
text/ecmascript(obsolete)
application/javascript
application/ecmascript

463:Name_Not_Found
12/03/20 19:31:08.73
俺は今日までPerlやPHPはJSONやらXMLでやらでデータだけ吐いて、
表示なんかは全部JavaScriptでするのが美しいと思っていた。
けど、今日その考えを打ち砕かれた。
IEのJavaScriptエンジンの糞さに絶望した

464:Name_Not_Found
12/03/20 19:56:00.41
互換性考えたらtext/plainでいいよ
これは実質的にオールマイティに使える物だから
headerは変わったのを出力しないのが大事

465:Name_Not_Found
12/03/20 20:06:04.88
互換性考えたらapplication/ecmascriptだろ

466:455
12/03/20 20:14:54.79
皆さんありがとうございます
またいろんなサイトで調べてたんですが、Content-typeはtext/plainでもapplication/x-javascriptでも
何でも良い(ブラウザはチェックしない)なんて記事を見つけて「?」て気分です
>>457さんが書いている文字コードはどうすべきでしょうか
指定しなくても大丈夫なんでしょうか

467:Name_Not_Found
12/03/20 20:18:52.56
ブラウザは基本はチェックしないよ。
だから一応無難なtext/~とかにしといたらいい。
文字コードは一言じゃ言えないからバグったらその時また考えなさい。

468:Name_Not_Found
12/03/20 20:22:01.70
間違ったタイプ付けるのは無難じゃねぇ
どうせ変わらんなら正しいの付けときなはれ

469:Name_Not_Found
12/03/20 20:30:02.63
applicationタイプを受け付けないIEが全て悪い

470:Name_Not_Found
12/03/20 20:32:53.13
text/*は別に間違ってはなくね?
stream/*とかだと大間違いだが
application/*は正解かもしれないけど現実的にベストじゃないと思うなぁ

471:Name_Not_Found
12/03/20 20:35:25.86
ここから濃厚な議論が始まります……




でわ…






どうぞ!!
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

472:Name_Not_Found
12/03/20 20:53:50.26
RFCに従うのが真のシュミグラマ

473:Name_Not_Found
12/03/20 21:00:06.66
IEでも別に問題ないだろ
HTML5で書けば

474:Name_Not_Found
12/03/20 21:02:05.61
間をとってtext/javascriptでいいよ、うん、これが無難

475:Name_Not_Found
12/03/20 21:04:42.34
application/javascriptを避ける必要はAjaxで旧IE用の処理を書く必要と同程度にはある。


476:Name_Not_Found
12/03/20 21:09:37.77
プロフェッショナルに対してアマチュアだし
プログラムのプロとプロフェッショナルのプロをかけて
シュミグラマじゃなくアマグラマって呼ぶほうがしっくりくる

477:Name_Not_Found
12/03/20 21:16:46.36
まあHTML5のデフォルトがtextだしな。廃止されてるけど

478:455
12/03/20 21:44:45.34
あー、IEがapplication/***を受け付けないんですか
勉強になりました、皆さんどうもありがとうございました

479:Name_Not_Found
12/03/21 08:56:07.51
>>463
JSエンジンってパフォーマンス悪いのばっかで、やっとまともな
JSエンジンを備えたブラウザが2008年のグーグルクロームって本に載ってた。


480:Name_Not_Found
12/03/21 10:13:31.49
ieも7以降ならまだマシ
7もcss周りは地獄
6対応は死ねる
実質8以降だな使いものになるのは

481:Name_Not_Found
12/03/21 11:04:10.14
>>423どうも

482:Name_Not_Found
12/03/21 11:18:40.00
もうIE6と7は切り捨てろ、マジで
会社で使わされてるとか言っても知るかボケで片付けろ

483:Name_Not_Found
12/03/21 11:25:36.16
だからさぁ…IE云々とかいう問題以前にこれからは家電などのあらゆる機器に搭載された
あらゆるブラウザで最低限サイトが機能するように作るのがMustなの


484:Name_Not_Found
12/03/21 12:23:41.04
IE6と7はもうすぐ絶滅する
8も数年後Windows XPと一緒に死ぬ
そうなればゲーム機だろうが家電だろうが何でも来いだ
標準から外れたレガシーなコード書いてると全部無駄になるぞ
いつまでも古いIEに対応して甘やかすとそういう未来はどんどん遠のく

485:Name_Not_Found
12/03/21 13:02:57.82
さっさとXPを死滅させてIE8までをこの世から消してくれ
そしてIE9への対応は2017までだからIE9ベースでやってりゃいいことになる
IE9ならaddEventListenar持つかえるから問題ない

486:Name_Not_Found
12/03/21 13:05:31.24
IE9はHTML5対応してるからいいんだが
更にこの上が出てきたら今度はIE9が足引っ張るんだろうな、歴史は繰り返すエンドレスワルツ

487:Name_Not_Found
12/03/21 13:07:00.78
何格好つけた事言ってんだ

488:Name_Not_Found
12/03/21 13:08:09.70
googleのプラグインがあるからそんなことない

489:Name_Not_Found
12/03/21 13:12:19.45
XP死滅はあと10年は無理だろう

490:Name_Not_Found
12/03/21 13:14:50.79
俺という凡人の発想力では非同期通信、HTML5(改良)、jQueryでもうHTMLはこれ以上の進化ないんじゃね?と思ってるんだが
近未来的な予想されてる技術とかほかにあったりするの?

491:Name_Not_Found
12/03/21 13:56:20.10
コアHTMLの話だとインプット要素をもうちょい拡張するとか、時代が進めば進むほど絶えず細々出てくる
まあウェブアプリをいろんな形で実現させるに当たって改良しないといけないところはあるな
HTMLに乗るCSSやらSVGやらも完璧ではない

だがしかし、一番進化しないといけないのはJS
とりあえず64bit整数作れよ、オセロ高速化するの大変ダロウが


492:Name_Not_Found
12/03/21 14:05:55.44
JSが64bitになったらHTML5もスマフォでススイのスイなのかな?
今まではプロセッサの問題があったから32bitだったけど
林檎が脱flash脱flash言ってたから友達のiPhoneでHTML5動かしたらとてもじゃないが実用性があるとは言えたもんじゃなかったし

493:Name_Not_Found
12/03/21 14:32:49.94
>>492
お前と俺とではまず考えてることが違う

お前さんが思ってるであろう縁の下の力持ち的のJSで遅いっていうのは
DOM操作やらCanvasやら正直JSコアは関係ない部分の影響が大きい

俺が思ってるのはゲームなんかのアルゴリズム、思考ルーチン何かにて
配列の変わりにbit演算を使った高速化の話しだ

32bitで64マスを扱うより64bitで64マスを扱う方が高速なのはもちろん遥かに、遥かに簡単になる

他にもいろいろ恩恵はある
本当は見せかけでもいいから1024bitくらいまで入れて欲しい
自分で見せかけるのは速度の前にめっちゃ大変だから

494:Name_Not_Found
12/03/21 14:37:36.67
まぁブラウザ上での高速化はブラウザ戦争に任せるしかねーな

495:Name_Not_Found
12/03/21 16:52:45.62
今から俺がブラウザ作るからお前ら対応しろよ
独自エンジンで組み込んでやるからよ

496:Name_Not_Found
12/03/21 16:57:16.25
シェアを1%でも取れるなら対応してあげるよ

497:Name_Not_Found
12/03/21 16:58:44.60
日本からシャア1%でもとれるブラウザ出たら誇りだなぁ

498:Name_Not_Found
12/03/21 18:02:10.26
>>497
日本のwebユーザーを増やしてガラパゴス化させれば…

499:Name_Not_Found
12/03/21 18:11:01.05
日本ブラウザー逆襲のシャア

500:Name_Not_Found
12/03/21 19:14:08.65
>>493
128bitから1024bit整数が使える言語ってある?
あるのならブラウザの拡張でインターフェイス作ってやればいいと思うけど

501:Name_Not_Found
12/03/21 19:29:56.34
>>493
>32bitで64マスを扱うより64bitで64マスを扱う方が高速なのはもちろん遥かに、遥かに簡単になる
ちとピンとこないな。
っつーか、「16bitの漢字は16bitのパソコンでないと扱えない」みたいな勘違い臭がする。

502:Name_Not_Found
12/03/21 19:31:00.18
JS的に考えると、内部で自動的に型を変換して、処理速度とメモリが許すまで無限に大きい数を扱えるようにして欲しい。
現状でも特定の変数を32bit浮動少数型からより小さい整数型にしたりして勝手に高速化したりしてるんだからそれくらいできるはず。

503:Name_Not_Found
12/03/21 19:36:55.32 YCMMZm+f
>>493
だからオセロなのかw

504:Name_Not_Found
12/03/21 20:01:26.32
>>501
JavaScriptではbit演算は32bit整数扱いになる

各ビット、(または何ビットかずつ)でマスの状態を表す事で
演算一回全てのマスにで効果を与える事ができて、
何回かの単純な演算をするだけで目的の効果を全てのマスに与えられる
これは配列でループ的なものを使ってやるより普通ビックリするくらい究極に早い
いわゆるパターンマッチは(場合によってトリッキー(繁雑)になるが)もう配列より遥かに得意
なにより演算だけでなく参照もarray[n10]よりint&n2の方が早い
ライフゲームとかだともう天と地ほど違う
おまけでメモリ消費量も少ない

8x8マスのオセロ(色んな箇所でbit演算が非常に有効)でやろうとすると64ビット必要
これを32ビット×2でやると桁溢れ等の始末や、
どちら、または両方のどの位置同士を演算するかを求める演算が別個にいる
演算を補助するためにそれより多く演算がいるんだから数倍から下手すると十倍くらい
パフォーマンスが下がる上に非常に面倒な処理を書かなくてはいけなくなる

505:Name_Not_Found
12/03/21 20:13:18.24
盤上のオセロの状態って、石無し、黒石、白石、の3状態だから1マスにつき2bitの情報量が必要じゃねの?

506:Name_Not_Found
12/03/21 20:14:38.89
8*8*2=128bit

507:Name_Not_Found
12/03/21 20:16:04.89
>>504
ビットきっちりのデータ構造よりも、1セル1バイトや1ワードの方が
特定ビットを取り出す演算がない分、すっきり書けるよ。
オセロもライフゲームも、書いた事ないでしょ。
経験者の発言とはちょっと思えない。

508:Name_Not_Found
12/03/21 20:20:31.40
>>505
ベテランの504さんが1bitで出来るつってんだから出来るだろ

509:Name_Not_Found
12/03/21 20:22:21.86
C+で作ったときは白他、黒他、有無の3つ64bit用意して使うたな。
128bitで2bitずつ使うのはこれよりどれだけ楽になるのか。
奇数を有無、偶数を白黒とかにする…?
うむ???

510:Name_Not_Found
12/03/21 20:25:17.61
64bitを3つだと1マスにつき3bit使ってることになるが・・・

511:Name_Not_Found
12/03/21 20:29:16.18
>>507
オセロ、将棋、囲碁、ライフゲーム、○×、五目並べといろいろ作ってるよ
オセロで64ビットでできるというのは間違えてた
一番昔にオセロ、直近にライフゲーム作ってビット演算で悩んでたから混乱してたわスマン
でも>>509のやり方でできるのか?

512:Name_Not_Found
12/03/21 20:29:21.12
使用メモリ量を減らすことと、処理速度を上げること、トレードオフであるから用途に合わせて好きなようになさい

513:Name_Not_Found
12/03/21 20:31:40.01
配列とビット演算ならどちらもビット演算の勝ちじゃないの?

514:Name_Not_Found
12/03/21 20:32:56.20
ビット演算がいいのはコピーが早いこと。
これは配列がどう足掻いても勝てない。

515:Name_Not_Found
12/03/21 20:36:32.41
>>510
64bitまでしかないからね。
128bit実装するのはJSよりは現実的にできるけど。

516:Name_Not_Found
12/03/21 20:37:10.85
>>511
囲碁のプログラミングは難しいだろ、すげーな。
でも、『GNU GO』みたいなdilation/erosionをするには、
1ビット(又は2ビット)じゃ足りないよね。
どうやってビット単位で?

517:Name_Not_Found
12/03/21 20:44:33.34
ネット弁慶の机上の空論なんだから>>501で正解。
そう言えば、「丘サーファー」みたいに「振りだけのプログラマ」を指す
短い言葉ってあるのかな。

518:Name_Not_Found
12/03/21 20:44:38.08 YCMMZm+f
>>514
検索も速いような気がしてきた

519:Name_Not_Found
12/03/21 20:44:56.70
お前らすごいね
大学や専門学校でプログラム勉強してCとかさんざやったあと
javascriptの世界に来たの?

520:Name_Not_Found
12/03/21 20:47:15.95
俺はニワカ知識でjavascriptやって状況に応じてC++とかやってたらいつの間にか知ってたな
大学の情報とか専門行ってたやつと比べると穴だらけだが

521:Name_Not_Found
12/03/21 20:51:36.63
Cは学生時代にやった。
今はプログラミング言語はPerlととJavaScriptとVBAしか使わない自称社内SE。
比率は7:2:1くらいか。


522:Name_Not_Found
12/03/21 20:53:38.20
>>516
お前さんが何を言ってるのかちんぷんかんぷん
思い出してみたらbit演算を本気でやろうとしてたのはライフゲームだけで
あとは特にオセロ何かでは配列の変わりに文字列を使えないか悩んでたんだったわ
それでごっちゃになってた、スマン
囲碁が難しいってCOMのAIの話か?
そんなの9路で素人の自分にも負けるようなしょぼいのしか作れんわ
スマホがメインだから処理がきつくてきつくてな……
オセロはスマホでもそこらの奴らには負けなくなったけど
囲碁はちょうど今モンテカルロ系を知って作ってみようかってところ

523:Name_Not_Found
12/03/21 20:55:37.02 YCMMZm+f
学校でちゃんと習ったのは、大学の一般教養でCのポインタまでと
研究室で院生に教わったアセンブラでDSPを動かしてたくらい

あ、小学校のときBASICを独学した
というか本に載ってるプログラムを丸写しがほとんどだったなw

524:Name_Not_Found
12/03/21 20:56:47.63
さっきから、自己の主張を否定する事をよく「思い出す」な。

525:Name_Not_Found
12/03/21 20:58:18.56
>>524
本当にスマンかった
その通りだ申し訳ない

526:Name_Not_Found
12/03/21 21:54:53.24
var fade = function (node) {
var level = 1;
var step = function ( ) {
var hex = level.toString(16);
node.style.backgroundColor = '#FFFF' + hex + hex;
if (level < 15) {
level += 1;
setTimeout(step, 100);
}
};
//setTimeout(step, 100);//Javascript Good partsの記述
step();//これでも挙動が同じ
};
fade(document.body);

good partsにクロージャのサンプルとして背景を黄色から白色に
徐々に変えていくとコードが載ってましたが、
setTimeout(step, 100);である必要ってのが理解できません。
step()でも全く問題なく同じ挙動しているようにみえるのですが、
教えてください。

527:Name_Not_Found
12/03/21 22:26:57.71
同じ挙動に「見える」だけで、同じじゃないだろ。

逆に、setTimeoutって何よ?

528:Name_Not_Found
12/03/21 22:44:13.74
質問させて下さい

ブログでランダム記事を作成したいと思っています

<script type="text/javascript"><!--
function GetRandomNumber() {
var randnum = Math.floor( Math.random() * 100 );
document.getElementById("sample").innerHTML = randnum;
}
// --></script>
<p>
<input type="button" value="ランダムな番号を選ぶ" onclick="GetRandomNumber();">
</p>
<p>
ランダムに選ばれた番号: <span id="sample">***</span>
</p>

この * 100 の部分にURLをいれればいいのでしょうか?

529:Name_Not_Found
12/03/21 22:51:24.04
>>528
なんかもう、ぜんぜん分かってないじゃないか・・・
お前には無理だやめとけ

530:Name_Not_Found
12/03/21 22:51:38.47
なんだよURLって、記事のURLだとは思うが
記事のURLがどんなのなのかわからねぇよ

URLリンク(blog)、/kiji100.htmlとかだったら
"kiji"+ランダムの数字+".html"になるけど

531:Name_Not_Found
12/03/21 22:56:21.33
>>529-530
すいません、ずぶの素人ですT-T

使用しているのはライブドアブログで

URLはURLリンク(blog.livedoor.jp)○○○/archives/3302814.html

このようになっています

ランダムで3302814.htmlこの部分を他のアーカイブ数字に変更したいんです

532:Name_Not_Found
12/03/21 23:03:22.56
んじゃそのアーカイブ数字はいくつからいくつまでが存在して、いくつからいくつまでを指定すんのよという話に

533:Name_Not_Found
12/03/21 23:06:52.04
>>532
ここの数字を完全にランダムにしてしまうと

他の人のブログに飛んでしまいますんで

自分のブログ内でのランダムにしたいんです

説明が下手で申し訳ないです

534:Name_Not_Found
12/03/21 23:09:49.46 YCMMZm+f
>>533
じゃあまずその数字の規則性を見つけないと

535:Name_Not_Found
12/03/21 23:10:39.81 YCMMZm+f
ああ、途中で・・・

規則性がないなら、自分の番号だけを配列に入れておこう

536:Name_Not_Found
12/03/21 23:14:39.03
>>535
この場合は、自分のURL全体をランダムにするより

数字だけをランダムに入れた方が

表示は軽くなりますよね?

537:Name_Not_Found
12/03/21 23:18:34.27
自分のブログのRSSを取得して配列にぶち込む
ぶち込んだ配列の最大長までのランダムなキーを生成
配列からデータ取り出して、記事URLへリダイレクト

これが理解できないなら無理
以下次の質問へ

538:Name_Not_Found
12/03/21 23:21:10.11
>>537
ヒントいただき有り難うございます!
頑張ります!

539:Name_Not_Found
12/03/21 23:31:40.69
RSSってなんだそりゃー
もはやjavascript関係ねー

540:Name_Not_Found
12/03/21 23:35:11.29
>>536
さして変わらんと思うよ
俺なら全部入れとくと思う

541:Name_Not_Found
12/03/21 23:37:38.91
えー、xhrの出番だろ?モロにJSじゃないかJK

542:Name_Not_Found
12/03/22 00:44:00.55
てかlivedoorのブログってその記事番号変えただけで人のブログになるような仕様になってんの?
そんなアホな

543:Name_Not_Found
12/03/22 06:22:46.34
ウェブ上で科学計算が出来るページを作りたいのですが
その計算に使われるデータが膨大になり,スクリプト本体ではなく
サーバ上のデータファイルにアクセスするような仕様にしたい場合は
Javascriptでは厳しいでしょうか?
別の言語でCGIを利用すべきですか?

544:Name_Not_Found
12/03/22 07:23:56.86
>>543
ちょっと何言ってんのかわかんない
ってか、質問者の日本語が分からないのが多いんですけど

545:Name_Not_Found
12/03/22 07:58:04.95
CGIで計算XHRで入出力か、全部JSでやるかって事だろ
そんなんどっちがいいか状況に合わせて考えることで一概にには言えない

546:Name_Not_Found
12/03/22 08:45:59.34
>>543
普通はcgi
JSでやるにしてもサーバー側でのプログラミングも必要だしデータのマージ処理も大変面倒
ただサーバー側が重くなるので限界はある
完全に分散処理でweb上で行いたいならJSでもいいんじゃね?

547:Name_Not_Found
12/03/22 08:47:30.08
どちらにせよブラウザがギブアップして処理を中断すると予想

548:Name_Not_Found
12/03/22 08:59:08.65
そんな処理なら並のPCのCGIでやらせたらも危険だから逆にブラウザでやらせるべきだな
Workerとか使ってさ

549:Name_Not_Found
12/03/22 09:20:38.46
JSで分散コンピューティングか。面白そうだ。
Nodeとか使えばJSオンリーでいけるよ。

550:Name_Not_Found
12/03/22 09:28:18.00
別に分散コンピューティングとは決まってないが

551:Name_Not_Found
12/03/22 09:40:13.91
やった!やったよ (´;ω;`)

男性型脱毛症の原因はタンパク質、除去すれば再び豊かな毛髪 - Bloomberg
URLリンク(www.bloomberg.co.jp)

552:Name_Not_Found
12/03/22 13:03:05.06
>>543
処理内容によっては必要ないデータをスクリプト外に出したいって話なら
jsonやjsonp、あるいはXMLにすればいい
ただし非同期な処理になるのでそこらへんは考慮すること

553:Name_Not_Found
12/03/22 13:04:01.56
にしてもお前ら要件定義下手糞だな

554:Name_Not_Found
12/03/22 13:43:15.49
質問も下手すぎだろ

555:Name_Not_Found
12/03/22 13:49:18.60 iBo2DReU
得てして、本当は何がしたいのかを簡潔に説明出来る人って
なかなかいないよね、ITに限らず
義務教育の国語でその辺をしっかりやればいいのに

556:Name_Not_Found
12/03/22 22:22:42.27 /XSCPDeP
質問させてください。

var Sample = (function(){

var Func1 = {
run : function() {
alert('run');
}
}

});

のようなクラスがあり、これを継承したものを以下のように作り、

Sample2 = Object.extend(Sample, function(){
});

下記のようなメソッドを定義して
Sample2.alert_run = function() {
Func1.run()
}

Sample2.alert_runを実行した場合、
Func.run() の行で Func1は定義されていないといったエラーになってしまいます。
(Object.extend はおそらくprototype.jsの機能だと思います)

こういったコードの場合に親クラスのFunc1オブジェクトを子クラスから参照できるようにするには
どのように書けばよいでしょうか。

教えていただけますと嬉しいです

557:Name_Not_Found
12/03/22 22:56:08.50
Sampleの値確認しろ。

558:Name_Not_Found
12/03/22 23:13:00.86 iBo2DReU
var Sample = Class.create();
Sample.prototype = {
  initialize : function(n){ this.name = n; },
  run : function(){ alert(this.name); }
};

var Sample2 = Object.extend(new Sample,{
  initialize : function(n){ this.name = n; },
  alert_run : function(){ this.run(); }
});

var s1 = new Sample("うめ");
s1.run(); // うめ

var s2 = new Sample2("さくら");
s2.run(); // さくら
s2.alert_run(); // さくら


こんな感じで
継承されたっつーことは、自分の持ちもんになった的な

559:Name_Not_Found
12/03/22 23:14:05.08
継承とかクラスとか、それっぽいこと書いてるけど

var Func1... の時点でもうねぇ。

var Sample = (function(){
var Func1 = {
run : function() {
alert('run');
}
}
return Func1;
});

var Sample2 = Sample();
Sample2.run();

これでいいだろ。

560:558
12/03/22 23:18:58.73 iBo2DReU
>>558わかりづらすぎたごめんなさい


var Sample = Class.create();
Sample.prototype = {
  initialize : function(n){ this.name = n; },
  run : function(){ alert(this.name + "AAA"); } // これはSampleのrunメソッド
};

var Sample2 = Object.extend(new Sample,{
  initialize : function(n){ this.name = n; },
  run : function(){ alert(this.name + "BBB"); }, // これはSample2のrunメソッド
  alert_run : function(){ Sample.prototype.run.apply(this); } // これもSample2のメソッドだがSampleのrunを呼んでる
});

var s1 = new Sample("うめ");
s1.run(); // うめAAA

var s2 = new Sample2("さくら");
s2.run(); // さくらBBB
s2.alert_run(); // さくらAAA



561:Name_Not_Found
12/03/23 04:04:53.08 nsoPDskq
>>560
なんでprototype.jsが用意したprototypeを破壊してんだよw

var Sample = Class.create({
  initialize : function(n){ this.name = n; },
  run : function(){ alert(this.name); },

  override_test_method :function(){ alert('based:'+this.name); } //基底クラスのメソッド
});

var Sample2 = Class.create(Sample,{
  initialize : function(n){ this.name = n; },
  alert_run : function(){ this.run(); },

  override_test_method :function($super){ $super(); alert('drived:'+this.name); } //継承クラスのメソッド
});


562:Name_Not_Found
12/03/23 04:52:44.90
URLリンク(news.nicovideo.jp)
こういう事件ってIE6みたいな古い環境でデータベース管理してるからこういう事起きるんだろうな。

563:Name_Not_Found
12/03/23 05:28:53.75
板違いなわけだがニコ厨にそれ言っても無駄か
ついでに言うと環境だけのせいじゃない
例えばSQLインジェクションが発生するのは大抵フロントエンドのせいだろ

564:Name_Not_Found
12/03/23 07:13:26.54
JavaScriptから入った俺としてはもうJavaScript5年やってその意味は理解できてるんだが、
擬似クラスを用いた継承をわざわざ積極的にしようとすることの有効性が未だにわからない。

狙わなくても自然とそれっぽく組んでしまうときもたまにあるけど、
普通そんな書き方よりいいというか、JavaScriptぽい素直な書き方はあるよ。

わざわざクラスっぽいのを使いたがる、クラスを使ってることにしたがる理由は何だろう?

565:Name_Not_Found
12/03/23 07:46:16.85 nsoPDskq
>>569
javascriptっぽいってなに?
疑似クラスを用いた継承ってのもjavascriptに包含されてる機能じゃないの?

566:Name_Not_Found
12/03/23 08:00:17.91
俺が理解できないものは素直な書き方じゃないって言いたいのだろう。

567:Name_Not_Found
12/03/23 08:00:29.62
俺が理解できないものは素直な書き方じゃないって言いたいのだろう。

568:Name_Not_Found
12/03/23 08:20:31.30
>>565
その通り何だけど実際そうじゃないじゃん?
JAVAみたいなクラスを実現することに凝る人が多いことに違和感を感じてるってこと

569:Name_Not_Found
12/03/23 08:44:32.37
>>568
簡単でいいからコード書いてみて。

570:Name_Not_Found
12/03/23 08:47:06.33
移植や多言語との連携があるなら、
それらとの親和性を大事にする事だってあるんじゃないかな。

571:Name_Not_Found
12/03/23 08:50:52.47
俺はサーバサイド(java,php)長年やって
ここ2年くらいUI側でJavaScriptだけど
UI側ではクラスは使わないな。
UI描画と入力、バリデーションを
極力シンプルにやらせてる。
サーバとのやりとりはJSONのPOSTのみ。
複雑な処理はサーバで。

572:Name_Not_Found
12/03/23 08:59:37.08
>>569
書いてみてって?
そもそも自分が普通に書いててクラスが必要になった事がほとんどないから
そんなにJAVAっぽいクラスに凝る必要があるのか疑問なんだ
ニューラルネットワークの実験したときくらいかな、意図的にそういうクラス目指したの

573:Name_Not_Found
12/03/23 09:13:43.76
>>572
普段書いているクラスと"JAVAっぽいクラス"の違いがよく分からないから、コードで示してほしいなと。

574:Name_Not_Found
12/03/23 09:24:53.25
え、ニュアンスが伝わらなかった?
JavaScriptにはクラスはない、継承の仕組みもない
それなのにそれらを擬似的に再現したものを、
まるで配列やオブジェクトのように元からあって
当たり前のように扱うことに凝る風習に違和感を感じるって言ってるの
クラスを作ろうと凝って擬似クラス形Aにたどり着いて、
(あたかも元から正式にJSに仕組みが整っているかのように)
ちゃんとクラスを作ったぞ!って考えるのに違和感を感じてるの
目的の事を成し遂げるためにJavaScriptの構文を組み合わせて、
それがたまたま形Aになることはあるけどねって言ってる
要はJAVAみたいな所謂『クラス』はJSにはねーよ!勘違いすんなっ!って言いたいの

575:Name_Not_Found
12/03/23 09:38:21.43
>>574
大規模開発の経験が無いんじゃないかな。

576:Name_Not_Found
12/03/23 09:51:22.76
大規模って言えるものは無いかな?あるかな?
開発に15人くらいのプログラマが関わるのが大規模って言うならならあるんだけど
クラス?
一人もそんな言葉自分から言い出した奴は多分いなかったね
俺主導で俺がJS教えた奴らばかりだったからかもだけど?
まあそれがニューラルネットワクの話でクラス使うんだけどね


577:Name_Not_Found
12/03/23 10:12:41.28
>>576
ある程度の規模になってくると足並みを揃えることが大切だよね。
そういう意味では576は自分が主導する立場に立つことで足並みを揃えられた訳だけど、
世界一般で考えると、やっぱりクラスベースなんだよね。オブジェクト指向の支えもあってね。

"凝った"と批判するけども、サイ本に紹介されるようなクラス定義であれば特別凝った方法だとは思わないし、
それで開発の基盤を築けるならもう使うしか無いよね。たとえばドキュメントなんかもそう。ある程度はっきりとした
"クラスとはなにか”が定義されていないと、今のようなウェブアプリ開発なんてやっていけない。

書き込みを読んでていても、いまいちJSのクラスを批判する理由が分からない。

578:Name_Not_Found
12/03/23 10:15:24.24 nsoPDskq
>>574
javascriptには↓のようにクラスも継承も仕組みとしてはあるぞ。
別に擬似的に再現してるわけじゃないんじゃね?
言語の能力を抑制して開発するのも悪いことじゃないから攻めはしないが。。。


>function Base(arg){
> this.arg = arg;
>}
>Drive.prototype.methodA = function(){
> alert('Base.methodA:'+this.arg);
>}
>
>function Drive(arg){
> Base.apply(this,arg);
>}
>Drive.prototype = new Base;
>Drive.prototype.constructor = Drive;
>Drive.prototype.methodB = function(){
> alert('Drive.methodB:'+this.arg);
>}


579:Name_Not_Found
12/03/23 10:22:47.22
ああ悪かったprototypeを使ったやり方にケチ付けてるんじゃ無いんだ
だがそれは元々言語仕様としてクラスからそれ繋がりで継承が抜群に定義されてる言語でいうクラスとは違う
見せかけのクラスだ、もちろんそれを分かって使うのは素晴らしいことだ


580:Name_Not_Found
12/03/23 10:37:46.51
それが「見せかけのクラス」だっていう考え方がそもそも違うな
JSでOOPするにはこうしますっていうJSなりの自然なやり方を
お前みたいなアンポンタンにも分かりやすく教えるために
「つまりこれはクラスみたいなもんですよね」って言ってるだけだ

581:Name_Not_Found
12/03/23 10:45:21.60
だからクラスみたいなものと思うのは良いっすよ
だってクラスみたいなものなのは間違いないじゃない
つうか構造上は実質クラスだし?いやクラスだから

そういう事じゃなくて…………
JSにはクラスという機構があるみたいに思ってそれに凝る風習があるのに違和感感じてるんですよ

582:556
12/03/23 11:30:25.16 YJLrIXia
レス色々ありがとうございます。

訳あって
var Func1
の部分を変えることができないので、そのままの形で継承させたいのです・・

>>559
var Sample2 = Sample();
Sample2.run();

これだと継承になっているでしょうか?
新しく定義したい
Sample2.alert_run の中でrunを走らせることができないようです

583:Name_Not_Found
12/03/23 11:33:46.06
大規模なものは技巧に走ると破綻する

584:Name_Not_Found
12/03/23 11:53:37.30
JavaScriptがLISPやScheme系の言語でC++やJavaとは違うってことを受け入れられずに
C++やJavaのようなクラス継承を実現しようと腐心してJavaScriptはクソ言語だと...(省略)

585:Name_Not_Found
12/03/23 12:13:14.58 nsoPDskq
>>582
Sampleはそもそもクラスじゃなくオブジェクト(インスタンス)だから継承したいってのがそもそも。。。

var Sample2 = {

586:Name_Not_Found
12/03/23 12:25:43.09
>>582
ややこしいからprototype.jsなしで説明するが

function A(name){ this.item = name; }
A.prototype.udon = function(){ alert("好きなうどんは"+this.item); };

function B(name){ this.item = name; }
B.prototype = new A(); // ここで継承
B.prototype.soba = function(){ alert("好きなそばは"+this.item); };

var b = new B("きつね");
b.udon(); // 継承したからメソッドudonが使える

この継承と、定義したudonを余所から使うことは全く別次元の話で

A.prototype.udon.apply(thisとして扱いたいオブジェクト,引数配列);

てすれば、クラスも継承も関係なく使える
もちろん他のクラスのメソッド中でも構わない

587:Name_Not_Found
12/03/23 12:26:06.26 nsoPDskq
↑失敬

>>582
Sampleはそもそもクラスじゃなくオブジェクト(インスタンス)だから継承したいってのがそもそも。。。
やりたいのは↓ってことでいいのか?

>var Sample2 = Object.extend({
> alert_fun:function(){
> return this.run();
> }
>},Sample);


prototype.jsのObject.extend()って第一引数にプロパティ追加して返す感じだったから、第一引数=Sampleにしとくとオブジェクト汚染する。
Object.extend()ってちなみにオブジェクトの拡張であってクラスの継承ではないぞ。


588:586
12/03/23 12:42:15.07 M/+jiXcZ
>>587
ちゃんと見てませんでした
>>586
すまんこ

589:Name_Not_Found
12/03/23 14:07:39.98
>>582
だからさ、「継承」なんてもっともらしいこと書くから
prototypeうんぬんのレスがわんさか出てくるのよ。さっぱりわからんだろ。
わけもわからず「継承」なんて持ち出すなってこと。

「継承って何?」て話なら別だけど、var Func1 をよそで使いたいって話だろ?違うのか?

var Sample2 = Sample();
Sample2.alert_run = function() {
this.run();
};
Sample2.alert_run();

「新しく定義したい Sample2.alert_run の中でrunを走らせる」でいいなら、なんとでもできるだろ。

590:Name_Not_Found
12/03/23 14:33:28.14
>>582
Sampleの定義部とSample2の定義部とを一ヶ所にまとめて書いていいなら、こんな感じかなあ。
横長でごめん。


var Sample, Sample2;
(function enclosure() { // Func1をローカルに隠す関数。説明のためだけに名づけていて、無名関数でも可
    var Func1 = {
        run: function () { alert("run"); }
    }; // 関数enclosure内で作られる関数(Sample, Sample2のインスタンスのメソッド)を介してのみ呼べる

    Sample = function () {}; // コンストラクタ グローバル変数Sampleにローカル関数への参照を入れている
    Sample.prototype.runOnce = function () { Func1.run(); };

    Sample2 = function () {}; // コンストラクタ
    Sample2.prototype = new Sample(); // ※1
    /* 継承。Sample2のインスタンスでメソッドrunOnceを呼ぶと、
    ※1で作られるSampleのインスタンスの、メソッドrunOnceが替わりに呼ばれる(委譲?) */
    Sample2.prototype.runTwice = function () { Func1.run(); Func1.run(); }; // 2回呼ぶメソッドを追加
})();
/* 関数enclosureの定義部が終わってすぐに呼び出している
これ以降で直接 Func1.run(); と呼ぶことはできない
Func1.run を呼ぶメソッドをさらに追加することも、これ以降はできない */

var s = new Sample2();
s.runTwice(); // Func1.run が2回呼ばれる

591:590
12/03/23 14:38:41.54
590の続き。Sampleの定義部とSample2の定義部とを離して書きたいなら、
Func1を見えるところに出すしかない。
下の※2のようにSampleにぶら下げておくのが一般的かと思います。


function Sample() {}; // コンストラクタ この場合は関数定義文でもOK
Sample.prototype.runOnce = function () { Sample.Func1.run(); };
Sample.Func1 = {
    run: function () { alert("run"); }
}; // ※2

function Sample2() {}; // コンストラクタ
Sample2.prototype = new Sample();
// 継承。「※2でSampleにぶら下げたFunc1がSample2にもぶら下がる」ということには「ならない」ことに注意
Sample2.prototype.runTwice = function () { Sample.Func1.run(); Sample.Func1.run(); };

var s = new Sample2();
s.runTwice();
/* ここで直接 Sample.Func1.run(); と呼ぶことができるし
Sample.Func1.runを呼び出すメソッドをさらに追加することもできる
Sample.Func1.run 自体を書き換えることでrunOnceの動作も変わることに注意 */

592:Name_Not_Found
12/03/23 14:49:37.74 nsoPDskq
>>582
んで、本当にやりたかったことは何だったの?
プロジェクトリーダーの理解は本当に正しかったの?

URLリンク(cdn-ak.f.st-hatena.com)

593:Name_Not_Found
12/03/23 15:54:38.19
ここのスレの皆でCoffeeScriptみたいなの作ろうぜ

594:Name_Not_Found
12/03/23 16:47:40.55 nsoPDskq
>>593
コーヒースクリプトじゃイカんのか?

595:Name_Not_Found
12/03/23 17:18:50.47
世界にアピールするにはGreenTeaとかの方がいいな

596:Name_Not_Found
12/03/23 21:38:45.56 P6jysABl
javascriptのゲーム開発に興味があって
arctic.jsというライブラリのソースを見ています。

/**
* 回転角度を取得
* @returns {Number} 回転角度
*/
getRotation:function(){
return this._rotation;
}

この例のような関数の上にコメントをつけるパターンは
javascriptでは流行っているものなのでしょうか。
また、こうしたコメントはツールか何かで自動で記述しているのでしょうか。
よろしくお願いします。

597:Name_Not_Found
12/03/23 21:47:42.82
>>596
コメントは開発者が明示的に記述するもの。
目的は保守性の担保。
関数の処理単位のコメントは関数の上に。
詳細な処理は関数内で随時。


598:Name_Not_Found
12/03/23 21:47:46.10
まずJsDocでググろう

599:Name_Not_Found
12/03/23 22:13:17.38 P6jysABl
ありがとうございます。
なるほど、JsDocというものがあるのですね。
これについて調べていたところGoogle JavaScript Style Guide
というものを見つけました。
これを見たところ、コメントはJsDocで書くべきといような
ことを書いていますので、そうしたいと思います。
enchant.jsというゲームライブラリもそうなっているようです。

プライベートの変数の先頭には_を付けるのも主流なようですね。
文字列は""ではなく、''とするべきとも書かれています。
確かに手元のライブラリでは9割以上''が使われていますが
一部の場面で""が使われています。
if(typeof arguments[0] == 'function'){
}
というような場面はいつも''なのですが、
throw new Error("invalid frame index");
というようなメッセージを記述している場合は""になっていることがあります。
これは何か意図があってのことでしょうか。
それともうっかり""にしてしまったということなのでしょうか。

600:Name_Not_Found
12/03/23 22:18:19.47 P6jysABl
Google JavaScript Style Guide をよく見ると末尾に_とありますね。
これはoffsetX_のようにすべきということでしょうか。
手元のライブラリでは_offsetXというように前に_をつけています


601:Name_Not_Found
12/03/23 22:43:50.36
>>599 JSにおいてはシングルとダブルに違いはないからうっかりだと思う
>>600 どちらが正しいという訳ではない。好きな方を使えばいいし、ルールがあるなら従うべき。

602:Name_Not_Found
12/03/23 22:48:22.15
前から思ってたんだけどgoogle関連って有料にならないの?
無料で使わせてたらメリットなくね?

603:Name_Not_Found
12/03/23 22:51:08.10 P6jysABl
>>601
なるほど。
ありがとうございます。

604:Name_Not_Found
12/03/23 23:12:48.05
>>602
クロームが一番効率的に処理できるようなライブラリを配布してんじゃね

605:Name_Not_Found
12/03/23 23:17:11.83
何それ超セコイ

606:Name_Not_Found
12/03/23 23:20:14.37
すでに企業が利用するようなのは無料じゃなくなってるよ

607:Name_Not_Found
12/03/23 23:46:17.71 M/+jiXcZ
GoogleMapAPIも大アクセスすると課金されるようになりましたしね

608:Name_Not_Found
12/03/24 00:32:34.00
【環境】
WinXP SP2, SP3 IE6 / Win7 SP1 IE8
jquery 1.7.1

【何がしたいのか】
JQueryでセレクタの値をタグの種類、属性に依らず透過的に取得できる関数を作りたい。
引数としてid属性、またはname属性を可変個受け取り、対応する値を取得する必要があります。

今は各タグ種類ごとにname属性とid属性で値をとってみて、取れればそれを戻すというやり方で愚直にやっています。
もう少し楽にタグ、属性の判別をする方法はないでしょうか。

【期待する結果】
textbox(input type='text')の場合はvalue、
selectBox(select option)の場合はselected、
ラベル(p, span)の場合はtextを取得し、
{KEY: VALUE, KEY2: VALUE2}のJSON形式に集約して戻す。
また、selectBoxが複数選択の場合は、VALUE部を配列にする。
※ KEY : 引数として渡された属性、VALUE : 取得した値

【サンプルコード】
// foo, baa, hogeはid、またはname属性の値
// hogeはselectBoxで複数個選択を想定
var jsonObj = func1('foo', 'baa', 'hoge');
alert(jsonObj) // => {'foo': 'val1', 'baa': 'val2', 'hoge': ['val3', 'var4']}

よろしくお願いします。


609:Name_Not_Found
12/03/24 01:03:49.36 XJ3TURWK
valとserializeではいかんの?

610:Name_Not_Found
12/03/24 04:18:17.68
608です。
var fArray = $('form').serialiseArray();
$(fArray).each(function(key, val) {
// マッチング
});
// マッチしない場合はラベルの可能性あり。

こんなんでいけそうな感じがしてきました…

611:Name_Not_Found
12/03/24 11:27:32.00
質問です

612:Name_Not_Found
12/03/24 11:31:28.93
ミスりました


javascriptのarrayは、vbscriptより処理が遅いという内容をネットで見たんですが、
本当にそうなんでしょうか?

外部のファイルを読み込んだりして、その情報を
jsでtableにし、結構沢山arrayを繰り返しで処理したりしています。

タイミングによりますが、ロードしたとき確かにちょっと時間かかるかなという時はあるような。

array自体や、document.writeなど、arrayの繰り返しに関わる部分だけ、
vbsの記述に直した方がいいんでしょうか?

613:Name_Not_Found
12/03/24 11:49:37.85
自分でちゃんと試せよ、試したんなら自分で結論出せるだろ

一応言っとくとvbの方が早いなんて有り得ないから
縄文時代から来た人でつか?

ロード時に時間がかかるのは最適化してるんだから当たり前

614:Name_Not_Found
12/03/24 12:19:34.32
縄文時代にはまだJavaScriptは誕生してないよ

615:Name_Not_Found
12/03/24 12:41:21.67
ワロタw
『絶対ない』と言う事を証明出来る事は絶対ない
って常識なんですけどーw阿呆ですかーwんー?

616:Name_Not_Found
12/03/24 12:57:06.77
業務でブラウザ決め打ち出来るならともかく、いやそれでもvbsとかやめろよ

617:Name_Not_Found
12/03/24 13:19:36.90
サーバーサイドのvbscriptとjscriptの話じゃね?

618:Name_Not_Found
12/03/24 15:12:39.10 lLyrOwf9
Function.prototype.applyの第二引数ってargumentsそのまま渡すとエラーになる実装って何かあったっけ?
昔何かあったような気がして、sliceかましてるけど、その実装がなんだったか思い出せないんだが、
もし自分の勘違いならその辺なおしたいと思って質問してるが、何か有用な情報あたらくれ。

619:Name_Not_Found
12/03/24 15:17:15.60
この世にブラウザ、バージョンは無数にある
自己判断自己責任で君の好きにやればいい

620:Name_Not_Found
12/03/24 16:28:19.97
少なくともIE6以降のwebブラウザでは問題ないと思うがなあ
Mac版IE5とかiCabとか初期のsafariとかとか、怪しい気がしなくもないけど

621:Name_Not_Found
12/03/24 16:49:20.78
IE で NodeList を渡せないってのはあるけど、arguments は大丈夫だとおも

622:Name_Not_Found
12/03/24 17:33:47.16
>>618
「sliceかましてる」って、そっちの方が危ないだろ

623:Name_Not_Found
12/03/24 17:39:13.37 lLyrOwf9
>>621
これを勘違いしてるかも試練。

>>622
どう危ないかご教授ねがえますでしょうか?

624:Name_Not_Found
12/03/24 17:51:08.93
いいから早くうせろって……空気読めよ

625:Name_Not_Found
12/03/24 18:21:02.56
でも少し…
この風…泣いています

626:Name_Not_Found
12/03/24 18:31:54.86
ここ質問スレじゃないの?

627:Name_Not_Found
12/03/24 19:28:58.24 lLyrOwf9
>>624
空気よんでないって俺か?
Array.prototype.slice.call(arguments,0)を行うことの危険性について知りたいって
質問が空気読めないっていわれてるなら、どうすればいいんだよ。

628:Name_Not_Found
12/03/24 19:40:07.79
解らずに批判した馬鹿だろほっとけ
sliceなんか古典的方法だし
多くのライブラリ等で使われてきた方法だろ


629:Name_Not_Found
12/03/24 20:15:38.40
>>627
Function.prototype.applyの第二引数にargumentsを渡せるのは仕様。
Array.prototype.sliceのthis値にargumentsが適用するかは実装依存。

630:Name_Not_Found
12/03/24 20:27:31.72
>>629
後半は間違ってるよ。

631:Name_Not_Found
12/03/24 20:46:14.40 lLyrOwf9
>>629
ありがとう。
ちょい仕様書読んでみるが、jsの場合は過去の実装依存が残ってる以上は仕様よりも実装優先、
過去の慣例のほう優先って感じだから、実装依存を無視できないのよ。。。

632:Name_Not_Found
12/03/25 05:27:03.93
applyの第2引数はまさしくargumentsになるのに、argumentsが渡せないのはどう考えてもおかしいだろ
そんな実装は聞いたことないし、どうやったらバグができるのか検討もつかないね

633:Name_Not_Found
12/03/25 05:29:53.56
もしかして:見当もつかない

634:Name_Not_Found
12/03/25 19:46:25.23
URLリンク(d.hatena.ne.jp)
>オブジェクトとstringがどのようにして比較されるか
について解説お願いできますか

635:Name_Not_Found
12/03/25 19:49:36.26
ゲーム製作用に右か左クリック長押しのときにイベント発生したいんですが何てイベントハンドラを使えばできますか?

636:Name_Not_Found
12/03/25 20:09:15.04
>>634
toStringとか比較とかでggrkstd
せっかくだから自力で調べてよくJSの根幹を理解しろ

>>635
ここは保育園じゃありませんよ!?ggrkstd
ググってもわからなかったら代案考えろ
そこがプログラマーにとって一番大切な所だ

637:Name_Not_Found
12/03/25 21:51:06.62
>>636
そんな文章は知識が無くても書ける
知らないくせに偉そうにレスするでない
引っ込んでおれ

638:Name_Not_Found
12/03/25 22:05:06.42


639:Name_Not_Found
12/03/25 22:07:47.84


640:Name_Not_Found
12/03/25 22:34:38.24
知らねえんだろと煽っても無駄です。とずっとテンプレに入ってましたからね。

641:Name_Not_Found
12/03/25 23:06:39.99
煽りじゃなくて忠告しただけだ。
無理にレスしないで引っ込んで俺と言っておるのだ

642:Name_Not_Found
12/03/26 01:15:05.47
>>635
mouseupとmousedownじゃねえの?

643:Name_Not_Found
12/03/26 08:17:30.30
>>641
君のレス付けは下手な催促か荒らしてるようにしか見えない事を客観的に判断できないと。
君は満足できたのかもしれないけど他人には迷惑にしかなってないから気をつけな。

644:Name_Not_Found
12/03/26 08:58:23.43
>>641
糞爺のeigodooみたいな奴だな

645:Name_Not_Found
12/03/26 10:05:51.89
>634,635は自分でここまでやりました感、コードが一切ない
ぱっとでの質問のように思わるのがいけないところ
コードがない質問は荒れるな

646:Name_Not_Found
12/03/26 10:48:15.12
黙れ

647:Name_Not_Found
12/03/26 10:49:00.75
知識も無いくせに威張りたいだけの低脳にようはない
誰も頼んでないから黙っていてくれないかね

648:Name_Not_Found
12/03/26 10:51:33.17
第一>>636はよく質問内容も理解できてないのに
>toStringとか比較とかでggrkstd
という的外れな回答にもならないレスをするでない!

649:Name_Not_Found
12/03/26 11:04:42.03
荒れるから他の回答者にケチ付けんなって
そんなに俺には他人より能力があると思うのなら黙って回答示しとけばカッコイイのに
まああんまり質問者を甘やかせるのもどうかと思うけどな

650:Name_Not_Found
12/03/26 11:23:05.24
質問者はマヌケ、回答者はマナーが悪すぎ

651:Name_Not_Found
12/03/26 12:39:56.84
jQuery使ってもライブラリ使っても解決するなら何でもアリなんですが
Ajaxで読み込んだファイルサイズを取得する方法ってあるんでしょうか?

652:Name_Not_Found
12/03/26 12:54:22.34 zaDWYvfi
ヘッダに書いてないかい?

653:Name_Not_Found
12/03/26 12:59:56.53
ごめんなさい言い忘れてました
読み込むのはデータを保管しているtextファイルです

654:Name_Not_Found
12/03/26 13:10:52.18
ヘッダにボディサイズが書いてあるだろ
ないのならlength使え

どちらもヘッダサイズを足すのを忘れんなよ

655:Name_Not_Found
12/03/26 13:42:25.42 0LZD1uwT
クライアントからのXHRリクエストにより、サーバーで複数のファイルに対して処理をするのですが
このとき処理結果と進行状況をクライアントに知らせるようにしたいと思っています。
で、次のようなテストコードを書きました。

※perlCGI(抜粋) - バッファリングを無効にして5秒ごとメッセージを出力している
$| = 1;
print "Content-type: text/plain; charset=utf-8\n\n";
map { sleep 5; print $_; } @results;

※javascript(抜粋) - レスポンス受信のたびメッセージを切り取って表示している
var cursor = 0;
xhr.onreadystatechange = function() {
 if (xhr.readyState === 3) {
  var message = xhr.responseText.substring(cursor);
  cursor += message.length;
  callback(message); // メッセージをHTMLリストに追加
 }
 else if (xhr.readyState === 4) {
  callback("finish!!");
 }
};

一応目的は達しているのですが、処理のよっては長時間(1分以上)接続したままになります。
こうした長時間の接続って通常、問題ないでしょうか。
cometやwebsocketsのプログラミングは未経験ですが、調べてみた範囲では
順番に受信して終わるだけの上記の目的には大げさにも感じました。
アドバイスもらえたらうれしいです。

656:Name_Not_Found
12/03/26 13:44:18.86
test.addEventListener('click', 'battle(10)', false);
第二引数で関数に引数をつけて書くにはどう書いたらいいですか?

657:Name_Not_Found
12/03/26 13:49:35.07 zaDWYvfi
>>656
test.addEventListener('click',function(){
  /* 関数側から引数になる値を取りに行けばいいよ */
},false);

658:Name_Not_Found
12/03/26 13:55:08.36
無名関数にしちゃうとremoveEventListenerで削除できないので困ります

659:Name_Not_Found
12/03/26 14:01:03.44
>>656
出来ません。共有したい値があるならオブジェクトを渡してください。

660:Name_Not_Found
12/03/26 14:07:47.25
wakarimasita

661:Name_Not_Found
12/03/26 14:55:10.70 zaDWYvfi
>>658
こうすればいいじゃない

var fn = function(){
  /* 関数側から引数になる値を取りに行けばいいよ */
}
test.addEventListener('click',fn,false);

662:Name_Not_Found
12/03/26 14:55:51.11 zaDWYvfi
セミコロンが抜けてた
すまんこ

663:Name_Not_Found
12/03/26 14:57:57.55
セミコロンなんてただの飾りです

664:Name_Not_Found
12/03/26 15:31:27.55
>>655
EventSourceってのがある

665:Name_Not_Found
12/03/26 16:28:43.71 0LZD1uwT
>>664
ありがとうございます。確認してみたところサーバー側の準備も特にいらないようですし
標準APIの安心感がありますね。どういう接続になるのか(>>655のXHRとの違いなど)
これから詳細を確認していってみようと思います。

ざっくりした解説のよさげなページがあったので貼っておきます
URLリンク(javascript-api.sophia-it.com)

666:Name_Not_Found
12/03/26 17:44:06.14 mUYzqlZ8
>>665
IE「標準APIの安心感?やらねぇよw」

667:Name_Not_Found
12/03/26 19:12:35.58
ある要素の横幅を取得する方法を教えてください

668:Name_Not_Found
12/03/26 19:24:10.06
a = function(){alert(1);}
b.addEventListener("click", a, false);
これができない
function a(){alert(1);}
b.addEventListener("click", a, false);
これはできる

なぜか?

669:Name_Not_Found
12/03/26 19:38:09.78
できるだろ

670:Name_Not_Found
12/03/26 21:07:04.64
質問です。
配列の添え字を、実際に数字で書くと動くのに、
変数を指定するとスクリプトが動かなくなるのは何故でしょうか。

var path = new Array();
path[0] = "\"C:\\Program Files\\Microsoft Office\\OFFICE11\\EXCEL.EXE\"";
path[1] = "c:\\Windows\\notepad.exe";

function app(pathW){

wshshell=new ActiveXObject("WScript.Shell");
wshshell.run(pathW);

}

for(var z = 0 ; z < 1 ; z++){
document.write('<INPUT TYPE="button" NAME="string" VALUE="string" ONCLICK=app(path[z])>');
}



671:Name_Not_Found
12/03/26 21:10:09.93
document.writeされた内容を確認してみたら一目瞭然

672:Name_Not_Found
12/03/26 21:18:09.36 zaDWYvfi
>>670
path[z]が文字列になっとるがな

673:Name_Not_Found
12/03/26 21:30:28.39
document.write('<INPUT TYPE="button" NAME="string" VALUE="string" ONCLICK=app(',path[z],')>');

でしょうか?
うまくいかんです・・・

カンマで繋げると、とほほ等には書いてありましたが。。。

674:Name_Not_Found
12/03/26 21:50:36.31 zaDWYvfi
いくらなんでも…と思ったらマジだった
URLリンク(www.tohoho-web.com)

+で繋げばいいよ
あと、とほほじゃなくてMDNとか見るといいよ

675:Name_Not_Found
12/03/26 21:52:08.28
またと古くさいとほほにひっかかってる。まあ、document.writeの結果が求めるものに
なるまでがんばったらいいんじゃないの。つか、過去すれ全集見ればいくらでもそういう
ことやってるサンプルがあるんで、探す気があるかないかだけの問題だな。

676:Name_Not_Found
12/03/26 22:08:37.81
>>666
eventsource.jsでIE向けにも使ってる

677:Name_Not_Found
12/03/26 22:38:39.84
すいません、初心者すぎるのか、理解力か低すぎるのか・・・

document.write('<INPUT TYPE="button" NAME="string" VALUE="string" ONCLICK=app(' + path[z] + ')>');
だと、読み込み時からエラーで

document.write('<INPUT TYPE="button" NAME="string" VALUE="string" ONCLICK=' + app(path[z]) + '>');
だと、読み込み時に勝手に実行されます。


過去スレ全集とは、落ちたスレも見れるサイトがあるのでしょうか?

678:Name_Not_Found
12/03/26 22:57:19.37
あんたがテンプレの >>1 すら読んでないことはよく分かった。それでいて自分の質問だけは
するのね。よく考えた方がいいよ。

679:Name_Not_Found
12/03/26 23:03:40.27
>>673-674
どこにも「カンマで繋げる」なんて書いてないけど。
たとえば、document.write(a,b) としたら、これは document.write(a);document.write(b); と同様。
タグの場合は一度に出力するんだから当然 + での連結になるよね。

680:Name_Not_Found
12/03/26 23:30:14.56
>>677
基礎をちゃんと勉強するべきかも。それと、エラーが出るんだったらその内容を伝えないと。
以下は動作確認はしてないけど、同じような形で書きなおしてみた。

var paths = [
'\"c:\\Program Files\\Microsoft Office\\OFFICE11\\EXCEL.EXE\"',
'c:\\Windows\\notepad.exe'
];

var run = function(path) {
if (typeof path === 'number') {
path = paths[path];
}
var wshshell = new ActiveXObject("WScript.Shell");
wshshell.run(path);
};

for (var i = 0; i < paths.length; i++) {
var path = paths[i];
var name = path.slice(path.lastIndexOf('\\') + 1);
document.write('<input type="button" value="' + name + '" onclick="run(' + i + ')">');
}
document.close();

681:Name_Not_Found
12/03/26 23:41:35.71
>>680
ありがとうございます。
参考にもうちょっと勉強してきます。

他、レスくれた方々もありがとうございました。

682:Name_Not_Found
12/03/27 07:08:51.36
わからないのをいろいろ考え試行錯誤するのがためになるのに
2、3日くらい考えてもいい

683:Name_Not_Found
12/03/27 16:36:25.45
<img id="ura3" src="ura2_s.png">

画像を→ボタンを押して動かすにはどーするのですか?



684:Name_Not_Found
12/03/27 16:41:40.73
 if (式) {実行文}

 (式) && (実行文);

という書き方で、代用する書き方は一般的に多用してもいい?

685:Name_Not_Found
12/03/27 17:22:32.89 6GXlzqDM
>>683
キーイベントを拾って
<img>のスタイルを変更すればいいよ

686:Name_Not_Found
12/03/27 17:27:15.53
>>684
if文の代用って発想はなかったなぁ。
簡単な例文を書いてみるといい。それで回答を求めたらどうか。

687:Name_Not_Found
12/03/27 17:32:01.83
>>684
perlなんかでやるよね。
可読性を損なわないと思うなら、使えばいいんじゃないかな。

688:Name_Not_Found
12/03/27 17:48:00.70
可読性は置いといて、評価だけでも普通に使うのか。(オレはやんない)

689:Name_Not_Found
12/03/27 18:22:56.48
"一般的に"ならこんなこと聞く必要もないだろ
わざわざ聞くのは自分で一般的じゃないと思ってるからだ

690:Name_Not_Found
12/03/27 19:48:33.66
>>684
短けりゃいいんじゃね?

691:Name_Not_Found
12/03/27 19:59:29.74
>>684
なんでもいいんじゃね?

692:Name_Not_Found
12/03/27 20:09:03.08
>>684
多用どころか使うべきではない。
前者がわかって後者がわからない人はいても、その逆はいない。

693:Name_Not_Found
12/03/27 20:35:44.52 WAzw1IcN
var a = objOrNull || {};

ってのもよくやるよなjsなら。
まぁ、他言語と挙動が違うから多人数プレイの時はやるべきじゃないけどね。

694:Name_Not_Found
12/03/27 21:03:34.53
0なのかnullなのかundefinedなのかが、それだと判別出来ない

ムダ知識だがperlは近年になって // というキーワードが追加され
my $input = $VAR{PARAM} // 0;と書けるようになった

695:Name_Not_Found
12/03/27 22:08:34.14
質問させてください

<div id="hoge">
 <div class="moge"></div>
 <div class="moge"></div>
 <div class="moge"></div>
</div>

このようなDIVの形で、
$(".moge").click(function() {
で、クリックのイベントを拾った時。
それが、何番目のDIVをクリックしたかを知りたいのですが、
どのように、その要素を取得すれば良いでしょうか?

696:Name_Not_Found
12/03/27 22:23:29.61
>>695
めんどくさいから予めDIVにインデックスを振っておくのが無難。
毎回調べるなら、#hogeのdiv子要素を全て取得して、インデックスを増やしながら一致を探す。

697:Name_Not_Found
12/03/27 22:23:55.97
当たり前のように ほげほげ && ほにゃらら()・・・スタイルで書いていてVBを書くとき詰まった
短絡評価しない言語もあるんだね

698:Name_Not_Found
12/03/27 22:26:18.66
何でも短くする人いるよなあ。ありゃスパゲッティコード職人だ。

699:Name_Not_Found
12/03/27 22:28:22.18
>>696
そうですか・・・
わかりました、ありがとうございました。

700:Name_Not_Found
12/03/27 22:29:08.15
三項演算子の入れ子とかひどいよね。

701:Name_Not_Found
12/03/27 22:32:50.89
スパゲッティコードメーカーとは誤解してほしくないが、こんな単純なVBコードね。
Bad : If IsNumeric(hage) And CLng(hage) > n Then
スレチなのでこれ以上は自重

702:Name_Not_Found
12/03/27 22:47:06.80
質問です。
以下のようにスコープ?参照渡し?っていうんですかね、
配列を代入した変数を、関数の引数として、繰り返し処理でボタンを置きたいんですが、
表示はうまくいっても、中身が全て最後の配列になってしまいます。

どう処理させるのが一般なんでしょうか?
以下は、最終的にjを回しているforの部分は関数化して切り出し、
scに入れる配列を操作させることで中身や回数を気にせずボタンを設置したいです。


var arr = new Array(2);
arr[0] = [1,2,3];
arr[1] = [9,8];

var sc;
sc = arr[0];

for (var i = 0; i < arr.length; i++) {
sc = arr[i];
for (var j = 0; j < sc.length; j++){
document.write('<input type="button" value="' + j + '" onclick="alert(sc[' + j + '])">');
}
document.write('<hr>');
}
document.close();


703:Name_Not_Found
12/03/27 23:24:42.10
>>701
ちょっと違うんじゃね?みんなが言ってるのは、hideFlag && inDocument && hide(); てな感じだと思うよ。
スレチなのでこれ以上は自重

704:Name_Not_Found
12/03/27 23:36:50.68
>>702
あなたも過去スレ全集読むといいよ。かってよくあった質問だね。

705:Name_Not_Found
12/03/27 23:45:17.95
>>702
DOMとクロージャを組み合わせるのが一般的かな。
onclick="alert('+sc[j]+')" とすれば動くだろうけど、これは参照渡しでもなんでもないね。

706:684
12/03/27 23:47:07.07
意見サンクス。ちゃんとif文書いた方が良さそうだな。

707:Name_Not_Found
12/03/27 23:57:47.90
>>695

動かなかったらごめん。
idxに何番目か入ってるはず。

$(".moge").click(function(){
var idx = $(this).parent().children(".moge").index(this);
});

708:Name_Not_Found
12/03/28 00:00:10.77
外部ファイルで呼ぶ時にファイルパス間違ってないと思うけど呼べない時どうすればいいの?index.htmlと同じ階層なら呼べるのにjsってフォルダ作ってscript.jsを入れるとファイルパスはjs/script.jsだよね?

709:Name_Not_Found
12/03/28 00:03:07.48
>>708
ローカルで試してない?一応先頭に ./ をつけるといいよ。./js/script.js

710:702
12/03/28 00:03:57.50
>>705
ありがとうございます。
dom・・・
難しいですね。
もっと色々書いて精進します。

711:Name_Not_Found
12/03/28 00:07:19.25
本当にjsやるんだったらdomは必須だぞ。一度理解したら他の言語でも使えるしな。

712:Name_Not_Found
12/03/28 00:50:46.09
>>709
ありがとう出来た☻


713:Name_Not_Found
12/03/28 09:46:43.12
function hogehoge{
hogehoge.prototype.x1=10;
this.x2=20;
}
上記の2行目と3行目の書き方に違いはあるんでしょうか?
function hogehogeの外から
var z=new hogehoge();
z.x3=30;
等の追加、編集が出来ると思いますが
使わなくても
z.x2=22;と書けますよね?
違いとメリデメがよく分かりません

714:Name_Not_Found
12/03/28 10:33:34.01
2行目は外に出せる、3行目では出せない
常識で考えろ

715:Name_Not_Found
12/03/28 10:43:17.23
その常識ってのはお前の中だけだろ

716:Name_Not_Found
12/03/28 11:18:30.02
>>713
2行目と3行目は、コードのとおりプロトタイプかインスタンス変数かの違いなんで
インスタンスが1つですぐ終わるスクリプトなら一見動作は同じだけど、
複数のhogehogeインスタンスを生成したりすると事情が変わってくる。
例えばこうしたときどうなる?

function hogehoge(n1,n2) {
hogehoge.prototype.x1 = n1;
this.x2 = n2;
}
x = new hogehoge(10,20);
console.log(x.x1); //=>10
y = new hogehoge(20,30);
console.log(y.x1); //=>20
console.log(x.x1); //=>これがどうなる?

また以下の式のx.x1はなに?
x.x1 = 100;
console.log(x.x1); //=>100 これはhogehoge.prototype.x1の値ではない

717:Name_Not_Found
12/03/28 11:32:47.79
>>715
他の回答にケチ付けてる暇があったらより良い回答してやれ
その行為は誰の特にもならない

718:Name_Not_Found
12/03/28 11:36:32.32
配列Aを値渡しで、別の変数Bにそのままほうり込み(B=A)、
変数Bを関数Cの引数として渡す。

関数Cは(D)と内部変数を定義して、
処理内でDをループなど配列展開。

これを行うと、Dがないとエラーが表示されます。
Aの中身が数値だとうまくいったりしますが、
文字を入れるとエラーが出てしまうのは何故でしょうか?

719:Name_Not_Found
12/03/28 11:40:37.20
単独自立型WEBアプリを学校や許可を取った友達のPCに入れて
あまり使われて無いときのリソースを集めて利用したいのですが
参考になる文献やサンプル等を知りませんでしょうか?

また、WEBアプリの存在を隠蔽できるようなNPAPIを利用した
拡張機能をご存知ありませんか?

720:Name_Not_Found
12/03/28 11:43:58.49
>>718
サンプル張れって
>>718,719
テンプレ読めよ腐れ頭

721:Name_Not_Found
12/03/28 12:01:38.45
つーか配列に関してB=AしたときBはAの参照になるがな

722:Name_Not_Found
12/03/28 12:20:03.43
自分でうまいソースできてなくて、上の書き込み参考で色々やってます。
以外だと、scがないと言われます。
最終的には、ここから本文を書き換えたり、ページのリンクを生成しようと思ってます。


var arr = new Array(2);
arr[0] = ["あ","い","う"];
arr[1] = ["を","わ"];

function fu(sc){

for (var j = 0; j < sc.length; j++){
document.write('<input type="button" value="' + j + '" onclick="alert(' + sc[j] + ')">');
}

}

var wk;

for (var i = 0; i < arr.length; i++) {

wk=arr[i];
fu(wk);

}

723:Name_Not_Found
12/03/28 12:35:20.04
あ=い=う=を=わ="あんぽんたん"

をこのソースに追加しろ

自分がPCにさせていることに責任を持て

724:Name_Not_Found
12/03/28 12:37:02.28
>>722
alert(あ);

「あ」という変数が無い
alert("あ");になるようにするには、どうしたらいいか?

725:Name_Not_Found
12/03/28 12:41:49.17
addEventListenerを使うのはどうか

726:Name_Not_Found
12/03/28 12:48:03.74
document.write('<input type="button" value="' + j + '" onclick="alert(' + sc[j] + ')">');



document.write('<input type="button" value="' + j + '" onclick="alert(sc[' + j + '])">');
にすると、最初に作ったボタンの中身が変わってしまいます…

727:Name_Not_Found
12/03/28 12:48:57.87
>>722
chromeのデベロッパーツールやFireFoxのFirebugなどでは、javascriptで操作後のHTMLが確認できる。
まずはそういうので、どうなっているか確認するんだ。
質問するはそのあとでも遅くない。

728:Name_Not_Found
12/03/28 12:54:26.91
まあ、まずはdocument.writeをconsole.logにしてだな……

729:Name_Not_Found
12/03/28 12:58:06.58
これだけヒント貰ってわかんないんだから皆言うだけ無駄無駄

document.write('<input type="button" value="' + j + '" onclick="alert(\"' + sc[j] + '\")">');

これが答え
さあ帰った帰った

730:Name_Not_Found
12/03/28 13:19:11.49
この早漏め

731:Name_Not_Found
12/03/28 14:09:40.24
回答者は調子に乗りすぎに思うのですが。

732:Name_Not_Found
12/03/28 14:16:44.51
だからなに?
どうしてほしいの?

733:Name_Not_Found
12/03/28 14:25:46.54
ぼくちゃんどうちてほちぃんでちゅかあ?

734:Name_Not_Found
12/03/28 14:35:55.30
基本ツンデレだから偉そうなヤツだろうが、お前は本を買えって言うやつにも
ちゃんと教えてくれるのがココの奴ら

735:Name_Not_Found
12/03/28 15:12:13.85
回答者は投げやりにならない質問者が納得できる形で教えて下さい。
こちらはまず初めに頭下げてお願いしている訳ですから、そちらもちゃんと誠意を見せて欲しいものです。

736:Name_Not_Found
12/03/28 15:18:52.95
私も>>735の意見に賛成です。
次回から回答者の心構えをテンプレに入れましょう。

737:Name_Not_Found
12/03/28 15:18:55.67
それなら知恵袋とかで聞けばいいんじゃね

738:Name_Not_Found
12/03/28 15:34:45.49
知恵袋よりこっちの方が正確だしいい回答だと思う

739:Name_Not_Found
12/03/28 15:52:46.47
>>735
こういう「頭下げてるんだから優しく教えろよ」みたいな文句垂れるくらいなら>>738って事
もしくは金払ってプロでも教えを乞えば懇切丁寧に分からない所教えてもらえるよ
回答になってないのはまた別問題で
回りくどいのは意地悪してるのも居るかもしれ無いが頭働かせて閃くように促してるのが殆どだと思うんだが

740:739
12/03/28 15:53:38.76
>>738じゃなくて>>737

741:Name_Not_Found
12/03/28 15:55:04.28
>>739
上から目線ですか?

742:Name_Not_Found
12/03/28 15:59:24.01
よくわからんな
ここは知恵袋より劣悪な環境だ、嫌なら来るなと言いたいのか?
俺はここの方が幾分マシに思えるが

743:Name_Not_Found
12/03/28 16:09:54.98
ちゃんと回答してんのにケチつけられるとか
たまったもんじゃねーわ

744:Name_Not_Found
12/03/28 16:12:14.83
ここって俺が知ってる限りネット上では奇跡的と言えるほどマトモなスレなんだけどな

745:Name_Not_Found
12/03/28 16:18:28.46
それは暫く俺がレスしていなかったからかな。

746:739
12/03/28 16:23:24.02
俺も聞く側ですわ
口ぶりが気に入らないならもっと丁寧に説明してくれる場所があるでしょって言いたいだけ
回答の良し悪しで言うならココがいいと思ってるし

747:Name_Not_Found
12/03/28 16:25:45.05
良い回答を得たければ質問者は良い質問を心がけろ
そのためのコツはテンプレ>>1に書いてある

運の要素も否定しないが、質問をスルーされたり、
ピントのズレた回答が付くのにも往々にして理由がある
それで誠意見せろとか冗談も甚だしい

748:Name_Not_Found
12/03/28 16:30:35.78
知恵袋の回答者の方が、明らかに上から目線だよね

749:Name_Not_Found
12/03/28 16:34:03.87
    _, ,_  パーン
 ( ‘д‘)
  ⊂彡☆))Д´) >>735

750:Name_Not_Found
12/03/28 16:34:30.48
>>749
ま○がいさん、こんちには

751:Name_Not_Found
12/03/28 16:50:32.26 FJcXPkO4
質問する人が、問題を解決できる回答を期待するように

答える側も「ただ問題点の指摘だけでなく根本的にわかってもらう」ために
>>724みたいな回答をして、理解してもらえることを期待している

双方とも期待を裏切られると「なによ!なんなのよ!」て気持ちになっちゃって
ちょっと殺伐とした空気になるのはしゃーなしだな

※良い例だと思ったので勝手に安価しました>>724さんすみません

752:Name_Not_Found
12/03/28 16:54:33.66
まあとにかくだ、document.writeする前に
それをconsole.logに書き換えてどう出力されるのか確認したまい

Firefox なら Ctrl+Shift+K で
IE なら F12 で
Chrome なら    で
Chrome Lite なら about:debug で
Opera なら  で
Safari なら         で
Konqueror なら  で
Lynx なら    で
Netfront なら       で
w3mなら で

WebConsoleが開くから
Firebug使ってもいいけどな

753:Name_Not_Found
12/03/28 16:58:08.11
>>751
何を指摘されてるのか理解できたら、>>723も同じ事言ってるのが分かるけどな
正直先を越されたと思ったし

754:Name_Not_Found
12/03/28 17:02:19.63
consoleない環境も多いし、まあ超初心者は基本はalertだな
俺が超初心者のときはこれ使って頑張ってた
function (){try{
}catch(err){if(confirm(err+"\n\n[エラーを翻訳する]")){window.open("URLリンク(translate.google.co.jp)"+err+"&sl=en&tl=ja")}}}


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch