のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,432,562人
昨日: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一覧へ
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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