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

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

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

    151 = :

    >>147
    何もしなくていいよ

    153 = :

    >>149
    海外のプログラマーもmizchiのブログをチェックするぐらい有名だし
    mizchiが働いてる企業も有名

    155 = :

    ちなみに巨大といっても200行くらいです
    jqueryプラグインなので内部で何してるかしりませんが
    mouseの動きに追随して行の色が変わるのでmouseoverと思われます

    156 = :

    そのプラグインを使わない
    自分で修正したりカスタマイズしたり検索して調べられない人は人様のプラグインを使うべきではない

    157 = :

    テーブル毎に設定しているmouseoverから
    ひとつの要素にmousemoveを設定して、マウス座標からマスの位置を計算してみてはどうでしょうか

    160 = :

    そのメソッドからは新しいオブジェクトを返して、
    呼び出しもとでそれを上書きしたい変数に代入する

    161 = :

    ライブラリ関連の質問は、ライブラリ用のスレでやるべき
    その方が、情報が分散しないので調べやすく、効率もいい

    このスレで、ライブラリ関連の質問を扱う、利点がない
    情報を分散させるな
    自分を情報に適応させればいいだけ

    162 = :

    >>160
    それだとオブジェクトが複数の場所から参照されている場合に同期しなくなる

    >>159
    一般的には
    元のオブジェクト A を参照するオブジェクト B を作って、
    (1) コード内で A を利用している所はすべて B に置換
    A へのメンバアクセスはすべて Bを経由
    (2) 「オブジェクトそのものを変える」ときには Bの中のAへの参照を別オブジェクトに変える

    具体的には
    (1) には prototype 継承が利用できる
    return new A

    B = {}; B.__proto__ = A; return B に変える
    その場合、 (2)も単に B.__proto__ = C

    (__proto__ 未サポート実装にも対応させる場合は等価なコード 以下略)

    163 = :

    スウィフト登場でJavaScript死亡って聞きましたがマジですか?

    164 = :

    >>157
    行の高さが固定ではないので計算が難しいですが
    固定にしたら計算量を減らせそうです
    ありがとうございました

    165 = :

    JSはlodashの機能をネイティブに取り込んでいったらまだまだ戦える

    166 :

    >>162
    なかなか手間が掛かるんですね……
    ありがとうございました!

    170 = :

    >>169
    やっぱりサーバーっぽいか…
    今確認したらHTTPリクエストのログまでは見れたけどエラーログまで見る機能はないっぽい…
    HTTPリクエストのログの方にも403が表示されてるだけで情報となりそうな物はなかった

    ちなみに今妄想で疑っているのが
    ロリポップサーバーだけウイルスチェックフィルターみたいのがあって送信されてくるデータをチェックしてて
    下のimgタグ2個以上の内容が偶然そのフィルターにひっかかるのかなーとか思ってる…

    171 = :

    俺もそう思った
    変な攻撃と思われてるのかも

    172 = :

    >>170
    適当なロリポ鯖に「?a=../../"""」でアクセスしてみると403になるな・・
    他にも?a='--でもなった
    とりあえずWAF設定OFFにしてみろ

    173 = :

    なにかしら他の形式(Base64とか)にエンコードして、サーバ側でデコードするとかはできないん?

    176 = :

    質問です
    re =RegExp('a|b|c')
    while( re..exec(str) )でマッチした部分がaだった場合のみreplaceする方法ってありますか?
    execの結果を利用できると助かるんですが

    177 = :

    str.replace(/a/g, 'b');

    178 = :

    >>176
    var str = "abcdef";
    var re = RegExp('a|b|c') ;
    var func = function(str) {return (str == "a") ? "0" : str};
    str = str.replace(re, func); // str => 0bcdef

    179 = :

    >>178
    冗長で気持ち悪い。

    var str = "abcdef";
    str = str.replace(/a|b|c/g, function(ch) {
     return (ch == "a") ? "0" : str;
    });

    180 = :

    マッチした部分がaだった場合のみなのにaもbもcもマッチしてないかそれ

    181 = :

    >>179
    わかりやすさ優先させた
    お前こそなんでstr返してるんだ

    182 = :

    >>181
    元のコードがわかりにくいから間違えたw
    近い場所で同じ変数名使いまわすんじゃねーよ。

    var str = "abcdef";
    str = str.replace(/a|b|c/g, function(ch) {
     return (ch == "a") ? "0" : ch;
    });

    183 = :

    >>177-182
    ありがとうございますreplaceの引数の関数でこんないろいろできるとは知りませんでした
    こっちでやってみます

    184 = :

    >>182
    そういやそうだごめん
    先に関数内作って>>176に合わせたらこんな事に

    185 = :

    Greasemonkey で Web版Twitterのツイート内容の変換を試みています。

    $("body").on("mouseover","div.ProfileTweet.u-textBreak.js-tweet.js-stream-tweet.js-actionable-tweet", function(){
    var elm = $(this);
    elm.html( replaceAll(elm.html(), wordMap) );
    });
    //replaceAll は自作関数です

    各ツイート(後からAjaxで追加されたものも含む)の変換は mouseover で発動します。
    ただ本当にやりたいのは追加されたら勝手に発動して欲しいのです。
    タイマー以外のスマートな方法で実現できないでしょうか?

    186 = :

    >>185
    普通にDOMの MutationObserver でできない?

    developer.mozilla.org/ja/docs/Web/API/MutationObserver

    に例が載ってるよ

    187 = :

    var tweetSelector = "div.ProfileTweet.u-textBreak.js-tweet.js-stream-tweet.js-actionable-tweet";

    function twitterTransform(elm){
    elm.html( replaceAll(elm.html(), wordMap) );
    elm.click(function() {
    window.open("https://twitter.com/"+$(this).attr("data-screen-name")+"/status/"+$(this).attr("data-item-id"));
    return false;
    });
    }

    $(tweetSelector).each(function(){
    twitterTransform($(this));
    });

    new MutationObserver(function(arr,mo){
    for(var i=0; i<arr.length; ++i){
    var children = arr[i].addedNodes;
    for(var j=0; j<children.length; ++j){
    twitterTransform( $(children[j]).find(tweetSelector) );
    }
    }
    }).observe($("div.GridTimeline-items")[0], { childList: true });


    >>186 ありがとうございます。できました。
    単語置換の他にツイートクリック時に別タブで開けるようにもなりました。

    188 = :

    すいません便乗ですいません
    twitterにajaxで取得する場合って秒数は1秒ごとってやばいですか?

    189 = :

    >>188
    TwitterのAPIはそもそも回数制限あるだろ

    190 = :

    jqueryで、削除時ハンドラみたいなことが出来ることを知りました

    $.when($('#test').remove()).then(function(){
    console.log('removed');
    });
    $('#test').remove();

    という感じに使えます。これって内部的にどういう処理してるんですか?

    191 = :

    なんか思ってたのと違ったようです
    失礼しました

    192 = :

    ある要素が削除された時に指定したコールバックを実行する
    ってやりたいんですが、どうやればいいですか?

    193 = :

    >>192
    html
    <div id="test">
    <div id="hoge">hogehoge</div>
    </div>

    js
    $('#test').bind('DOMNodeRemoved',function() { alert(1); });

    // $('#hoge').remove();

    194 = :

    こんな便利なイベントがあったんですね
    ありがとうございました

    196 = :

    ===を使うのは、比較対象が引数など型が自明じゃない場合だけの方がいいですか?
    それとも必ず===の方がいいですか?

    197 = :

    >>196
    面倒なので全部===にしてるな
    ===だと都合が悪いときだけ==にする

    のようなやり方だと都合が悪いケースってあるのかな


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

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


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