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

    私的良スレ書庫

    不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
    ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

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

    JavaScript スレッド一覧へ / JavaScript とは? / 携帯版 / dat(gz)で取得 / トップメニュー
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    レスフィルター : (試験中)
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
    151 : Name_Not - 2014/01/29(水) 17:46:36.52 ID:??? (+40,+22,+0)
    無理
    152 : Name_Not - 2014/01/29(水) 17:53:39.49 ID:??? (+46,-30,-163)
    >>149
    そういうことは早く言った方がいいね
    Promiseはライブラリでも提供されてるからそれ使うといいよ

    >>150
    WebRTCを使うとか?

    function getIPAddress() {
     return new Promise(function (res) {
      var rtc = new webkitRTCPeerConnection({iceServers: []})
      rtc.onicecandidate = function (evt) { evt.candidate && res(evt.candidate.candidate.split(' ')[4]) }
      rtc.createOffer(function (desc) { rtc.setLocalDescription(desc) })
     })
    }

    getIPAddress().then(alert)
    153 : Name_Not - 2014/01/29(水) 20:23:29.06 ID:??? (+34,-29,-8)
    WebRTCってP2P通信で相手のIPアドレスを取得する方法じゃないの?
    155 : 149 - 2014/01/29(水) 22:43:29.21 ID:??? (+0,-28,-49)
    >>152
    最初のコードを参考にして、jQueryのDeferredを使うようにすれば
    完璧に考えた事が出来ました。本当にありがとうございます!
    156 : 149 - 2014/01/29(水) 22:55:52.87 ID:??? (+69,+29,-66)
    忘れてました
    >>145
    今はテストなので同じドメインに中継PHPスクリプトを置いていますが、負荷分散の為に別サーバにも置くつもりです

    このコードなどを参考にして時間があればプログレスバーなども作れるXHRにも手を出すかもしれません。
    その時などで躓いて、質問する時があれば、またよろしくお願いします。
    ありがとうございました!
    157 : Name_Not - 2014/01/30(木) 03:22:40.10 ID:??? (+46,-29,-51)
    localstorageを使おうとしてうまく動きません
    ユーザーの任意でページを保存して、保存したものを呼び出そうとしているのですが
    うまく保存されていません
    テスト環境はFirefox20です

    http://ideone.com/6cRClz
    158 : Name_Not - 2014/01/30(木) 03:38:33.07 ID:??? (+61,+28,-62)
    jsbinでtabを入力した時、タブの位置にかかわらず必ず4スペース入ることに気付きました
    位置を揃えるのがタブの目的なのだから、
    1スペース既に入力されていたら3スペースになるのが普通だと思うのですがどう思いますか?
    159 : Name_Not - 2014/01/30(木) 06:04:48.28 ID:??? (+107,+29,-181)
    >>153
    違う。WebRTCがやってくれるのは自分のIPアドレス取得と接続の段取り。

    いきなりP2P接続は出来ないので、まず相手とWebSocket中継とか別の手段でやり取りしないといけない。
    http://speakerdeck.com/feross/webrtc-data-black-magic?slide=19
    http://tjun.org/blog/2013/12/webrtc_p2p/

    APIは何を相手に送ったらいいかを教えてくれて、相手から受け取った情報を与えれば手続きを進めてくれる。
    で、APIがアドレス候補を相手に伝えて欲しいときに呼ばれるのがonicecandidate。
    その中のcandidateには最初はOSから取得した自分のIPアドレスが含まれてるのを>>152では利用してる。


    >>157
    ちょっと修正不能。そもそも何を保存してどう復元させたいのかがよく分からない。
    もし要素丸ごとを保存しようと思ってるのならあまりよろしくない。

    せいぜいテキストエリアの文章(文字列)を記録して復元するとか、
    ドラッグ可能な特定の要素の位置(数値)を記録して復元するとか、
    変化する値に絞って保存することを考えた方がいい。
    160 : Name_Not - 2014/01/30(木) 08:51:44.05 ID:??? (+3,-30,-199)
    >>154
    <iframe name="hoge"></iframe>

    var a = new hoge.Array(1,2,3);
    console.log(is_array(a)); // false
    var b = new Array(1,2,3);
    console.log(is_array(b)); // true

    ってことじゃないの?
    異なるグローバルオブジェクトってのはちょっとわからないけど、
    手元の本(原書の電子書籍版) では in a different window or frame ってなってるな。
    161 : Name_Not - 2014/01/30(木) 08:55:21.17 ID:??? (+3,-29,-97)
    >>154
    異なるグローバルオブジェクトとは
    別の window, frame, worker 環境のグローバルオブジェクト

    したがって
    異なるグローバルオブジェクトで生成された配列とは
    その環境で実行されたスクリプトが生成した配列になる
    162 : Name_Not - 2014/01/30(木) 10:36:15.14 ID:??? (+70,+29,-20)
    >>159
    それで「IPアドレス取得」を実装すると、同じページを見ている人同士でIPがわかる事になるのか。
    そしてそれは>>150が本当に求めてることなのか…
    163 : 157 - 2014/01/30(木) 11:54:54.89 ID:??? (+12,-29,-33)
    >>159
    保存させようとしているのは
    draggable:trueにしたstickyクラスのdiv要素のみです
    それぞれの位置を記録させようとしています
    言葉足らずで申し訳ありません
    164 : Name_Not - 2014/01/30(木) 14:15:00.79 ID:??? (+23,-30,-225)
    switchについて質問です

    switch(2){
    case 1: console.log(false); break;
    case 2: console.log(true);
    case 1: console.log(false); break;
    case 2: console.log(true); break;
    }

    この場合はcase2の後にbreakがないため
    続くcase3もラベルの一致を問われず実行されるのがしっくりきません
    不一致な場合に実行されないようにする書き方はないもんでしょうか
    165 : Name_Not - 2014/01/30(木) 14:25:38.45 ID:??? (+51,+16,-38)
    case2にbreakを置かない理由は何?
    こういう場合は論理的に、case2にbreakを置かない方がおかしいと思うけど。
    166 : Name_Not - 2014/01/30(木) 14:42:51.31 ID:??? (+3,-30,-81)
    document.selection.createRange().pasteHTML('<br>');
    という行で、IEで
    HTML1114: (UNICODE バイト オーダー マーク) からのコードページ unicode は、(12) からの競合するコードページ shift_jis を上書きします
    という謎の警告が表示されます
    しかしググっても一件も出てきません
    これはどういう意味で、どうやれば消えますか?
    167 : Name_Not - 2014/01/30(木) 14:45:32.35 ID:??? (-1,-29,-29)
    ちなみにshiftjisと書いていますが、
    HTMLもJSもUTF-8で記述していてSJISは使っていません
    168 : 164 - 2014/01/30(木) 14:55:28.69 ID:??? (+13,-30,-155)
    >>165
    レスありがとうございます
    始まりは一致するラベルのcaseを全て実行したいと思ったことでした
    switch(2){
    case 1: console.log(false);
    case 2: console.log(true);
    case 1: console.log(false);
    case 2: console.log(true);
    }
    としたらcase2とcase4が実行されればいいなと考えて
    いざ試したら今回の疑問に突き当たった次第です
    169 : Name_Not - 2014/01/30(木) 15:12:18.38 ID:??? (+81,+25,-1)
    case4なんてどこにあるのよ
    170 : Name_Not - 2014/01/30(木) 18:45:42.54 ID:??? (+0,-29,-28)
    >>168
    http://www9.plala.or.jp/sgwr-t/c/sec06-5.html
    switch-case文は、一度に複数の分岐を処理する構文じゃないです。
    171 : Name_Not - 2014/01/30(木) 19:37:15.87 ID:??? (+57,+29,-22)
    並び順変えればいいじゃん
    つか昇順にしとかないと最適化抑制がかかるんだっけ
    172 : Name_Not - 2014/01/30(木) 20:33:36.60 ID:??? (+2,-29,-8)
    実体参照を実体に戻す処理を書いていますが
    &
    <
    >
    "
     
    以外にありますか?
    173 : Name_Not - 2014/01/30(木) 20:47:58.97 ID:??? (+7,-30,-73)
    私女なんだけど助けてください・・・。
    nameが同じinputが複数存在しているformで、任意のN番目に値を入れたいいんだけどどうしたらいいですか?><
    eachでループさせるやり方しか思いつかないんですが、スマートでかっこいいやり方があれば教えてください><

    <input name="help">
    <input name="help">
    <input name="help"> ←3番目のhelpに入れたいの。
    <input name="help">
    174 : Name_Not - 2014/01/30(木) 20:57:32.67 ID:??? (-1,-30,-16)
    >>173
    document.getElementsByName("help")[2].value = "a";
    175 : Name_Not - 2014/01/30(木) 21:07:08.14 ID:??? (+4,-29,-11)
    >>172
    いっぱいあるよ
    目的は?
    xss危険文字だけならnbspはいらないしaposを追加するといいかも
    176 : Name_Not - 2014/01/30(木) 21:19:29.55 ID:??? (+3,-29,-16)
    >>175
    フォームコントロールの代わりに
    contenteditable=trueのdivを使うので、
    HTMLをプレーンな文字列にする必要があります
    http://w-d-l.net/html__entities/
    一覧がありました
    こんなにあったんですね
    ありがとうございました
    177 : Name_Not - 2014/01/30(木) 21:42:55.44 ID:??? (+57,+29,-4)
    よく見たらこれも一部で、フルリストはこれでした
    http://www.freeformatter.com/html-entities.html
    178 : 164 - 2014/01/30(木) 22:28:41.95 ID:??? (+68,+29,-14)
    >>169-171
    レスありがとうございます
    例えのcase4はラベルではなく4つ目のcase文のつもりでした
    本来の用途ではないとの事なので別の方法を探そうと思います
    179 : Name_Not - 2014/01/31(金) 02:54:25.20 ID:??? (-1,-29,-50)
    正規表現を使う関数の中では
    一度作成した正規表現オブジェクトをキャッシュしてべきでしょうか?
    180 : Name_Not - 2014/01/31(金) 04:24:16.53 ID:??? (+57,+29,-52)
    その正規表現がリテラルなら定数扱いとして最適化が働くから同じになるだろう
    182 : Name_Not - 2014/01/31(金) 10:56:55.05 ID:??? (+29,-29,-11)
    x='hoge';
    z=s.indexOf(x);

    のように引数は直接ダメですか?
    やり方教えてください
    183 : Name_Not - 2014/01/31(金) 11:01:34.96 ID:??? (+56,+29,+0)
    >>182
    わかりましたすんません
    184 : Name_Not - 2014/01/31(金) 11:03:04.78 ID:??? (+56,+28,-33)
    >>181
    自己解決しました

    ちょっと気持ち悪いですがグローバル関数で編集中フラグを作り、解決しました
    185 : Name_Not - 2014/01/31(金) 14:42:25.20 ID:??? (+33,+5,-23)
    属性に特に初期値が必要なくてもコンストラクタで初期設定した方がいいですか?
    186 : Name_Not - 2014/01/31(金) 14:52:25.35 ID:??? (+63,+1,-34)
    コンストラクタで初期値設定
    →属性が途中でいらなくなる
    →コンストラクタの初期値設定を消し忘れる

    あるある
    187 : Name_Not - 2014/02/01(土) 00:03:04.80 ID:??? (+66,+29,-23)
    >>186
    そんなもの、コンパイルエラーですぐに分かるじゃんって
    思ったら、ここJavaScriptスレか。

    まあ動的型付け言語は仕方ないよね。
    そういうミスを検出できない言語だから。
    188 : Name_Not - 2014/02/01(土) 06:50:38.40 ID:??? (+3,-30,+0)
    コンストラクタでの初期化は最適化に重要です
    http://1000ch.net/2013/01/04/JavaScriptPerformanceTechniqueByGoogle/

    ※2014年改定※
    3.『31bit(仮数部30bit=約+-10億)』→『x64環境では53bit(仮数部52bit=約+-9千兆)までの最適化が進行中』
    数値の最適化は年々進化しているのであまり気にしないでください

    5.『64,000個』→『100,000個』
    配列周りの最適化パラメータは最も頻繁に変わる部類なのであまり気にしないでください

    重要なのは、変わったことをしないということです
    ロジック的なことは勿論、「その時その時の一般的な書き方」から外れないことが、最適化の恩恵を受けるために重要です

    また、ES6で導入された機能はまだ最適化が不十分なものも多いです
    どうしても気になったら積極的に各エンジンにissueを投げましょう

    それから、増設されたMath関数やsimdやtyped objectやparallelsなど、抜群にJSを高速化する要素がES6,7に沢山控えています
    最適化する必要があるときは、最新の方法として常にasm.jsを指標とするとよいでしょう
    189 : Name_Not - 2014/02/01(土) 23:09:07.93 ID:??? (+57,+29,-6)
    ふーむ
    初期化しておくにこしたことはないのですね
    ありがとうございました
    190 : Name_Not - 2014/02/02(日) 07:51:37.06 ID:??? (+62,+29,-73)
    前スレで、chromeでシフトキーを押しながらホイールスクロールしたら
    スクロール方向が縦になる件で文句を書いた者ですが
    このたびのバージョンアップでこのスイッチ機能がなくなっていました
    伝えてくれた方ありがとうございました
    191 : Name_Not - 2014/02/02(日) 23:16:44.52 ID:??? (+85,+29,-138)
    すみません、質問させて下さい

    HP上での音楽ファイル再生について教えて頂けないでしょうか?
    以下のような機能はJavascriptで可能でしょうか?

    イメージとしては目覚まし時計なんですが時間をユーザが指定しません
    HTML上に記述されている特定の時間を予めセットしてその時間になると音楽が流れるようにしたいです
    10:00 という文字列にリンクを張ってこれをクリックするとその時間にアラームをセットするといったイメージです

    出来ればスヌーズ機能もつけたいんですが
    (これは停止した時間+5分でもう一度音楽再生
    (停止ボタンをおしたらアラームが解除という具合がよさそうなのですがやりかたがわかりません・・
    192 : Name_Not - 2014/02/03(月) 00:05:23.81 ID:??? (+2,-29,-3)
    >>191
    audioタグ使えば?
    193 : Name_Not - 2014/02/03(月) 00:48:16.91 ID:??? (+62,+29,-81)
    >>192
    レス有難うございます
    audioタグの属性を調べてみたのですが、指定時間に再生する項目が見つかりませんでした
    何かうまいやりかたはあるのでしょうか?
    もしこういうやり方があるってのがあれば教えて頂けると助かります
    194 : Name_Not - 2014/02/03(月) 01:04:51.76 ID:csGBTier (+22,+27,-33)
    javascriptフレームワークで一番学習コストが低くて
    作業効率がいいのってなんですか?
    195 : Name_Not - 2014/02/03(月) 01:05:40.90 ID:??? (+65,+29,-3)
    >>194
    お前が今何が出来るのかによる
    196 : Name_Not - 2014/02/03(月) 02:48:32.65 ID:??? (+63,-29,-67)
    質問です、配列に数値を記録して後から『あるかなー?』って調べる場合なんですが
    var hoge=[100,109,111・・・・,10000]
    という配列を作ってからindexOfで検索すればいいのかと思ったんですがindexOfメソッドは遅いような事が書かれてました
    もっと速くて良い方法とかあるんでしょうか?
    197 : Name_Not - 2014/02/03(月) 04:09:12.84 ID:??? (+43,+20,-6)
    その数値をキーにすればいい
    198 : 196 - 2014/02/03(月) 04:23:54.84 ID:??? (+3,-30,-67)
    ありがとうございますその場合キーは数値のままでいいんでしょうか?
    var hoge[1]=1;
    hoge[10000]=1;
    とか入れると[1,,,,,,,,,,,,,,,,,,,,,,,10000]と表示されるので取り出す時1,2,3と順番に調べていないか不安で
    199 : Name_Not - 2014/02/03(月) 05:28:58.16 ID:??? (-1,-29,-9)
    見た目の長さが10000になるだけ。容量も速度も問題ない
    そして配列は0~4294967294までしか数える事ができない
    200 : Name_Not - 2014/02/03(月) 06:14:41.48 ID:??? (+43,-29,-57)
    >>191
    時間になればiframeが読み込まれるようにし
    そのiframeはページが表示されるとすぐに音楽なるようにすればいいのでは。
    スヌーズは時差でiframeつぎつぎ読み込ませる
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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