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

私的良スレ書庫

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

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

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
51 : Name_Not - 2011/01/20(木) 23:21:06 ID:??? (+27,+29,-4)
http://la.ma.la/js/roma.html
考えてることこれに近いんじゃない?
52 : Name_Not - 2011/01/20(木) 23:44:39 ID:??? (+38,+29,-18)
>>50
いずれは改めるんだろうけど、すぐには動かないから
ついでにjavascriptの勉強がてら作れたらいいなと
53 : Name_Not - 2011/01/20(木) 23:45:33 ID:??? (+26,+29,+0)
>>51
ああ、近いかもしれない
54 : Name_Not - 2011/01/21(金) 01:12:40 ID:??? (-21,-15,-3)
>>48
Aなら0、Bなら1が導けるのか
勉強になった。サンクス
55 : Name_Not - 2011/01/21(金) 09:18:19 ID:??? (+41,+29,-95)
>>52
検索相手側の文字列が取得できるなら、「検索文字列も相手側も
半角に揃えてから比較」で1回で済むわけで、皆それを勧めている
わけよ。百万回と1回じゃ桁違いすぎでしょ?

で、検索相手側に手が出せない場合でも、正規表現が使えるなら
すべての文字を「全角または半角」というパターンに取り替えて
正規表現検索してもいい。これでも1回。
56 : Name_Not - 2011/01/21(金) 09:48:52 ID:??? (+25,+14,-14)
>>55
取得できないんです
正規表現も使えないんです
57 : Name_Not - 2011/01/21(金) 12:33:38 ID:??? (-28,-29,-38)
IEではクロージャを使用するとメモリリークを起こすようですが(IE8等は分かりませんが)、jQueryは基本的にクロージャを使う構文が多いですが、
この場合メモリリークは起きないのでしょうか?
58 : Name_Not - 2011/01/21(金) 12:40:19 ID:??? (+38,+29,-6)
>>56
検索システムとかに何億通りかのリクエストを送りたいってことか?
59 : Name_Not - 2011/01/21(金) 13:38:55 ID:??? (+39,+30,-71)
>>56>>58
結論として「迷惑だからそんなことをしてはいけない。あきらめるべき」
というところかな。岡崎図書館事件て知ってるよね。逮捕されないようにね。
>>57
なんと言う拙速な理解。クロージャが全部リークするわけじゃないだろ。
そこがきちんと読み取れないのならWeb開発する資格ないと思うが。
60 : Name_Not - 2011/01/21(金) 14:28:46 ID:??? (+32,+29,+0)
>>58
場合によってはそうなりますね
61 : Name_Not - 2011/01/21(金) 16:34:43 ID:??? (+33,+29,-2)
>>59
許可を得てますので迷惑にはなりません
62 : Name_Not - 2011/01/21(金) 19:34:57 ID:??? (-10,-30,-204)
<a href="#abc">abc</a>のようにハッシュと中のテキストが同じというリンクが1000個以上あるhtmlがあります。
これをいちいち上記のように書くのが面倒なので、html上では<a>abc</a>とだけして、javascriptで以下のようにしました。

var a = document.getElementsByTagName('a');
for (var lp = 0; lp < a.length; lp++)
{
if (a[lp].href == '') {a[lp].setAttribute('href','#' + (a[lp].innerText || a[lp].textContent));}
}

FirefoxやOperaだとそれほどでもないのですが、ie6だとすっごく遅いです。
どうにか高速化できないでしょうか? なるべくならie6を窓から投げたくありません。
63 : Name_Not - 2011/01/21(金) 19:43:40 ID:??? (+21,+28,+0)
IE6を切り捨てないなんて許さない
64 : Name_Not - 2011/01/21(金) 20:06:06 ID:??? (+31,+29,-45)
本当に面倒だという理由なら、エディタの検索・置き換えで保存してアップしたほうが良いよ
正規表現使えば一瞬だよ
控えめなjavascriptにもなるし
66 : Name_Not - 2011/01/21(金) 20:09:28 ID:??? (-19,-13,-45)
>>62
JavaScriptじゃなくてテキストエディタの正規表現で一括置換するのがスマートだと思う。
67 : 0 - 2011/01/21(金) 20:30:24 ID:??? (+29,+30,-60)
皆さんありがとうございました。

