問題タブ [onload]
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.
javascript - IE6で新しく開いたウィンドウのOnLoadイベントを設定する
新しくポップアップしたウィンドウの onload 属性を設定する必要があります。次のコードは Firefox で機能します。
ただし、IE でこれを試すと、「printwindow.document.body null または定義されていません」というエラーが表示されます。
目標は、新しいウィンドウをポップして開き、開いたウィンドウの印刷ダイアログを呼び出すことです。
これを機能させる方法の手がかりはありますか?私はそれを制御できないため、ターゲット ページの他の場所で JavaScript を使用しないことが重要です。すべての機能は、上に投稿したリンクに含まれている必要があります。
javascript - 妥当なリクエスト:読み込みの進行状況を示すIEのIframe?
IEについて私を悩ませていることの1つは、iframeを使用してページをロードするときに、iframeがロードを完了するまで待機してからページをレンダリングすることです。対照的に、Firefoxは、iframeの読み込み中に他のすべてのページ要素をレンダリングします。これは、ページが進行中であるというフィードバックをユーザーに提供するため、iframeの読み込みに時間がかかる場合に非常に便利です。また、フレームが読み込まれている間に「iframe読み込み」メッセージを表示したり、iframeの読み込み時に交換したりすることもできます。
だから、誰かがこれの回避策を見つけたかどうか疑問に思っています。理想的には、iframeがページに読み込まれるときに進行状況バーを表示するクロスブラウザソリューションが必要です。それが足りない場合は、IEに最初にページをレンダリングしてからiframeをロードするように強制するiframeを実装する方法を採用します。
http://plugins.jquery.com/project/jQueryProgressBarのような興味深いjqueryプログレスバーをいくつか見てきました。
しかし...(そして私がここで間違っている場合は私の理解が不安定であるために私を訂正してください)...私にはjqueryバーはDOMがロードされた後にのみレンダリングされるようです。IEでは、DOMが読み込まれるまでiframeコンテンツは表示されないため、その時点でプログレスバーを表示することは重要ではありません。
また、iframe srcをloading.htmに設定してから、srcを必要なコンテンツにonload切り替えしてみました。残念ながら、IEは、最終的なコンテンツページが表示されるまで、ページをレンダリングしません(私には奇妙に思えます)。
私のstackoverflowを助けてください、あなたは私の唯一の希望です。
asp.net - ユーザー コントロール内のどのボタンがイベントを送信したかを判断する
いくつかのボタンを持つユーザー コントロールがあります。
で、特定のボタンが押さpage_load
れていない限りメソッドを実行したい。
ユーザーコントロール内で送信者をチェックするpage_load
と、ボタン自体ではなく、ユーザーコントロールの名前が取得されます。
どのボタンが押されたかを特定する方法はありますpage_load
か? それ以外の場合は、問題を解決するためのハックな方法を考え出す必要があります。
javascript - 読み込みの遅いリモートJS呼び出しをキャンセルする最良の方法
ドキュメントの先頭に表示する必要があるリモートJSがあります。サーバーの応答が遅いかアクセスできない場合は、明らかにこれによりページの読み込みが遅くなるか、妨げられます。私は、機能をロードせずに諦めるために、たとえば3秒(おそらくそれ以下)の制限を設定する簡単な方法を探していました。
Javascriptだけでこれを行う簡単な方法はありますか?
javascript - showModelessDialog - onLoad の失敗 - IE 7
MSIE v7 は (私の手では) モードレス ダイアログを開いたり、ターゲット ページに Javascript アラートがある場合に onLoad イベントをトリガーしたりしません。以下は MSIE v7 では失敗しますが、v6 では問題ありません (必要に応じて完全なソースの zip ファイルを入手できます)。
他の人がこれを確認し、なぜそうすべきかを議論してくれれば幸いです。
index.htm (ここでは JavaScript 関数のみを示します)
モードレス.htm
javascript - Javascript Window.Onload Function Chaining
実験のために、私はwindow.onload
Webブラウザーで関数を非破壊的にチェーンするさまざまな方法を決定しようとしてきました。これは私がこれまでに持っているもののアイデアです:
これで私が目にする問題は、関数をチェーンするたびに、スタックに別のレベルの関数呼び出しが追加されることです。コールスタックに不要な深さを追加しない、これを回避するためのより良い方法はありますか?
jquery - jQuery ドキュメントの ready() 関数の実行に非常に長い時間がかかる可能性
私の問題は、JavaScript (多くの場合 Google アナリティクス) の読み込みに非常に時間がかかる場合があることですが、HTML を「走査して操作する」準備ができているかどうかは重要ではありません。次のコードを使用するとします。
これは、<p>
Google アナリティクスのようなものが読み込まれるまでデータが入力されないということでしょうか?
Google アナリティクスのようなものは、通常、ほとんどの Web サイトでは必要ありません。読み込みが完了するのを待っていることがよくあります。(信頼性が低いため、onload は使用したくありません。)
「[...]を待たないで」と言うより良い方法または方法はありますか?
注:サイトはテンプレートに基づいているため、通常、<script>
タグの直前にコードをタグに配置することはできません。</body>
私は通常、ページの「コンテンツ」しか編集できません。
asp.net - Visual Studio がデフォルトで WebForms の Page_Load を提供するのはなぜですか?
新しい Web フォームを作成するとき、Visual Studio はデフォルトでコード ビハインドに Page_Load ハンドラーを作成します。そのため、何年もの間、Page_Load でコントロールのプロパティを設定するなどのことを行うためのコードを常に配置してきました。最近、Reflector を使用して Microsoft によって作成されたいくつかのアセンブリを調べたところ、同じタイプのロジックが OnLoad というメソッド (ロード イベントを発生させると思われる) に組み込まれていることがわかりました。そこで、OnLoad または Page_Load で、コントロールのプロパティを設定するのに最適な場所はどこでしょうか? それともまったく別の方法で?また、Page_Load でない場合、Studio はなぜそれをコード ビハインドに追加するのでしょうか?
私の最終的な考え: OnLoad にロジックを配置しても問題なく動作することはわかっていますが、今のところ Page_Load を使用するのは従来の方法であるため、そのままにしておくことにします。OnLoad が他の人のコードに登場するのを見始めた後、何か新しいことを見逃していないかどうかを確認するために、私は本当に質問をしました。思慮深い回答をありがとうございました!
dom - Dojo addOnLoadですが、Dojoはロードされていますか?
鶏が先か卵が先かという問題に遭遇し、論理的な解決策があると思います。しかし、他の人が似たようなものに遭遇したに違いないと思ったので、大衆のためにそこに浮かぶと思いました。
状況は、DOMがクライアント側でレンダリングを完了した後に実行する必要があるいくつかのコールバックをキューに入れるためにdojoのaddOnLoad関数を使用したいということです。だから私がしていることは次のとおりです:
さて、問題は、Dojoライブラリ全体がブラウザにダウンロードされる前にdojo.addOnLoadを呼び出しているように見えることです。DOM全体がロードされる前に(そして通常のbody onloadコールバックがトリガーされる前に)インラインSCRIPTコンテンツを実行する必要があるため、これはある意味で理にかなっています。
私の質問はこれです-私のアプローチサウンドです、または関数を呼び出すために通常/標準のボディオンロードJavaScriptコールバックを登録する方が理にかなっています。これは各dojo.addOnLoadsがSCRIPTブロックで実行しているのと同じ作業を行います。もちろん、これは疑問を投げかけます。ライブラリを使用する前にDojoライブラリがロードされることが保証されていないのに、なぜdojo.addOnLoadを使用するのでしょうか。
うまくいけば、この状況は私以外の誰かにとって理にかなっています。他の誰かがこの状況に遭遇した可能性があるようです。
考え?
よろしく、アダムライス
javascript - オンロード Javascript のベスト プラクティス
多くのページにまたがるいくつかの異なる onload スクリプトを処理する最良の方法は何ですか?
たとえば、50 の異なるページがあり、DOM の準備ができたときに各ページで異なるボタン クリック ハンドラーを設定したいとします。
個々のページごとにこのように onclicks を設定するのが最善ですか?
または、外部 js ファイル内の非常に長いドキュメント対応関数、
または、各if ($('link')) {}
セクションをスクリプト タグに分割し、適切なページに配置します。
または最後に、各if ($('link')) {}
セクションを個別の js ファイルに分割し、ページごとに適切にロードしますか?
解決策 1 は最も洗練されていないように見え、比較的目立ちます。解決策 2 は非常に長いロード関数につながります。解決策 3 は解決策 1 ほど目立たないが、それでも優れたものではありません。彼が訪れるページ。
これらのいずれかが最善 (または最悪) ですか、それとも私が考えていない解決策 5 はありますか?
編集:どのオンロード関数を使用するのが適切かではなく、デザインパターンについて質問しています。