元スレ+ JavaScript の質問用スレッド vol.87 +
JavaScript覧 / PC版 /みんなの評価 :
301 = :
new Image().src = 読ませるURL
302 = :
消えて良いかな?
303 = :
消えますよおおお?
304 = :
さようなら
305 = :
>>304
ばいばい
>>301
こんな感じでしょうか??
img=new Array();
img[]=new Image();
img0.src=0.jpg
||略
img11.src=ch.jpg
x=Math.floor(Math.random()*10)
document.hogehoge.src ="img" +x+".src"
306 = :
>>305
function sh(images){
for(var i = 0; i < images.length; i++) {
new Images().src = images[i];
}
}
//
img = ["./bunsen11-hp.png", "./evliyacelebi11-hp.jpg", "./houdini11-hp.jpg", "./persiannewyear11-hp.jpg"];
sh(img);
307 = :
>>297
その程度か
309 = :
他の質問よろしくお願いします。
<p>
<span id="test">aaaa</span>
</p>
ここでidがtestのところを全部削除したいのですが、
要素を削除する適当な関数とかがremoveChild以外に見つかりません。
var test = document.getElementById('test');
test.parentNode.removeChild(test);
こういう感じに一度親までもどって子供を消すという手順でよろしいでしょうか?
なんか無駄が多い気がしますが。
310 = :
if (evt.which==3) return false
で右クリックのコンテキストメニューを出さないようにしたいのですがOperaだとどうもうまくいきません
目的はワンクリックで進めていくゲームで特定の領域だけ右クリックを禁止状態にしたいです
あと「このページによる追加のダイアログ表示を抑止する」みたいなやつも出したくないのですが
(勢い余ってチェックいれてしまうとリロード=リセットしないときかなくなってしまうので)
なんかこのへんの情報ありませんでしょうか?
311 = :
<form action="http://" method="GET">
<input type='hidden' name='aaa' value=''値">
<input type="text" name="q">
<input type="submit" value=" 検索 " onclick="Search();" />
</form>
このようなフォームでSearch()内でaaa を除外するにはどうしたらいいでしょうか
313 = :
273氏
いいことを教えてやろう。
「プログラムが動いてるならそれ以上いじるな」
目的の動作をしているならそれでいい。何も不満などないだろう?
より良い方法を追求するのはいいことだが、それは動作を理解した上で、
リファレンスを眺めて「あ、こんなメソッドあったんだ」と気付くように
なってからの話。
そしてもちろん、リファレンスを眺めるなんて作業は、ここで質問する理由がない。
314 = :
>>311
disabled
315 = :
var a = [[1,2,3,4,,,,,9,,],[1,2,3,4,5,6,7,8,9,0,]];
この配列を文字通り文字列に変えるにはどうしたらいいでしょうか?
toStringではなく、[]も全て文字列にしたいのですが(evalで使えるような形)、
そういう手頃な関数とかありますでしょうか?
316 = :
hoge.toSourceとかuneval(hoge)とか
317 = :
javascript: Array.prototype.toString = function() {return "["+this.join(",")+"]";}; alert([[1,2,3,4,,,,,9,,],[1,2,3,4,5,6,7,8,9,0,]]);
よしよし、動いた動いた
318 = :
>>316-317
どうもありがとうございます。
助かりましたー
319 = :
>>315
JSON.stringify([[1,2,3,4,,,,,9,,],[1,2,3,4,5,6,7,8,9,0,]])
320 = :
IE8だとtoSourceもunevalもJSONオブジェクトもナイ
>>317がよさそう
321 = :
>>317
わざわざprototypeに突っ込む理由ないだろw
せめて myArrayToString() とかなんとか適当な関数名にしてやれよ。
>>315
警告しとくが、そんな発想でプログラムしてると「文字列化しておいたデータを
evalで戻すとかキチ○イに刃物」と罵られることになるぞ。
データを丸ごと文字列化しておきたい・文字列化したものをデータに戻したいってのは
誰でも考える(必要になる)ことだから、ちゃんとライブラリもある。
「JSON使え」がまともな回答。
322 = :
>>319
ありがとうございます。こっちはnullも入れてくれるんですね。
>>320
たしかにおっしゃるとおりでした。エラーでました。
>>321
どんな発想かわかりませんが、
機密情報を含むセーブデータで実際はさらに圧縮したものをcookieに入れることになります。
サーバにも保存してキャッシュになかったらapplication/jsonで取得するようにしますが。
323 = :
このスレ的にはもう少しまともに教えてやるべきなんだろうが、
生温かく放置して大惨事になるところを観察したい俺がいるw
324 = :
機密情報をcookieに入れるなwwww
325 = :
>>322
機密情報なら尚更安全にパースする必要がある
>>317は "hoge,foo" などが来た場合に適切にパース出来ない
326 = :
>>314
遅くなりました
ありがとうございます
327 = :
>>324
cookieは安全なんですが
329 = :
>>327
cookieに書き出すのはいいとして、ブラウザが「これcookieです」といって
渡してきたデータを無条件に「これ安全だよね」と信用できるなら
お前はその辺の新興宗教に洗脳される素養があるよ。
330 = :
なんかずいぶん煽り気質のやつがいるね
キチガイだの新興宗教に洗脳されるだの
なんかリアルで嫌なことでもあったのか?
331 = :
セッション管理でクッキー使った方が安全ならわかるが
普通にXSSでクッキー漏洩があるのに「安全」って何だろ
332 = :
windowオブジェクトの拡張ってどうやるんですか?
StringとかArrayの拡張はよく見るんですが、
window.prototype.hogeとかWindow.prototype.hogeとかやってみたけどIEでエラーが出ます。
333 = :
>>327
イントラなら安全かもね
334 = :
いまどき専用鯖も持ってない雑魚はよくないですね。
335 = :
俺はnew window();なんてコードは見たことないなぁ。
Elementのことか?
337 = :
>>332
IE なら window.constructor でとれるけど、セキュリティ上の理由でprototype拡張は無理
338 = :
>>335-337
IEで実装されてないいくつかの実装を拡張すればいいのにと思ってましたが、
セキュリティ↑の理由で無理なんですね。
どうもありがとうございました。
339 = :
>>330
このスレに、evalでデータ戻すだのcookieに機密データだのという奴が来るのは仕方がない。
イヤなことがあるとすれば、それらに対してまともな回答のできない奴が
回答者気取りで刃物を渡してしまうことだな。
340 = :
>>338
他ブラウザにあってIEにないwindowの機能、たとえばbtoaとかは
if (!window.btoa){ window.btoa = function(){/*実装*/}; }
とかで自分で用意できる。prototypeに入れようとする必要はない。
341 = :
それだとフレームに対応できない、てことじゃねの
343 = :
>>332>>337
Window.prototype.hoge じゃないの?
344 = :
>>343
その手法が通るのは Firefox4 だけでは?
Window.prototype.hoge = 'hoge';
alert(hoge); // Fx4 は "hoge"
"Window" の名前が通るのも Fx だけかと。
345 = :
>>342
globalにglobalStorageを置き
global.frames[0]、global.frames[1]がビュー集合
global.windowとglobal.documentが現在ビューと現在ドキュメント
こんな感じで良かったんじゃないかなあ
後方互換性を考えたとしてもglobal==windowである必要はなかったのに
W3C草案にタブがアクティブか調べるdocument.hiddenなんて出てたな
windowではなくdocumentに付けてるのが笑いどころ
あいつらもビューをどう扱ったらいいか分かんなくなってるっぽい
346 = :
window.hiddenなんてもうけたら
今グローバルでvar hiddenしてるコードは全滅
だからdocumentにつけとく
そのていどの理由じゃね
と考えつつ、ビューでビュー制御できないってのもアホくせと思った
349 = :
>>347
あー、ごめんなさい。IE8 の検証時には数値代入してましたが、String型の値を代入したら IE8 でもいけました。
window.constructor.prototype.hoge = 'hoge';
hoge; // "hoge"
ただ、セキュリティ上の理由があったのは Constellation さんから聞いた話なので確かだと思います。
過去試したときにはフレームを跨いで「グローバル変数」を実体化させる挙動を狙っていて(>342で取り上げられたように全てのフレームで btoa を使えるようにする、みたいな)それがセキュリティ上の理由で出来ないって話だったかと。
つまり、window.constructor.prototype.hoge を定義することによってフレームを跨いで window.hoge を定義する動作は出来なかったと思います。
>>348
衝突する場合は既存のプロパティが優先される仕様なんじゃないですかね。
過去、以下のようなケースの質問者さんに出会ったことがあります。
/* グローバルコード */
var name = [1, 2, 3]; // String型にキャストされるんだけど何故?→答え、window.name を初期化してるから
類似してるかもしれないスレッド
- + 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
トップメニューへ / →のくす牧場書庫について