>>64,66
そうだよね、javascriptであれやこれやより正規表現でずばっと書き換えたほうがいいですよね。
なんで気が付かなかったんだ自分……

>>65
うん、ほんとにすこーーーーーしだけ早くなったような気がするw
こっちの書き方のほうがスマートだし。以後の参考にします。
68 : Name_Not - 2011/01/21(金) 21:54:29 ID:S9Xg5H2O (+17,+29,-29)
どっちみちハッシュならaタグのクリックイベント拾って処理する方法でやった方が楽かな。
リンクないのにaタグなのも気持ち悪いからspanタグとかにしちゃうけど。
69 : Name_Not - 2011/01/21(金) 22:50:36 ID:??? (+31,+29,-56)
スクリプトを終了する命令ってありますか?

処理途中で出したダイアログで、ユーザが「OK」でなく「キャンセル」選んだら
そこで処理を終える、みたいな。
exitとかquitとかいう命令は無いみたいだし、gotoで最後の方に飛ぶとかもできないっぽい。
でっかくifで括るのも見づらいし。
70 : Name_Not - 2011/01/21(金) 22:55:16 ID:??? (-23,-14,+1)
return;
72 : Name_Not - 2011/01/21(金) 23:41:04 ID:??? (-29,-29,-14)
>>68
いっそBODYのonclickだけでどうだろうか
73 : Name_Not - 2011/01/21(金) 23:49:21 ID:??? (-27,-30,-96)
return といえば以下の return this; がよくわからないのですが、
Function.prototype.method = function (name, func) {
this.prototype[name] = func;
return this; // ?
};

ここから以下のようにしたとき、
Number.method('integer', function () {
return Math[this < 0 ? 'ceil' : 'floor'](this);
});

return this; はこんな感じで返るもの、と理解してよいのでしょうか?
Number.integer() {return Math[this < 0 ? 'ceil' : 'floor'](this);};
74 : Name_Not - 2011/01/22(土) 00:28:58 ID:??? (-27,-30,-63)
thisはarguments.calleeではなく、Number自体を返すので、繋げられる。
Number.method('integer', function () {
return Math[this < 0 ? 'ceil' : 'floor'](this);
}).method(~).method(~);
76 : Name_Not - 2011/01/22(土) 03:12:28 ID:??? (-27,-30,-68)
実測してないけど。

var a = document.getElementsByTagName('a'), l = a.length, node;
while (l--) {
 node = a[l];
 if (!node.href) {
  node.href = '#' + node.firstChild.nodeValue;
 }
}
77 : Name_Not - 2011/01/22(土) 10:31:36 ID:??? (+30,+27,-83)
ajax使ってPHPの処理を実行させた場合、
その結果を返す場合のPHP側の処理としては、
echoでメッセージを出せば、そのデータが結果として返されるんですか?

phpかこっちかどっちに質問したらよかったのかわからなかったので、
こっちにしてみましtあ。
78 : Name_Not - 2011/01/22(土) 11:42:50 ID:??? (+14,+26,+0)
もういいです
80 : Name_Not - 2011/01/22(土) 19:24:21 ID:??? (-26,-27,+0)
アンカー間違えた
×>>68,67
>>68,72
81 : Name_Not - 2011/01/22(土) 19:38:21 ID:??? (-22,-29,-109)
Opera限定なんですが、Operaのユーザスクリプトにて、
domにアクセスしようとしてできないページがあります。
今のところ、iframeを使ったページが怪しい感じですが、
これ何とかなりますか?
82 : Name_Not - 2011/01/22(土) 19:49:47 ID:??? (+13,+18,-2)
>>81
クロスドメイン制約のこと?
83 : Name_Not - 2011/01/22(土) 20:03:13 ID:??? (+24,+29,+0)
>>70-71
了解。
ありがとう!
85 : Name_Not - 2011/01/22(土) 23:36:42 ID:??? (-3,+6,+2)
>>81
zakuとは違うのだよ
86 : Name_Not - 2011/01/23(日) 17:07:54 ID:??? (+27,+29,-31)
━━━本スレに書く事を許される者は以下の通り━━━━━
 一、質問を分かる日本語できちんと説明できる者
 一、トラブルを再現する最小限のサンプルを貼れる者
