+ JavaScript の質問用スレッド vol.143 + at HP
[2ch|▼Menu]
255:Name_Not_Found
20/02/05 20:54:39 .net
ん?aとbのrequestFileの指す物が同じだと思ってるって事?

256:Name_Not_Found
20/02/05 20:58:31 .net
>>255
同じurlでGETすればonloadも共有してるのかなって思ってましたが、違うみたいでした

a()を実行した後で、b()でx.jpgのファイルがonloadされた時の挙動を変更するのが目的です

257:Name_Not_Found
20/02/05 22:26:32.03 .net
ユーザーが選択した数十GBの動画データをFileとして持っているとき
その時点では使用メモリとしてカウントされないのですが、
FileReaderにかけるとクラッシュしてしまいます。
例えばこの部分から100MBとか、していして読み込んでもらうことはできないのでしょうか?
Streamも調べましたが、頭からは安全に取れても位置を指定して行き帰りしながらデータを読む方法がわかりません。

258:Name_Not_Found
20/02/05 23:30:16.82 .net
ファイルは、一括して全部読み込むものと、
stream で、前からバッファへ読み込みながら、処理したら、すぐに捨てるタイプのものがある。
streamは、巨大な動画ファイルに使われる
streamのバッファサイズによる。
例えばブラウザで、1分前に戻ると、バッファ内にあるから、すぐに再生できるが、
10分前なら、バッファ内にないから再読み込みされる
streamはランダムアクセスできない。
データがバッファ内にあれば、出来るかも知れないが
ファイルを、一括して全部読み込む場合は、すべてがメモリ内にあるから、ランダムアクセスできるが、
大きいファイルは、読み込めない
使えるメモリサイズ以上を読み込むと、何かのデータが、HDD へスワップされるから、極端に遅くなる

259:Name_Not_Found
20/02/06 06:11:13 .net
お前のうんちくは聞いてない
できるならその方法を、できないかなら端的にそう言え

260:Name_Not_Found
20/02/06 07:08:25 .net
コーデックにもよるけど、CBRの動画でないとシークしたり、突拍子の無い場所にジャンプするのは不可能ではないが難しい。

あとGoPの仕組み上、キーフレームにしかシークできない。

261:Name_Not_Found
20/02/06 08:19:50 .net
>>256
aのrequestFile.onloadを上書きしなさい

262:Name_Not_Found
20/02/06 08:56:22.25 .net
>>261
それができねぇからわざわざaとbでやってるんだろ

263:Name_Not_Found
20/02/06 12:19:49.73 .net
>>254
var a = function(url){
requestFile.onload = function () { };
}
var b = function(url){
requestFile.onload = function () { };
}
上は、a 関数内の処理の定義で、
下は、b 関数内の処理の定義だから、
全く別の定義だろ。異なる!

264:Name_Not_Found
20/02/06 15:38:48 .net
>>262
それしか方法がないから、そういわれてんだろ
それが出来ねぇなら、諦めろ

265:Name_Not_Found
20/02/07 06:37:57 .net
プロトタイプをいじればできるでしょ

266:Name_Not_Found
20/02/07 10:17:14 .net
>>265
やってみた?
どうやって、aのrequestFileを取得する?

267:263
20/02/07 10:30:00 .net
>>254
var a = function(url){
var requestFile = new XMLHttpRequest();
requestFile.onload = function () { };
}

var b = function(url){
var requestFile = new XMLHttpRequest();
requestFile.onload = function () { };
}

上は、a 関数内の処理の定義で、
下は、b 関数内の処理の定義だから、全く別の定義です!

new で作っている、2つのXHR インスタンス、requestFile も、
同じ名前ですが、異なるインスタンスです!

これを同じ、1つのインスタンスで使いたいなら、外のスコープで定義しないといけないのでは?
できるかどうか知らないけど

var requestFile = new XMLHttpRequest();

var a = function(url){
requestFile.onload = function () { };
}

var b = function(url){
requestFile.onload = function () { };
}

268:263
20/02/07 10:33:25 .net
でも、1つのXHR インスタンスで、2回もonload を呼び出してくれるのか?

269:Name_Not_Found
20/02/07 12:51:07 .net
>>266
aのrequestFileを取得する必要は無いでしょ
プロトタイプに上書きされないようにセットすることはできるんだから

270:Name_Not_Found
20/02/07 15:57:27.27 .net
>>268
上書きしたいって言ってるんだから2回呼び出されなくていいんでね?
複数回呼び出したいならonloadプロパティではなくaddEventListener使えばいいんだし

271:Name_Not_Found
20/02/07 17:31:39 .net
>>269
どうやって、loadイベントをセットするの?

272:Name_Not_Found
20/02/07 23:00:46.73 .net
XMLHttpRequestを上書きすればいくらでもやりようがある

273:Name_Not_Found
20/02/08 08:45:28 .net
>>272
それだとプロトタイプ云々は関係なくなるな >>265

274:Name_Not_Found
20/02/10 14:15:27.84 3cn1UqHU.net
対応希望ブラウザはIE11,chromeです
閉じるボタン(ブラウザの×ボタン)または、こちらで用意したキャンセルボタンをクリックしたかどうかを判定する方法はありますか?
モーダル画面を開く処理の実装中です
子画面を開くときに親画面を操作不可にする処理を実行し、onunload処理で親画面に付与した操作不可の状態を解除するという流れにしています
しかし、子画面の中で画面を閉じる以外にもポストバックが走る処理があり、それらが実行された際にonunload処理が実行されてしまい小画面が閉じていないのに親画面が操作可能になってしまうという問題が生じています。
閉じるボタンまたはキャンセルボタンが押下された場合のみonunload処理の中身が走るように分岐を加えたいのですが、それらを判定する方法があれば教えてください

275:Name_Not_Found
20/02/10 14:56:30.98 .net
button要素にbisabled設定してJSのifでtrue,false設定しよう


最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

1564日前に更新/95 KB
担当:undef