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

みんなの評価 :
レスフィルター : (試験中)
location.hashがクロスブラウザで動かすにはハッシュをencodeURIComponentしてれば大丈夫でしょうか?
encodeURIComponent(location.hash) にしたら
バグのある Firefox 以外は二重エンコードされると思うよ
バグのある Firefox 以外は二重エンコードされると思うよ
>>99
! は明示的な型変換だからじゃないか
! は明示的な型変換だからじゃないか
>>101
いったんdecodeしてからもっかいencodeしる
いったんdecodeしてからもっかいencodeしる
os/ブラウザ WinXpSP3 Chrome11
HTMLTableRowElement等で高さの変更はできないのでしょうか?
表の中の特定行だけ高さを変えたいのですがググっても分かりませんでした。
<table onclick="this.childNodes[0].childNodes[0].style.height=0"…みたいにしたいです。
HTMLTableRowElement等で高さの変更はできないのでしょうか?
表の中の特定行だけ高さを変えたいのですがググっても分かりませんでした。
<table onclick="this.childNodes[0].childNodes[0].style.height=0"…みたいにしたいです。
>>105
event.currentTarget.tBodies[0].rows[0].style.height
event.currentTarget.tBodies[0].rows[0].style.height
>>106
論点はそこじゃない
===での型厳密比較を推奨するのなら
!""=>true, !0=>true, !NaN=>true, !undefined=>true, !null=>true
↑のような型変換規則を暗記しなきゃいけないブール値変換そのものにも
注意を出さないと一貫性に欠ける、て話じゃないの
俺もこれぐらい普通に暗記しろとは思うよ
論点はそこじゃない
===での型厳密比較を推奨するのなら
!""=>true, !0=>true, !NaN=>true, !undefined=>true, !null=>true
↑のような型変換規則を暗記しなきゃいけないブール値変換そのものにも
注意を出さないと一貫性に欠ける、て話じゃないの
俺もこれぐらい普通に暗記しろとは思うよ
>>113
URIComponentとして渡された時点で、適切にpercent encodingされているべきだろ
それをdecodeしたときに出てくる%はデータの一部であり、percent encodingではない
これが大前提だ
もしdecodeして出てくる%がさらにpercent encodingの一部であるなら
多重エスケープ以外にありえない
しかし、こちらは何回decodeすれば正しいデータが出てくるのか分からない
そんなデータは無視しなければ危険だろ
URIComponentとして渡された時点で、適切にpercent encodingされているべきだろ
それをdecodeしたときに出てくる%はデータの一部であり、percent encodingではない
これが大前提だ
もしdecodeして出てくる%がさらにpercent encodingの一部であるなら
多重エスケープ以外にありえない
しかし、こちらは何回decodeすれば正しいデータが出てくるのか分からない
そんなデータは無視しなければ危険だろ
ごめんPHPと混同してた
splitじゃあかんね
splitじゃあかんね
>>113
http://hoge.example/#foo#piyo は RFC3986 (3.5 Fragment) に違反しています。http://hoge.example/#ほげ も違反。
ただ、多くのブラウザはこれらを許容する実装ですね。初めの # 以降をURLハッシュと認識します。
http://hoge.example/#foo#piyo は RFC3986 (3.5 Fragment) に違反しています。http://hoge.example/#ほげ も違反。
ただ、多くのブラウザはこれらを許容する実装ですね。初めの # 以降をURLハッシュと認識します。
>>115
location.hash を参照したときに Firefox だけ、デコード後の文字列が返される問題について だと思うけど
encodeURIComponent(decodeURIComponent(location.hash)) だと
%DD が含まれていたら、やっぱり Firefox では違う結果になってしまう
location.hash を参照したときに Firefox だけ、デコード後の文字列が返される問題について だと思うけど
encodeURIComponent(decodeURIComponent(location.hash)) だと
%DD が含まれていたら、やっぱり Firefox では違う結果になってしまう
var fragment = /(#.+)$/.exec(location.href)[1];でFA?
>>109
レスありがとうございます。本当は行を隠そうと思ったのですが両方動きました。
以下のようなケースではstyle.heightの部分は0には設定できないのは仕様でしょうか?
<table border=1 onclick="event.currentTarget.tBodies[0].rows[0].style.height=100"><tr><td>a</td><td>b</td></tr></table>
<table border=1 onclick="this.childNodes[0].childNodes[0].style.height=100"><tr><td>a</td><td>b</td></tr></table>
レスありがとうございます。本当は行を隠そうと思ったのですが両方動きました。
以下のようなケースではstyle.heightの部分は0には設定できないのは仕様でしょうか?
<table border=1 onclick="event.currentTarget.tBodies[0].rows[0].style.height=100"><tr><td>a</td><td>b</td></tr></table>
<table border=1 onclick="this.childNodes[0].childNodes[0].style.height=100"><tr><td>a</td><td>b</td></tr></table>
location.hrefってバグがあるらしいからwindow.location.hrefで書けって言われたけどバグって何?
>>122
そのコードの100を0に替えたら普通に設定されたけど
見た目の話をしてる? ならスレチ
スレチだけど単位は0以外のときは必須だよ
XHTMLだとtbody要素が無かったりするから、Element.rows[0].style.heightを使った方がいいかもしれない
そのコードの100を0に替えたら普通に設定されたけど
見た目の話をしてる? ならスレチ
スレチだけど単位は0以外のときは必須だよ
XHTMLだとtbody要素が無かったりするから、Element.rows[0].style.heightを使った方がいいかもしれない
>>119
確かに RFC3986 規定通りの URI なら location.href.split('#')[1] でハッシュがとれるので URI を管理できるのならそれでもいいかもですね。
実際には規定に準拠した URI ばかりではないです。不特定の URI を相手取るなら # 以降のすべての文字をハッシュ値とする実装が妥当だと思います。
確かに RFC3986 規定通りの URI なら location.href.split('#')[1] でハッシュがとれるので URI を管理できるのならそれでもいいかもですね。
実際には規定に準拠した URI ばかりではないです。不特定の URI を相手取るなら # 以降のすべての文字をハッシュ値とする実装が妥当だと思います。
<script language="JavaScript">
var h=$PL[70];var timerID;
function () {
var dt = new Date();
dt = new Date(dt.getFullYear(), dt.getMonth(), dt.getDate()+1);
h = $DATE + dt;
}
</script>
$PL[70]というPerlで定められた変数の中に1日が終わるまでの秒数を代入したいです
こんな感じで作ってみたのですが動作しません;;
どこをなおせばいいでしょうか?
var h=$PL[70];var timerID;
function () {
var dt = new Date();
dt = new Date(dt.getFullYear(), dt.getMonth(), dt.getDate()+1);
h = $DATE + dt;
}
</script>
$PL[70]というPerlで定められた変数の中に1日が終わるまでの秒数を代入したいです
こんな感じで作ってみたのですが動作しません;;
どこをなおせばいいでしょうか?
JavaScriptはサーバサイドじゃないぞ。ページがブラウザとかに読み込まれないと動かない。
Perlでその数値を使いたいならPerl側で計算しないと。
Perlでその数値を使いたいならPerl側で計算しないと。
1度クリックすると翌日までクリックできないボタンを作ろうとしてます
それで、FORMで値を受け取ったときに同時に$PL[70]の中に12時になるまでの
残り秒数を代入したいです
ブラウザには読み込まれるので計算してくれるとは思うのですが・・・
それで、FORMで値を受け取ったときに同時に$PL[70]の中に12時になるまでの
残り秒数を代入したいです
ブラウザには読み込まれるので計算してくれるとは思うのですが・・・
クッキーでいいんじゃね?
どうせそんな作りこんでも対策なんて完璧な不可能なんだし
どうせそんな作りこんでも対策なんて完璧な不可能なんだし
var hoge = 'けちょんてちょん';
"フリーザ、貴様は ' このベジータ様が hoge に ' 倒す!"
とここにhogeを入れたいのですが、どーにも上手くいきません
どのように記述したらよいのでしょうか?
"フリーザ、貴様は ' このベジータ様が hoge に ' 倒す!"
とここにhogeを入れたいのですが、どーにも上手くいきません
どのように記述したらよいのでしょうか?
"フリーザ、貴様は ' このベジータ様が hoge に ' 倒す!"
表記→フリーザ、貴様は ' このベジータ様がhogeに ' 倒す!
"フリーザ、貴様は ' このベジータ様が "+hoge+" に ' 倒す!"
表記→フリーザ、貴様は ' このベジーた様がけちょんけちょんに ' 倒す!
表記→フリーザ、貴様は ' このベジータ様がhogeに ' 倒す!
"フリーザ、貴様は ' このベジータ様が "+hoge+" に ' 倒す!"
表記→フリーザ、貴様は ' このベジーた様がけちょんけちょんに ' 倒す!
$("aaa").test();
jqueryみたいに↑みたいな形で動くコードってどうかくのでしょうか?
↑のコードでaaaという文字列をalertしたいのです
jqueryみたいに↑みたいな形で動くコードってどうかくのでしょうか?
↑のコードでaaaという文字列をalertしたいのです
String.prototype.test = function() {
alert(this);
};
function $(str) {
return str;
}
$("aaa").test();
alert(this);
};
function $(str) {
return str;
}
$("aaa").test();
String.prototype.test
Stringが型
prototypeはおまじない
testがメソッド
function $(str)
$が値を受け取る為の専用メソッド
っていう風に認識してよいでしょうか?
Stringが型
prototypeはおまじない
testがメソッド
function $(str)
$が値を受け取る為の専用メソッド
っていう風に認識してよいでしょうか?
$("aaa").test().test().test().test();
こんな風に続けていきたいなら違った回答になるが。
$ = function (str) { return this;}
$.prototype.test = function(){
return this;
};
こんな風に続けていきたいなら違った回答になるが。
$ = function (str) { return this;}
$.prototype.test = function(){
return this;
};
>String.prototype.test
Stringオブジェクトのプロトタイプベースでの拡張方法
クラスベース(Javaとか)はStringをスーパークラスとして継承するが
プロトタイプベースはこのように後から取ってくっつけたような記法が可能
>function $(str)
多くのフレームワークでは
var $ = document.getElementById;
という感じにdocument.getElementByIdのショートカットになっている
Stringオブジェクトのプロトタイプベースでの拡張方法
クラスベース(Javaとか)はStringをスーパークラスとして継承するが
プロトタイプベースはこのように後から取ってくっつけたような記法が可能
>function $(str)
多くのフレームワークでは
var $ = document.getElementById;
という感じにdocument.getElementByIdのショートカットになっている
文字通りの意味でなら
var $ = function(s) {
return { str : s, test : function(){ alert(this.str); } };
};
$("aaa").test();
これでも要求通りに動く。ただし汎用性はあまりない。
JavaScriptにはメソッドの実装方法が複数あるけど、
ここで実例挙げて聞いても直接の参考にはならんと思うよ。
ここで聞いて参考になるのはブラウザ仕様とかだね。
JavaScriptの基本的な組み方は自分で勉強するしか。
var $ = function(s) {
return { str : s, test : function(){ alert(this.str); } };
};
$("aaa").test();
これでも要求通りに動く。ただし汎用性はあまりない。
JavaScriptにはメソッドの実装方法が複数あるけど、
ここで実例挙げて聞いても直接の参考にはならんと思うよ。
ここで聞いて参考になるのはブラウザ仕様とかだね。
JavaScriptの基本的な組み方は自分で勉強するしか。
循環参照ってわざとやる場合、
具体的にどんな使い道がありますか?
ある程度ggりましたが分かりません
教えてください
具体的にどんな使い道がありますか?
ある程度ggりましたが分かりません
教えてください
・単純な例
時計の秒針が1秒ずつずれている画像60枚があって、
1秒ごとに次の画像を表示することで、秒針が回っているように見せるとする。
データの構造が、0秒の画像の次は1秒の画像、1の次は2、2の次は3を指していて、
最後の59の次が0を指すようになっていれば、
プログラム側では「1秒ごとに"次"を表示する」で済む。
・DOMとかでよくある例
データ構造に親子関係がある場合、親は当然、自分の子供に対する参照を持つから、
親を対象にデータをいじってる時に子供を操作するのは簡単。
逆に、子供をいじっていて、その子供の親を操作したくなった時に、
子供が親への参照を持っていないと、親がどれなのか、
プログラマが保存しとくなり毎回調べるなりする必要がある。
子供が親に対する参照を持っていれば、子供から親がすぐ分かる。
時計の秒針が1秒ずつずれている画像60枚があって、
1秒ごとに次の画像を表示することで、秒針が回っているように見せるとする。
データの構造が、0秒の画像の次は1秒の画像、1の次は2、2の次は3を指していて、
最後の59の次が0を指すようになっていれば、
プログラム側では「1秒ごとに"次"を表示する」で済む。
・DOMとかでよくある例
データ構造に親子関係がある場合、親は当然、自分の子供に対する参照を持つから、
親を対象にデータをいじってる時に子供を操作するのは簡単。
逆に、子供をいじっていて、その子供の親を操作したくなった時に、
子供が親への参照を持っていないと、親がどれなのか、
プログラマが保存しとくなり毎回調べるなりする必要がある。
子供が親に対する参照を持っていれば、子供から親がすぐ分かる。
そういう意味か
スクリプトエンジンとDOMエンジンの循環参照のことだと思ってた
スクリプトエンジンとDOMエンジンの循環参照のことだと思ってた