87 : Name_Not - 2011/01/23(日) 18:58:30 ID:??? (-27,-30,-147)
htaで、ttp://weather.yahoo.co.jp/weather/jp/13/4410/13104/1631401.html
をテキスト形式で読み込んで変数txtに入れ、
var wth_today = txt.match(/<div id="yjw_pinpoint_today">([\n\r]|.)*?<!---\/yjw_pinpoint_today--->/);
という正規表現で切り取るものを書いたのですが、
なぜか欲しい文字列(<div ~ --->)の後に「,>」というゴミが付いてしまいます。
どなたか原因分かりませんでしょうか。
88 : Name_Not - 2011/01/23(日) 19:15:25 ID:??? (+18,+25,+0)
すいません、自己解決しました
89 : Name_Not - 2011/01/24(月) 03:42:53 ID:??? (+10,-30,+0)
ajaxでcsvデータを読み込み、作られたテーブルから情報を取得しようとしています。
しかしテーブル作成後、例えばgetElementsByTagName('"td")などとしても、中身は空っぽです。
通常のDOM操作をするにはどうしたらいいでしょうか。

function createXMLHttpRequest(func) {
var result = null ;
try { result = new XMLHttpRequest() ; }
catch (e) {try { result = new ActiveXObject("Msxml2.XMLHTTP") ; }
catch (e) {try { result = new ActiveXObject("Microsoft.XMLHTTP") ; }
catch (e) { return null ; }
}
}
if (result) result.onreadystatechange = func ;
return result ;
}

function makeTable() {
if (httpObj.readyState == 4) {
var data = httpObj.responseText.split("\n") ;
result = "" ;
for (i = 0; i < data.length; ++i)
result += '<tr><td>'+data[i].replace(/,/g, '</td><td>')+'</td></tr>' ;
document.body.innerHTML = '<table>'+result+'</table>' ;
}
}

window.onload = function() {
httpObj = createXMLHttpRequest(makeTable) ;
httpObj.open("GET", "./data.csv", true) ; httpObj.send("") ;
var test = document.getElementsByTagName("td")
alert(test.length) // 0が返る
}
90 : Name_Not - 2011/01/24(月) 07:46:27 ID:??? (-25,-30,-42)
openの第三引数をfalse(同期)にする、もしくはテーブル作成を待ってgetElementsByTagNameを実行
92 : Name_Not - 2011/01/24(月) 10:20:48 ID:??? (+29,+29,-4)
>>91
普通に多重ループすればいいだけだろこのゴミ野郎
94 : Name_Not - 2011/01/24(月) 10:42:29 ID:??? (+31,+29,-2)
>>92
どう言うのが普通なんでしょう?
97 : Name_Not - 2011/01/24(月) 12:14:41 ID:??? (+19,+28,-1)
拡張性考えろや馬鹿か
98 : Name_Not - 2011/01/24(月) 12:18:37 ID:??? (+23,+29,-5)
いやむしろ>>91のお勉強という意味でループ使わせた方がいい
99 : Name_Not - 2011/01/24(月) 12:19:49 ID:??? (-18,-30,-143)
質問です。

A.html内にiframeが配置されていて、そのiframeにはB.htmlが読み込まれています。
2回目の訪問(あるいはリロード)の際には、iframeの中をC.htmlに、
3回目の訪問(あるいはリロード)の際には、iframeの中をD.htmlに、
で、n回目の訪問の際には、iframeの中をA.htmlに戻したいです。

こういうことをJavaScriptでやろうと思った場合、Cookieを使う以外に手段はないでしょうか?
100 : Name_Not - 2011/01/24(月) 12:40:27 ID:??? (+16,+29,-7)
>>96
あ、数値は確定されてません。
あと、桁も揃ってません
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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