問題タブ [domready]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
5 に答える
5693 参照

javascript - Ready 状態になる前に dom を操作しても大丈夫ですか?

これは一般的に、エクスペリエンスをクリーンに保ちながらプログレッシブ エンハンスメントを管理する方法ですが、どのくらい安全ですか? 競合状態の可能性はありますか?これは機能しませんか?

単純な抽象的なシナリオを想像してみてください。JavaScript をサポートしている場合は、別の方法で何かを表示したいと考えています。

多くの人は、フレームワークを使用して domready イベントを待ち、そこで変更を行うべきだと主張するかもしれません..しかし、ドキュメントの終了前に 'test' 要素が既にレンダリングされ、css の準備が整い、 domready トリガー.. したがって、「オリジナル」の顕著なちらつきを引き起こします。

このコードは、競合状態の障害を起こしやすいですか? または、要素がスクリプトの前に存在する場合、要素が検出可能で変更可能であることを保証できますか?

前もって感謝します。

0 投票する
2 に答える
1592 参照

javascript - window.onload はまだ起動していますか?

不明な時間に不明なページに挿入されるスクリプトがあります。window.onload がまだ起動しているかどうか、このスクリプトから判断できますか?

ホストページを制御できません。マークアップやスクリプトを追加できません。私が知っているのは、私のスクリプトがある時点でページに挿入されるということだけです。window.onload の前か後かもしれません。そのイベントのどちら側にいるかを検出する必要があります。

0 投票する
2 に答える
4939 参照

javascript - geckoベースのブラウザ用のdocument.readyStateアナログ

IEにはreadyState、ドキュメントオブジェクトに属性があります。これは、「読み込み中」、「完了」などの現在の状態を示します。

Mozillaベースのブラウザでドキュメントの現在の読み込み状態を見つける方法はありますか?私はDOMContentLoadedイベントを認識していますが、このイベントが発生した後にコードを実行できるため、状況に適合しません。

追加:いいえ、フレームワークを使用できず.readyState、XHRオブジェクトの属性と混同しないでください。また、ブックマークレットなので、どの読み込み段階でも挿入できます。

後で追加:とにかく、それは私にとって大きな問題ではないようです。この属性はFF3.6で追加されるため、未完成のDOMを操作する場合(IEとは異なり)、Firefoxで問題が発生することはありません。

0 投票する
3 に答える
4945 参照

javascript - jQueryで強制的にdomreadyをトリガーしますか?

javascript DOM メソッドを HTML ページの下部 (<body> の後) に配置することは、jQuery の「ready」イベントを使用するよりもはるかに高速であるため、次のようにして強制するべきではありません。

...ボディタグの後?私は実際にこれを試したことはありませんが、スピードアップするはずです。それとも私は何かを逃しましたか?

0 投票する
7 に答える
9480 参照

javascript - Google がアンチパターンと見なす DOMContentReady の使用

Google Closure ライブラリ チームのメンバーは、DOMContentReady イベントを待機することは悪い習慣であると主張しています。

簡単に言うと、DOMContentReady (またはさらに悪いことに load イベント) を待ちたくないということです。これは、ユーザー エクスペリエンスの低下につながるからです。すべての DOM がネットワークからロードされるまで、UI は応答しません。そのため、できるだけ早くインライン スクリプトを使用することをお勧めします。

彼らはまだこれに関する詳細を提供していないので、IEでOperation Abortedダイアログをどのように処理するのだろうか. このダイアログは、DOMContentReady (またはロード) イベントを待機することがわかっている唯一の重要な理由です。

  1. 他の理由を知っていますか?
  2. 彼らはその IE の問題にどのように対処していると思いますか?
0 投票する
6 に答える
8030 参照

javascript - フレームワーク全体がなくてもJavascriptDOMに対応

フレームワーク全体をロードせずに使用できる優れたjavascriptDOM対応ライブラリを知っている人はいますか?動作しているように見えるGoogleコードで1つを見つけましたが、ライブラリは2008年に投稿されており、最新のクロスブラウザサポートに関する確認が見つかりません。