類似してるかもしれないスレッド
- + JavaScript の質問用スレッド vol.84 + (1001) - [97%] - 2011/3/30 7:32
- + JavaScript の質問用スレッド vol.89 + (1001) - [97%] - 2011/9/4 4:17
- + JavaScript の質問用スレッド vol.88 + (1001) - [97%] - 2011/7/20 7:03
- + JavaScript の質問用スレッド vol.77 + (1001) - [97%] - 2010/5/8 19:06
- + JavaScript の質問用スレッド vol.86 + (1001) - [97%] - 2011/5/27 21:50
- + JavaScript の質問用スレッド vol.97 + (1001) - [97%] - 2012/3/1 3:31
- + JavaScript の質問用スレッド vol.80 + (1001) - [97%] - 2010/11/9 2:17
- + JavaScript の質問用スレッド vol.81 + (1001) - [97%] - 2010/12/10 20:01
- + JavaScript の質問用スレッド vol.85 + (1001) - [97%] - 2011/4/25 21:32
- + JavaScript の質問用スレッド vol.82 + (1001) - [97%] - 2011/1/19 7:54
- + JavaScript の質問用スレッド vol.83 + (1001) - [97%] - 2011/2/24 8:02
- + JavaScript の質問用スレッド vol.107 + (1001) - [95%] - 2013/9/7 10:16
- + JavaScript の質問用スレッド vol.117 + (1009) - [95%] - 2014/8/5 3:30
- + JavaScript の質問用スレッド vol.137 + (1003) - [95%] - 2019/3/26 11:46
- + JavaScript の質問用スレッド vol.127 + (1001) - [95%] - 2016/2/4 0:15
- + JavaScript の質問用スレッド vol.127 + (160) - [95%] - 2021/7/16 9:30
- + JavaScript の質問用スレッド vol.94 + (1001) - [95%] - 2012/1/8 15:46
トップメニューへ / →のくす牧場書庫について