[過去ログ] + JavaScript の質問用スレッド vol.139 + (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
662: 2019/05/09(木)20:00 ID:??? AAS
>>657
だからなにかって、このサイトはHTMLがすごく短いんだから
今話をしてる、ずーっと円周率が表示され続ける
「ページの読み込みが完了しない」サイトではない。
663: 2019/05/09(木)20:00 ID:??? AAS
>>657
> あと無限のHTMLってなんだ?
> ファイルサイズが無限のHTMLファイルがサーバーからひたすら送られてつづけてくるのか?
そういう話をしてるだろ。
> httpヘッダのcontent-lengthにはなんて書いてあるんだ?
必須じゃない。書く必要がない。
664: 2019/05/09(木)20:01 ID:??? AAS
> JSを使ってDOMツリーに無限に要素を追加していくことはできるけど、無限のHTMLなんてものは実現不可能じゃないの?
PHPで無限ループでechoするサイトでも書けば?
665: 2019/05/09(木)20:03 ID:??? AAS
> 詳しくは知らんが、多分ブラクラ扱いで受け取り拒否で終わるんじゃないか?
アホかw
どうやって、無限に表示され続けるかどうかを
クライアントで判断するんだよw
1TB読み込んで終わらなくても、もしかしたら1TB+1バイトで終了するかもしれんだろ
666: 2019/05/09(木)20:08 ID:??? AAS
>>657
> HTMLのパース中にscriptタグが出てきたら、それにasync/deferが付いてない限り、JSの読み込みと実行が終わるまでパーザは止まるよ
> だからscriptタグはなるべく(DOMツリーの構築がほぼ終了している)bodyのケツに書けってセオリーが生まれたんだろ
お前はこの言葉の意味がわかってないな。
今話しをしてるのは、パーサーが止まるかどうかじゃなくて、
画面は表示されるのかどうかだ。
画面はいつ表示される?
body終了タグ直前になるJavaScriptの実行が
終わらないと表示されないと思うか?
667: 2019/05/09(木)20:18 ID:??? AAS
「JavaScriptが実行されなくても画面は表示される」から、
bodyの終了タグの直前に書けってセオリーができたんだろ(呆)
で、bodyの終了タグの直前だと
「JavaScriptが実行されなくても画面は表示される」
ページが重くなればなるほど、コンテンツ表示からjs実行時までのタイムラグが発生する。
だから
> コンテンツ表示からjs実行までのタイムラグを減らすなら、
headに入れたほうが良いって話をしてる。
bodyの終了タグの直前にいれるのは、デメリットが一切ない完璧な解決策ではなく
コンテンツ表示からjs実行時までのタイムラグは短ければ十分許容できるだろうという
省7
668: 2019/05/09(木)20:46 ID:??? AAS
つかなんでonload嫌いなの?
個人的にbody内scriptのほうが嫌い
669(2): 2019/05/09(木)21:10 ID:??? AAS
頭の固い俺にはチンプンカンプンなので状況を整理させて
A. <head>でDOMContentLoaded
B. <head>でload
C. </body>手前で<script>
D. コンテンツ直後に<script>
E. MutationObserver
>>635はどれとどれを比較して、優位性を主張してるの?
どういう理屈でそれがいいの?
何にそんなに怒ってるの?(枝葉かもしれないけど、主張に関係してそうだから)
特に「永遠に円周率を表示するサイトっていうのは、</body>が永遠に来ない」のところが意味わかんない
670: 2019/05/09(木)21:51 ID:??? AAS
setTimeout(callback,0)やっとるだけ
</body>来とるがな
671: 2019/05/09(木)22:13 ID:??? AAS
>>669
俺が言ってる円周率を表示するサイトっていうのは、
HTMLではなくテキストとして返してくるサイトだよ
content-type: text/plain で返してくるんだよ
672: 2019/05/09(木)22:19 ID:??? AAS
俺が昔見たのとは違うが、こことか永遠と円周率を表示するサイトだな
外部リンク[html]:314.uw.hu
さてDOMContentLoadedは一体いつ発生するんだい?w
673(1): 2019/05/09(木)22:19 ID:??? AAS
content-type: text/plainなら</body>は永遠に来ないでしょうね
<head>もありませんけど
674(1): 2019/05/09(木)22:23 ID:??? AAS
>>669
> コンテンツ表示からjs実行までのタイムラグを減らす
という話をしてる。
コンテンツ表示までの時間を減らすという話じゃない
コンテンツ表示からjs実行までのタイムラグを減らす話だ
表示されてるけどJavaScriptは動かないから
この間に画面に触ったらJavaScriptは反応しないという状態だ
675: 2019/05/09(木)22:24 ID:??? AAS
>>673
そこで重要なのは、同じことをHTMLでもできるってことだよ
</body>が永遠に来ないサイトを作ることはできる
676(1): 2019/05/09(木)22:34 ID:??? AAS
勘で書くけど、
setTimeout(g,0) に、0 を渡しても、最小単位の数ミリ秒、空くからだろ。
その間に、レンダリングするのだろう
setTimeout は非同期だから、キューに、callback 関数を入れるだけで、即リターンする。
その後に、キューから関数を取り出して実行するので、
その間、最小単位の時間が空くのだろう
677(1): 2019/05/09(木)22:34 ID:??? AAS
>>674
ありがとうだけど、答えてくれてない…
> >>635はどれとどれを比較して、優位性を主張してるの?
> どういう理屈でそれがいいの?
> 何にそんなに怒ってるの?(枝葉かもしれないけど、主張に関係してそうだから)
678: 2019/05/09(木)22:35 ID:??? AAS
>>676
お前はずれてるから答えなくていい。
誰もお前がレスしてるサイトの話なんかしてないんだから
679: 2019/05/09(木)22:45 ID:??? AAS
jQuery なら、同じ要素で、メソッドチェーンで、2つのイベントも設定できる。
例えば、mouseover, mouseout で画像を切り替える
$( '#foo' ).mouseover( function( ) {
$(this).attr('src', 'a.gif');
}).mouseout( function( ) {
$(this).attr('src', 'b.gif');
});
680(1): 2019/05/09(木)22:49 ID:??? AAS
>>677
だから、
> コンテンツ表示からjs実行までのタイムラグを減らす
って話をしてるだろ?
格安SIMで通信速度制限で128kbp(16KB/秒)になったとしよう
HTMLだけで1MBのサイトだと64秒かかる。
つまりコンテンツが表示されはじめてから</body>がくるまで64秒かかる。
A. DOMContentLoadedは、コンテンツが表示されてから64秒後に発生
B. loadはAよりもさらに画像等のダウンロード後に発生
C. Aとほぼ同じ
省8
681: 2019/05/09(木)22:57 ID:??? AAS
>>680
なるほどね
理解できたけど、「やっぱりheadに入れるのがいいんじゃないの?」で$(document).on('click', selectorをエスパー出来る人はいないと思った
文脈的にはあなたの主張はBだと思ってたし、あなたに反論していた人もおそらくBの体で反論してたと思うよ
余計な争いを防ぐ為にも、投稿前に重要な情報が抜け落ちていないかを注意した方が良いように思う
上下前次1-新書関写板覧索設栞歴
あと 321 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.115s*