のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,062,898人
昨日:no data人
今日:
最近の注目
人気の最安値情報

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

    JavaScript覧 / PC版 /
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter

    151 = :

    当たり前だろそんなモン
    聖徳太子って知ってる?レベル

    152 = :

    俺も>>138と同じ方法を取ると思うが。
    ブラウザのリクエスト最大同時接続数(2か4だっけ?)までは、並列でリクエストしてくれるであろうと期待して。
    1が終わってから2、2が終わってから3、って順番にやって行ったら余分に時間が掛かるだろう。

    153 = :

    >>152
    まじで言ってるのか???

    154 = :

    どのブラウザか忘れたが同時接続数2ってのがあったの覚えてるから
    それに沿って俺はやってる
    基本やるなってことだけど

    155 = :

    ラッパーぐらい作ればいいのに

    156 = :

    >>153
    どこが間違ってるか具体的に言ってもらえた方が勉強になります。

    画像で例えるなら、画像が10枚貼ってあるHTMLページがあったとして、
    1枚目の画像のダウンロードが終わってから2枚目のダウンロードをスタートさせたりしたら
    効率が悪いし、実際のブラウザの実装は画像は並列にダウンロードされる。

    Ajaxも画像もHTTP通信に変わりはないから、並列でリクエストをスタートさせた方が
    効率がいい。しかしレスポンスが返るタイミングはそれぞれ違うので(例えば1つ目が500ms、
    2つ目が100msで返ってきたら、2つ目の方が先に完了する)、Ajaxならやはり>>138のように、
    それぞれの通信が成功したタイミングで、全ての通信が成功しているかフラグなどで確認する
    やり方が良いように思えるのですが違いますか?

    157 = :

    >>156
    非同期の通信だから同時接続数が制限されてんだって

    158 = :

    1-10番まで同時にスタートすると、まあ1,2で最大同時接続数を使い切るとして、
    3以降はブラウザのキューに入って待機状態になるんじゃないんですかね?
    で、1か2が終わったら3以降の通信を順番に始めてくれ、最終的に10まで完了するという理解ですが。
    まさか3以降がキャンセルになるって事はないですよね?

    というかこれくらい自分で実験した方が良さそうなので後で実際に組んでみます。

    159 = :

    何がしたいのか分からないな
    グローバル変数のカウンター使えばいいだけじゃん?
    それで何か不都合あるの?

    160 = :

    それでいいよ。

    161 = :

    すげー遅レスだなwww

    162 = :

    多分キューの部分はESの仕様外出し個々のOSの設定依存だと思う
    あと回線が細かったりレイテンシの悪いモバイル回線で大量発行すると遅すぎたりエラって切断されたりする
    反対に加速に時間がかかるしレイテンシ悪いんだから1本ずつ小さなファイル取得するのも極めて効率悪い
    まあブラウザ全体で10本程度くらいがいいと思うから
    3本くらい常にまわすのがいいかもね
    まあプロトコルで改善すべき問題でもあるから難しい

    164 = :

    >>158ですが自分で実験してみました。ソースはhttp://www.dotup.org/uploda/www.dotup.org3249046.txt
    wait.phpでは分かりやすくするためsleep(5)で5秒スリープしています。

    PCのfirefox14だと同時接続数は"6"のようです。
    apacheログで確認したのですが、つまり10個同時にリクエストを行うと
    6個先に通信が行われ残りの4個はキューに入り、先の通信のレスポンスが返れば
    キューに入っている残りの通信が行われる、という事のようです。
    apacheログhttp://www.dotup.org/uploda/www.dotup.org3249052.txt

    165 = :

    firefoxの場合、同時接続数はabout:configのnetwork.http.max-persistent-connections-per-server
    という設定で変更出来ました。(デフォルト値6)
    apacheログではこれを2に変更した場合も載せています。

    という事で、>>138さんのやり方が簡単で良いのではないでしょうか?>>117さん
    ただ、>>162さんの言うように同時接続数はOSやブラウザに依存するので、
    いくらキューに勝手に入ってくれるとはいえ、場合によってはある程度の調整は必要かも知れないですね。

    166 = :

    >>117 のループが何をやってるのか全然わからん。
    setTimeout 連続発行?

    で、>>164 調整するって何を?mxhr にするとか?
    数百のリクエスト発行するとかならまだしも、10 やそこらで気にする
    必要あるかな。

    それにブラウザ側が同一サーバに対する同時接続数に制限をかける以上、
    それを超えた場合の処理をブラウザが面倒を見るのは当たり前の話で、
    それができなければただのソフトウェアのバグ。

    167 = :

    >>165
    ありがとうございます。>>117 の内容が一番良さそうですね。
    ただ、欲を言えば

    $(function(){
    // データロード
    var1 = $.ajax(...)
    var2 = $.ajax(...)

    // データの加工
    ...

    // ページ初期化
    ...
    )

    みたいに処理を一カ所にまとめておきたかったのですが、
    これは無理そうですね。あきらめてデータ加工、ページ初期化は
    別関数に切り出し、チェック関数でOKだったときに呼び出す形に
    したいと思います。

    >>166
    ごめんなさい。setTimeoutは間違えました。

    169 = :

    >>164
    ::1 - - [28/Jul/2012:22:08:11 +0900] "GET /wait.php?id=8 HTTP/1.1" 200 -
    ::1 - - [28/Jul/2012:22:08:11 +0900] "GET /wait.php?id=9 HTTP/1.1" 200 -
    ::1 - - [28/Jul/2012:22:08:11 +0900] "GET /wait.php?id=10 HTTP/1.1" 200 -
    ::1 - - [28/Jul/2012:22:08:11 +0900] "GET /wait.php?id=7 HTTP/1.1" 200 -

    俺も昔試したけどやっぱ8、9、10、7になる通り通信状態によって左右されるから順番にならないんだよね
    待機状態になるのもあんま良しと言えないからやっぱ順番にやっていくのが得策なのかも

    170 = :

    キューに入る事の何が良しと言えないか分からないけど、要件による。
    順番に実行する要件ならもちろんそうすべきだが
    117の要件は全てのデータ取得が完了してから次の処理に進むだから、
    データ取得の順番は問われないし、むしろ順番に取得すると余計に時間が掛かる。
    プログラムを作るにあたっては、要件を正確に掴むことも必要。

    172 = :

    chrome系ブラウザを、例えば再起動させたいときは
    chrome.send("relaunchNow")ですが
    こういったもののリスト知りませんか?

    174 = :

    JavaScript で言う「ぐろーなるおvぶけjと」は、言わば、
    window オブジェクトのこと (実行環境がブラウザの場合)。
    だから、「グローバルオブジェクトで作成された配列」は結局、
    「windowでサkス性された配列」(= new window.Array) のこと。

    これだけじゃ分からんだろうけど、要するに本文で言ってることは、
    例えば、

    var iframe = document.createElement("iframe", { src: "about:blank" });
    document.body.appendChild(iframe);
    var win = iframe.contentWindow;
    var ary = new win.Array(); // グローバルオブジェクトで作成された配列

    ary のコンストラクタは win.Array であり、(window.)Array ではないから、

    ary.constructor === Array;
    ary instanceof Array;

    はいずれも false が返る。
    原文だとちゃんと「constructed in a different window or frame」
    と書いてあるんだけど。

    175 = :

    > var iframe = document.createElement("iframe", { src: "about:blank" });

    これは無視の方向で。
    Utility 関数を書き換え損じますた。

    177 = :

    質問です。
    attachEventはイベント専用なのでしょうか。

    関数の引数に関数を指定し、
    その引数を変えてやることで汎用的だけど、機能別に処理させたいと考えてます。
    これはonloadとかイベント時に関係なく、head内に順に記載した通り動きます。

    178 = :

    別に自分でそういうの作ればいいんじゃないの。

    179 = :

    それが分からないのです…

    180 = :

    <form name="frmA">横軸のメモリ
    <select onChange="screen2(this)" name="one">
    <option value='0.2' selected>0.2</option>
    <option value='0.5'>0.5</option> </select> </form>

    function screen1(as){
    var hantei=as.options[as.selectedIndex].value;}
    ってしたらhanteiが数字でなく文字として認識される
    そうしたらいいんだぁあああああああああああああああ
    教えてくれ

    181 = :

    変態だぁああああああ逃げろぉおおおおおおおお

    182 = :

    >>181
    よく見ろ。
    変数はhentai(変態)でなくhantei(判定)だろうがぁああああああ

    183 = :

    藻j理恵tを数値に変換酢rうだけdふぁがあら、
    parseFkiat使うか、楽をするならq、
    短ジュに1をい抱えればいいだけ。

    184 = :

    >>183
    日本語でおk

    185 = :

    まず、option の value を valueOf にします。

    <form name="frmA">横軸のメモリ
    <select onChange="screen2(this)" name="one">
    <option valueOf='0.2' selected>0.2</option>
    <option valueOf='0.5'>0.5</option> </select> </form>

    function screen2(as){
    var hantei=as.options[as.selectedIndex]*1;}

    JavaScript 側では、value プロパティを参照する代わりに
    上記の様にします。

    186 = :

    俺、こんなことしてる場合じゃねーや。

    188 = :

    *1より-0の方が早い

    189 = :

    >>188
    嘘乙

    191 = :

    全力のマジレスかっけー

    192 = :

    まあな

    196 = :

    なるほど、それは簡単ですね
    ありがとうございます

    197 = :

    textareaでマウスでコピペ(右クリ貼り付け)か文字うったとき(ctrl+vでキーのコピペ含む)で
    共通するイベントってありませんか?
    mouseとkeyの2つイベントハンドラに登録するのもいやなのでなんかあるといいのですが
    changeが怪しかったのですがtextareaにはblurと同じみたいでした

    198 = :

    両方に登録して問題がないならそれを使うべき

    199 = :

    おはようございます

    結局該当するイベントはないようでした
    マウスでペーストした時にはイベントが発生しないようです
    右クリ禁止は横暴だし困っちゃいましたね


    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

    類似してるかもしれないスレッド


    トップメニューへ / →のくす牧場書庫について