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

みんなの評価 :
レスフィルター : (試験中)
eval 使えば >>714 も簡単にできる
>>714を使う理由がない
htmlエレメントをstyleも込で作れる関数の中で使ってる。
eval('elem.' + attr[i][0] + '=attr[i][1]');
evalのおかげでイベント用の関数もそのまま引数として渡せるようになった。
eval('elem.' + attr[i][0] + '=attr[i][1]');
evalのおかげでイベント用の関数もそのまま引数として渡せるようになった。
<script>
a = 1;
function a(){
alert(a);
}
</script>
aにvarをつけたほうがいいですか?
a = 1;
function a(){
alert(a);
}
</script>
aにvarをつけたほうがいいですか?
varって書く意味がわかってるなら別にどちらでも。
よくわからないなら書いた方が。
よくわからないなら書いた方が。
>>755
eval 使う必要ないような
eval 使う必要ないような
クロスサイトスクリプティング対策として、以下のような関数を作成しました。
function strToHtml( str ) {
str = str.replace( /&/g, "&" );
str = str.replace( /</g, "<" );
str = str.replace( />/g, ">" );
str = str.replace( /"/g, """ );
str = str.replace( /'/g, "'" );
return str;
}
function htmlToStr( html ) {
html = html.replace( /'/g, "\'" );
html = html.replace( /"/g, "\"" );
html = html.replace( />/g, ">" );
html = html.replace( /</g, "<" );
html = html.replace( /&/g, "&" );
return html;
}
もっと効率の良い書き方はないものでしょうか?
function strToHtml( str ) {
str = str.replace( /&/g, "&" );
str = str.replace( /</g, "<" );
str = str.replace( />/g, ">" );
str = str.replace( /"/g, """ );
str = str.replace( /'/g, "'" );
return str;
}
function htmlToStr( html ) {
html = html.replace( /'/g, "\'" );
html = html.replace( /"/g, "\"" );
html = html.replace( />/g, ">" );
html = html.replace( /</g, "<" );
html = html.replace( /&/g, "&" );
return html;
}
もっと効率の良い書き方はないものでしょうか?
すみません。
ここもHTMLだということを忘れてました。
function strToHtml( str ) {
str = str.replace( /&/g, "&amp;" );
str = str.replace( /</g, "&lt;" );
str = str.replace( />/g, "&gt;" );
str = str.replace( /"/g, "&quot;" );
str = str.replace( /'/g, "&apos;" );
return str;
}
function htmlToStr( html ) {
html = html.replace( /&apos;/g, "\'" );
html = html.replace( /&quot;/g, "\"" );
html = html.replace( /&gt;/g, ">" );
html = html.replace( /&lt;/g, "<" );
html = html.replace( /&amp;/g, "&" );
return html;
}
全角アンパサンドは半角だと思ってください。
ここもHTMLだということを忘れてました。
function strToHtml( str ) {
str = str.replace( /&/g, "&amp;" );
str = str.replace( /</g, "&lt;" );
str = str.replace( />/g, "&gt;" );
str = str.replace( /"/g, "&quot;" );
str = str.replace( /'/g, "&apos;" );
return str;
}
function htmlToStr( html ) {
html = html.replace( /&apos;/g, "\'" );
html = html.replace( /&quot;/g, "\"" );
html = html.replace( /&gt;/g, ">" );
html = html.replace( /&lt;/g, "<" );
html = html.replace( /&amp;/g, "&" );
return html;
}
全角アンパサンドは半角だと思ってください。
>>760
5つの文字だけしかやらないんならXSS対策になりませんよ
5つの文字だけしかやらないんならXSS対策になりませんよ
>>762
他にどんな文字があるのですか?
他にどんな文字があるのですか?
サロゲートペアとかブラウザの実装はどうなんだろう、正規化されるのかな
まあテキストとして扱うなら普通はtextContentなりdocument.createTextNodeで
まあテキストとして扱うなら普通はtextContentなりdocument.createTextNodeで
>>763
\0
\0
>>763
\0を空に置換する
\0を空に置換する
自己レス、サロゲートペアはブラウザで処理する限りは大丈夫らしい、
http://webos-goodies.jp/archives/51072404.html
http://webos-goodies.jp/archives/51072404.html
<input id="t1" type="text" size="14">
var t1=document.getElementById("t1");
テキストボックスに入力した値をt1とした場合
このt1が半角数字か、半角数字以外かを判断するには
どうすればいいのですか?
var t1=document.getElementById("t1");
テキストボックスに入力した値をt1とした場合
このt1が半角数字か、半角数字以外かを判断するには
どうすればいいのですか?
if(/^\d+$/.test(t1.value)) alert('半角数字でつ');
>>733 >>735 さん
二人のアドバイスのおかげで、思ったような挙動になりました。
formにonsubmitがあったことや、その場合にsubmitを利用すれば良いことを知らなかったので
どちらかのアドバイスだけでは、解決するまで余分に時間が掛かっていたかもしれません。
有用な情報を教えていただき、本当に有り難うございました。
remove() {
// input name="name" に、value を設定
// 送信可能な状態かを判断
// 戻り値として true か false を返す
}
<form method="post" onsubmit="return remove()">
<input type="text" name="id"/>
<input type="hidden" name="name"/>
<input type="hidden" name="type" value="remove"/>
<button type="submit">削除</button>
</form>
二人のアドバイスのおかげで、思ったような挙動になりました。
formにonsubmitがあったことや、その場合にsubmitを利用すれば良いことを知らなかったので
どちらかのアドバイスだけでは、解決するまで余分に時間が掛かっていたかもしれません。
有用な情報を教えていただき、本当に有り難うございました。
remove() {
// input name="name" に、value を設定
// 送信可能な状態かを判断
// 戻り値として true か false を返す
}
<form method="post" onsubmit="return remove()">
<input type="text" name="id"/>
<input type="hidden" name="name"/>
<input type="hidden" name="type" value="remove"/>
<button type="submit">削除</button>
</form>
javascript、初心者です。特殊文字変換に関して分からないことがあります。
<>といった特殊文字を投稿するときに&lt;や&gt;に変換するjavascriptを使用したいと思っています。
上の方(headタグ内)に、
<SCRIPT type="text/javascript">
<!--
var replKeywords = { '&': '&amp;', '<': '&lt;', '>': '&gt;' }
onload =
~
//-->
</SCRIPT>
があります。
(&lt;等は全角で書いています、半角だと思ってください)
下に続く
<>といった特殊文字を投稿するときに&lt;や&gt;に変換するjavascriptを使用したいと思っています。
上の方(headタグ内)に、
<SCRIPT type="text/javascript">
<!--
var replKeywords = { '&': '&amp;', '<': '&lt;', '>': '&gt;' }
onload =
~
//-->
</SCRIPT>
があります。
(&lt;等は全角で書いています、半角だと思ってください)
下に続く
>>755
var attr = [
{ className : "cls1 bgcol1", id : "id1", style : { display : "none" } },
{ className : "cls2 bgcol2", id : "id2", style : { position : "absolute", top : "10px", left : "3px" } },
{ className : "cls3 bgcol3", id : "id3", click : funcClickId3 }
];
もしこの程度のものだとしたら、どう見てもevalいらんぞ。
これ以上のものがあるかは、今すぐには思いつかんが。
var attr = [
{ className : "cls1 bgcol1", id : "id1", style : { display : "none" } },
{ className : "cls2 bgcol2", id : "id2", style : { position : "absolute", top : "10px", left : "3px" } },
{ className : "cls3 bgcol3", id : "id3", click : funcClickId3 }
];
もしこの程度のものだとしたら、どう見てもevalいらんぞ。
これ以上のものがあるかは、今すぐには思いつかんが。
ゲームなんかで使う画像を全て開いたときに先読みする場合って
var img_src = ['1.jpg','2.jpg','3.jpg','4.jpg','5.jpg'];
var p = 0;
var img_obj = {};
function load() {
if (!img_obj[img_src[p]]) {
img_obj[img_src[p]] = new Image(img_src[p]);
img_obj[img_src[p]].onload = p++;
return true;
} else {
return false;
}
}
while (load()) {}
こんな感じでいいんですか?
var img_src = ['1.jpg','2.jpg','3.jpg','4.jpg','5.jpg'];
var p = 0;
var img_obj = {};
function load() {
if (!img_obj[img_src[p]]) {
img_obj[img_src[p]] = new Image(img_src[p]);
img_obj[img_src[p]].onload = p++;
return true;
} else {
return false;
}
}
while (load()) {}
こんな感じでいいんですか?
>>787
書き間違ったかと思ったが、ちゃんと通るのを確認した。
関数 showhideForm() は残せよ?
置き換えるのは showhideFormをonloadに登録してる1行だけ。
つまり window.onload=showhideForm;
書き間違ったかと思ったが、ちゃんと通るのを確認した。
関数 showhideForm() は残せよ?
置き換えるのは showhideFormをonloadに登録してる1行だけ。
つまり window.onload=showhideForm;
>>786
そのonloadには何を入れている?w
キャッシュされてるか確認するには、ブラウザのキャッシュ削除しておいて、
その処理実行しただけで画像がキャッシュフォルダにくるか見ればいい。
"JavaScript 画像 先読み"でググればいろいろ出てるが、
ブラウザによっては多数同時に読みに行くと止まるみたいだし、
処理をブロックされにくくするならこんな感じ?
var img_src = ['1.jpg', '2.jpg', '3.jpg', '4.jpg', '5.jpg'];
function img_load(arr) {
var i = arr.length;
while (i--){ setTimeout(load(arr[i]), 0); }
function load(src) {
return function() {
var obj = new Image();
obj.src = src;
}
}
}
img_load(img_src);
そのonloadには何を入れている?w
キャッシュされてるか確認するには、ブラウザのキャッシュ削除しておいて、
その処理実行しただけで画像がキャッシュフォルダにくるか見ればいい。
"JavaScript 画像 先読み"でググればいろいろ出てるが、
ブラウザによっては多数同時に読みに行くと止まるみたいだし、
処理をブロックされにくくするならこんな感じ?
var img_src = ['1.jpg', '2.jpg', '3.jpg', '4.jpg', '5.jpg'];
function img_load(arr) {
var i = arr.length;
while (i--){ setTimeout(load(arr[i]), 0); }
function load(src) {
return function() {
var obj = new Image();
obj.src = src;
}
}
}
img_load(img_src);
もしかして、JavaScript ではヌルバイト攻撃に対処不能ですか?
探しても対応策の情報がでてこないのです。
JavaScript の処理中で影響がなければ、サーブレット側で処理ですかね?
探しても対応策の情報がでてこないのです。
JavaScript の処理中で影響がなければ、サーブレット側で処理ですかね?
>>759,783
たしかに、[.]が入るのだけ注意すればevalいらんね。
作ったのが大分前だから1行でかけることに惹かれたんだと思うw
attrは[['id', 'tst_1'], ['style.color', 'black'], ["onclick", function(){alert(this);}]]こんなかんじ。
たしかに、[.]が入るのだけ注意すればevalいらんね。
作ったのが大分前だから1行でかけることに惹かれたんだと思うw
attrは[['id', 'tst_1'], ['style.color', 'black'], ["onclick", function(){alert(this);}]]こんなかんじ。
【審議中】
∧,,∧ ∧,,∧
∧ (´・ω・) (・ω・`) ∧∧
( ´・ω) U) ( つと ノ(ω・` )
| U ( ´・) (・` ) と ノ
u-u (l ) ( ノu-u
`u-u'. `u-u'
∧,,∧ ∧,,∧
∧ (´・ω・) (・ω・`) ∧∧
( ´・ω) U) ( つと ノ(ω・` )
| U ( ´・) (・` ) と ノ
u-u (l ) ( ノu-u
`u-u'. `u-u'
なんか最近ここで質問に答えた時とその反応が気持ちよくて
教師になっちゃおうかなって思ったりする
教師になっちゃおうかなって思ったりする
>>794
style.border
style.border
ウイルス作成罪ワロタw
>改正案は、ウイルス(不正指令電磁的記録)を、「人が電子計算機を使用するに際してその意図に沿うべき動作をさせず、
>又はその意図に反する動作をさせるべき不正な指令を与える電磁的記録」と規定。
グーグルクロームの情報送信も教えなかったらウイルスじゃねーかよw
電子レンジで猫を温めてはいけないレベル
>改正案は、ウイルス(不正指令電磁的記録)を、「人が電子計算機を使用するに際してその意図に沿うべき動作をさせず、
>又はその意図に反する動作をさせるべき不正な指令を与える電磁的記録」と規定。
グーグルクロームの情報送信も教えなかったらウイルスじゃねーかよw
電子レンジで猫を温めてはいけないレベル



類似してるかもしれないスレッド
- + 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
トップメニューへ / →のくす牧場書庫について