0 投票する
1 に答える
1281 参照

javascript - DOM リフレッシュ後に jQuery で width() を測定する

私のスクリプトは、内部に<ul>width left-floating s を動的に作成します。これはページネーターです。<li>その後、スクリプトはすべて<li>の の幅を測定し、それらを合計します。

問題は、ノードがドキュメントに挿入された後、ブラウザーが DOM を更新し、CSS スタイルを適用するのに時間がかかることです。幅を測定する前にこれらの操作が完了していない場合、スクリプトは間違った値を取得します。測定を 1 秒で実行できれば、すべて問題ありません。

私が探しているのは、<ul>が完全に描画され、スタイルが適用され、幅が安定した瞬間を検出する方法です。または、少なくともすべての寸法の変化を検出する方法。もちろん、私は使用できますsetTimeout(..., 100)が、それは醜いと思います — 解決策ではありません。

幅の安定を検出する方法があれば、その直後に測定を行い、正しい値を取得します。

DOM によって生成された HTML コード

PSなぜこれが必要なのですか。私のページネーターの左フローティングアイテムは、ページ自体よりも幅を広げようとすると<li>、次の行に移動する傾向があります。親の幅制限のため<ul>、ほとんど<li>の は見えませんが:<div>

<ul>スクリプトでの実際の合計幅を指定しない限り、それらはまだ下がります。

0 投票する
2 に答える
301 参照

jquery - domreadyのないjQuery

after the <head>このコード(またはいくつか<link stylesheet>)を追加する方法を検索し、before <body> 生成(作成)されます。

<body>なしではないので、代わりに何か他のものdomready()を使用する方が良いようです。交換も可能です。headAppend

HTMLファイルを直接編集することはできません。そのため、JavaScriptを使用しています。

なぜそれが必要なのですか?domready()スクリプトを使用すると、ページの生成後にスタイルが追加されるため、新しいスタイルのブロックが以前の装飾から新しい装飾にジャンプします。これは良くありません。そのため、別のフックを使用する必要があります。

誰かがそれを行う方法を知っていますか?

ありがとう。

0 投票する
3 に答える
638 参照

jquery - jQuery の準備完了キュー $(foo) と $(bar) は順番に実行されますか、それとも並行して実行されますか?

jQuery の

DOM の準備ができたときに実行される関数を追加するには、それらの関数はすべて並列に実行されますか、それとも順番に実行されますか?

0 投票する
7 に答える
1998 参照

javascript - ドキュメント準備完了イベントについて

ねえ、私は JS と jQuery の練習用に別の基本的なスクリプトを書いていました。これが実際に構成されていることに気付いたとき、古き良きドキュメント対応イベントを作成していました。いいえ:

jQuery の準備が整ったドキュメントは次のとおりです。

さて、ドル記号は jQuery ライブラリを呼び出す jQuery の省略形なので、jQuery ステートメントと呼び出しを作成できますね。

(ドキュメント) は、DOM の「最上位」部分 (ウィンドウ以外) を参照するセレクターです。

.ready は、DOM が完全にロードされたときに発生するアクションです。さて、「DOM」が完全に読み込まれましたが、この場合の DOM は選択されているものを参照していますか? ドキュメントの代わりにボディが選択された場合、ロードされる前にスクリプトが実行されますか?

この部分は私を少し混乱させます。

ドキュメントが読み込まれると、スクリプトが実行されることはわかっています。言い換えれば、それは私たちの機能を正しく実行しますか? スクリプト全体が関数として考えられていますか? そして、これは実際には 1 つの大きな JavaScript ステートメントにすぎませんよね? セミコロンで終わるからです。また、スクリプトが通常、関数の括弧ではなく、中括弧の間にあるのはなぜですか? 違いはなんですか?

どうもありがとうございました。n00by の質問で申し訳ありません。xD