私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレ+ JavaScript の質問用スレッド vol.116 +
JavaScript スレッド一覧へ / JavaScript とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 :
レスフィルター : (試験中)
>>147
何もしなくていいよ
何もしなくていいよ
CSSにemという単位がありました
ありがとうございました
ありがとうございました
mouseoverなどが設定されている巨大なテーブルを表示したら
既存のpopoverなどの動作がすごく遅くなりました
どうしたらいいでしょうか?
既存のpopoverなどの動作がすごく遅くなりました
どうしたらいいでしょうか?
ちなみに巨大といっても200行くらいです
jqueryプラグインなので内部で何してるかしりませんが
mouseの動きに追随して行の色が変わるのでmouseoverと思われます
jqueryプラグインなので内部で何してるかしりませんが
mouseの動きに追随して行の色が変わるのでmouseoverと思われます
そのプラグインを使わない
自分で修正したりカスタマイズしたり検索して調べられない人は人様のプラグインを使うべきではない
自分で修正したりカスタマイズしたり検索して調べられない人は人様のプラグインを使うべきではない
テーブル毎に設定しているmouseoverから
ひとつの要素にmousemoveを設定して、マウス座標からマスの位置を計算してみてはどうでしょうか
ひとつの要素にmousemoveを設定して、マウス座標からマスの位置を計算してみてはどうでしょうか
>>157
mouseoverも一つの要素で十分だよ
mouseoverも一つの要素で十分だよ
そのメソッドからは新しいオブジェクトを返して、
呼び出しもとでそれを上書きしたい変数に代入する
呼び出しもとでそれを上書きしたい変数に代入する
ライブラリ関連の質問は、ライブラリ用のスレでやるべき
その方が、情報が分散しないので調べやすく、効率もいい
このスレで、ライブラリ関連の質問を扱う、利点がない
情報を分散させるな
自分を情報に適応させればいいだけ
その方が、情報が分散しないので調べやすく、効率もいい
このスレで、ライブラリ関連の質問を扱う、利点がない
情報を分散させるな
自分を情報に適応させればいいだけ
>>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__ 未サポート実装にも対応させる場合は等価なコード 以下略)
それだとオブジェクトが複数の場所から参照されている場合に同期しなくなる
>>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__ 未サポート実装にも対応させる場合は等価なコード 以下略)
スウィフト登場でJavaScript死亡って聞きましたがマジですか?
JSはlodashの機能をネイティブに取り込んでいったらまだまだ戦える
Swiftは構文がCとは大分違ってて若干気持ち悪いな…
JavaScript以外はTypeScriptがあれば十分だ
JavaScript以外はTypeScriptがあれば十分だ
ここに長くいる人に質問なんだが
今、XMLHttpRequestで今まで経験した事ないバグに悩まされている…
それでここで過去に同じような報告あったか知ってる人いないかな?と思い投稿に至る。
バグは条件が決まってて…説明長くなるけどすまん
まず、ロリポップのサーバーでしか起きない。
自分のPC上に構築したローカル環境と無料サーバーatpagesでは起きなかった。
プログラム構成は
AファイルからJavascriptでXMLHttpRequestを作り、
XMLHttpRequest.sendのPOSTで同じディレクトリにあるPHPにデータ送るだけ。
送るデータは「<img src="../" width="" class="" alt="" />」この文字をencodeURIComponentでエスケープした物。
発生するバグは上記のデータ1つだと正常にPHPが呼ばれるけど
「<img src="../" width="" class="" alt="" /><img src="../" width="" class="" alt="" />」のように2つ以上にすると
XMLHttpRequest.statusに「403 サーバーからアクセスを拒否された」が返ってきてPHPにまでデータが届かない…。
それで色々試した所、上のタグの「../」部分をどちらか片方だけ返ると403にならないで200(正常)になることが判明。
例えば「../」ではなく「.,/」(ドットを1個カンマに変更)に変えるとかで動くんだ…。
じゃあと思いimgタグとか外して「../../」とかにてもバグらない。
どうしても上のimgタグ2列以上のデータのままじゃないとバグらない不思議。
ドットが悪いのかと思い、ドットを正規表現で「%2e」に変換しても何故か403!
しっかり変換されてることは確認済み。
送信する文字数過多でサーバーからはじかれてる?とも思ったがこれは大丈夫だった。
「11111111111111111111」というデータを上のバグるデータの8倍の長さで送信したけど403にはならなかった。
ブラウザはIE8、Chorme34.0.1847.137(最新)、Firefox29.0.1で試したが全部同じ
実データはバグるパターンのデータが必要なので悩んでる・・・。
どうも一定条件そろった時だけ出る未知のバグな気がして相当悩んでる・・・。過去に同じ事で悩んだ人ここにいなかったかな?
今、XMLHttpRequestで今まで経験した事ないバグに悩まされている…
それでここで過去に同じような報告あったか知ってる人いないかな?と思い投稿に至る。
バグは条件が決まってて…説明長くなるけどすまん
まず、ロリポップのサーバーでしか起きない。
自分のPC上に構築したローカル環境と無料サーバーatpagesでは起きなかった。
プログラム構成は
AファイルからJavascriptでXMLHttpRequestを作り、
XMLHttpRequest.sendのPOSTで同じディレクトリにあるPHPにデータ送るだけ。
送るデータは「<img src="../" width="" class="" alt="" />」この文字をencodeURIComponentでエスケープした物。
発生するバグは上記のデータ1つだと正常にPHPが呼ばれるけど
「<img src="../" width="" class="" alt="" /><img src="../" width="" class="" alt="" />」のように2つ以上にすると
XMLHttpRequest.statusに「403 サーバーからアクセスを拒否された」が返ってきてPHPにまでデータが届かない…。
それで色々試した所、上のタグの「../」部分をどちらか片方だけ返ると403にならないで200(正常)になることが判明。
例えば「../」ではなく「.,/」(ドットを1個カンマに変更)に変えるとかで動くんだ…。
じゃあと思いimgタグとか外して「../../」とかにてもバグらない。
どうしても上のimgタグ2列以上のデータのままじゃないとバグらない不思議。
ドットが悪いのかと思い、ドットを正規表現で「%2e」に変換しても何故か403!
しっかり変換されてることは確認済み。
送信する文字数過多でサーバーからはじかれてる?とも思ったがこれは大丈夫だった。
「11111111111111111111」というデータを上のバグるデータの8倍の長さで送信したけど403にはならなかった。
ブラウザはIE8、Chorme34.0.1847.137(最新)、Firefox29.0.1で試したが全部同じ
実データはバグるパターンのデータが必要なので悩んでる・・・。
どうも一定条件そろった時だけ出る未知のバグな気がして相当悩んでる・・・。過去に同じ事で悩んだ人ここにいなかったかな?
現象見るとサーバサイドの問題に見えるけど
webサーバのエラーログ見れるなら見てみたら
webサーバのエラーログ見れるなら見てみたら
>>169
やっぱりサーバーっぽいか…
今確認したらHTTPリクエストのログまでは見れたけどエラーログまで見る機能はないっぽい…
HTTPリクエストのログの方にも403が表示されてるだけで情報となりそうな物はなかった
ちなみに今妄想で疑っているのが
ロリポップサーバーだけウイルスチェックフィルターみたいのがあって送信されてくるデータをチェックしてて
下のimgタグ2個以上の内容が偶然そのフィルターにひっかかるのかなーとか思ってる…
やっぱりサーバーっぽいか…
今確認したらHTTPリクエストのログまでは見れたけどエラーログまで見る機能はないっぽい…
HTTPリクエストのログの方にも403が表示されてるだけで情報となりそうな物はなかった
ちなみに今妄想で疑っているのが
ロリポップサーバーだけウイルスチェックフィルターみたいのがあって送信されてくるデータをチェックしてて
下のimgタグ2個以上の内容が偶然そのフィルターにひっかかるのかなーとか思ってる…
なにかしら他の形式(Base64とか)にエンコードして、サーバ側でデコードするとかはできないん?
>>172
おおおおお!!ずばりそれだ!助かった!
WAFの存在知らなかったわ…そして設定変更できるのも今知った…こんな機能があったのだな
WAFの所にもログ表示があって見事に弾かれてた…恥ずかしい限りだ、、
それにしてもURLエンコードかかってる状態でも弾くとはなんて強力な機能
ちなみに「../ ../ w>」でも「%2e%2e%2F%20%2e%2e%2F%20w%3E」でも弾かれる
原因わかってスッキリした
みんなありがとう!
>>173
エンコードしても弾かれるんだこれ
でも修正案のヒントになったのでありがとう!
引っかかるデータを一時的に全角文字に変換しPHP側で半角に戻すやり方おもいついた
WAFをONのまま運用したほうがセキュリティーは高くなるし
お騒がせしました
おおおおお!!ずばりそれだ!助かった!
WAFの存在知らなかったわ…そして設定変更できるのも今知った…こんな機能があったのだな
WAFの所にもログ表示があって見事に弾かれてた…恥ずかしい限りだ、、
それにしてもURLエンコードかかってる状態でも弾くとはなんて強力な機能
ちなみに「../ ../ w>」でも「%2e%2e%2F%20%2e%2e%2F%20w%3E」でも弾かれる
原因わかってスッキリした
みんなありがとう!
>>173
エンコードしても弾かれるんだこれ
でも修正案のヒントになったのでありがとう!
引っかかるデータを一時的に全角文字に変換しPHP側で半角に戻すやり方おもいついた
WAFをONのまま運用したほうがセキュリティーは高くなるし
お騒がせしました
twitter.comではconsole.logが使えないんですけど
たぶんwindow.consoleを上書きされてるからなんでしょうが
これを使えるようにする方法を教えてください
たぶんwindow.consoleを上書きされてるからなんでしょうが
これを使えるようにする方法を教えてください
質問です
re =RegExp('a|b|c')
while( re..exec(str) )でマッチした部分がaだった場合のみreplaceする方法ってありますか?
execの結果を利用できると助かるんですが
re =RegExp('a|b|c')
while( re..exec(str) )でマッチした部分がaだった場合のみreplaceする方法ってありますか?
execの結果を利用できると助かるんですが
>>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
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
>>178
冗長で気持ち悪い。
var str = "abcdef";
str = str.replace(/a|b|c/g, function(ch) {
return (ch == "a") ? "0" : str;
});
冗長で気持ち悪い。
var str = "abcdef";
str = str.replace(/a|b|c/g, function(ch) {
return (ch == "a") ? "0" : str;
});
マッチした部分がaだった場合のみなのにaもbもcもマッチしてないかそれ
>>181
元のコードがわかりにくいから間違えたw
近い場所で同じ変数名使いまわすんじゃねーよ。
var str = "abcdef";
str = str.replace(/a|b|c/g, function(ch) {
return (ch == "a") ? "0" : ch;
});
元のコードがわかりにくいから間違えたw
近い場所で同じ変数名使いまわすんじゃねーよ。
var str = "abcdef";
str = str.replace(/a|b|c/g, function(ch) {
return (ch == "a") ? "0" : ch;
});
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 で発動します。
ただ本当にやりたいのは追加されたら勝手に発動して欲しいのです。
タイマー以外のスマートな方法で実現できないでしょうか?
$("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 で発動します。
ただ本当にやりたいのは追加されたら勝手に発動して欲しいのです。
タイマー以外のスマートな方法で実現できないでしょうか?
>>185
普通にDOMの MutationObserver でできない?
developer.mozilla.org/ja/docs/Web/API/MutationObserver
に例が載ってるよ
普通にDOMの MutationObserver でできない?
developer.mozilla.org/ja/docs/Web/API/MutationObserver
に例が載ってるよ
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 ありがとうございます。できました。
単語置換の他にツイートクリック時に別タブで開けるようにもなりました。
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 ありがとうございます。できました。
単語置換の他にツイートクリック時に別タブで開けるようにもなりました。
すいません便乗ですいません
twitterにajaxで取得する場合って秒数は1秒ごとってやばいですか?
twitterにajaxで取得する場合って秒数は1秒ごとってやばいですか?
>>188
TwitterのAPIはそもそも回数制限あるだろ
TwitterのAPIはそもそも回数制限あるだろ
jqueryで、削除時ハンドラみたいなことが出来ることを知りました
$.when($('#test').remove()).then(function(){
console.log('removed');
});
$('#test').remove();
という感じに使えます。これって内部的にどういう処理してるんですか?
$.when($('#test').remove()).then(function(){
console.log('removed');
});
$('#test').remove();
という感じに使えます。これって内部的にどういう処理してるんですか?
ある要素が削除された時に指定したコールバックを実行する
ってやりたいんですが、どうやればいいですか?
ってやりたいんですが、どうやればいいですか?
>>192
html
<div id="test">
<div id="hoge">hogehoge</div>
</div>
js
$('#test').bind('DOMNodeRemoved',function() { alert(1); });
// $('#hoge').remove();
html
<div id="test">
<div id="hoge">hogehoge</div>
</div>
js
$('#test').bind('DOMNodeRemoved',function() { alert(1); });
// $('#hoge').remove();
DOMNodeRemoved、またブラウザ依存しそうなイベントだなw
===を使うのは、比較対象が引数など型が自明じゃない場合だけの方がいいですか?
それとも必ず===の方がいいですか?
それとも必ず===の方がいいですか?
前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
みんなの評価 : 類似してるかもしれないスレッド
- + JavaScript の質問用スレッド vol.113 + (1001) - [97%] - 2014/1/25 12:46
- + JavaScript の質問用スレッド vol.110 + (1001) - [97%] - 2013/10/13 14:01
- + JavaScript の質問用スレッド vol.126 + (348) - [97%] - 2023/1/12 17:00
- + JavaScript の質問用スレッド vol.119 + (1002) - [97%] - 2014/10/3 15:30
- + JavaScript の質問用スレッド vol.118 + (1002) - [97%] - 2014/8/29 22:30
- + JavaScript の質問用スレッド vol.117 + (1009) - [97%] - 2014/8/5 3:30
- + JavaScript の質問用スレッド vol.115 + (1001) - [97%] - 2014/5/29 16:16
- + JavaScript の質問用スレッド vol.114 + (1001) - [97%] - 2014/5/3 10:45
- + JavaScript の質問用スレッド vol.112 + (1001) - [97%] - 2013/11/27 16:46
- + JavaScript の質問用スレッド vol.111 + (1001) - [97%] - 2013/11/4 6:00
- + JavaScript の質問用スレッド vol.113 + (1001) - [97%] - 2014/3/15 21:30
- + JavaScript の質問用スレッド vol.136 + (1001) - [97%] - 2019/1/8 11:30
- + JavaScript の質問用スレッド vol.106 + (1001) - [97%] - 2013/7/20 9:30
- + JavaScript の質問用スレッド vol.126 + (952) - [97%] - 2015/11/18 13:15
- + JavaScript の質問用スレッド vol.107 + (1001) - [95%] - 2013/9/7 10:16
- + JavaScript の質問用スレッド vol.121 + (1001) - [95%] - 2015/1/1 18:30
- + JavaScript の質問用スレッド vol.100 + (1001) - [95%] - 2012/6/13 22:46
トップメニューへ / →のくす牧場書庫について