- PR -

SetFocusについて

投稿者投稿内容
どせい
大ベテラン
会議室デビュー日: 2006/10/25
投稿数: 145
投稿日時: 2006-11-29 15:33
引用:

ぜうすさんの書き込み (2006-11-29 13:09) より:
反論...つまり、個人的攻撃?...されましても謝るしかございません。


反論=個人的攻撃
とはまた素晴らしく飛躍した解釈を持っていらっしゃるw

自分が感覚で書いた情報にツッコミ入れられて、それに文句垂れるくらいなら
最初に正確な情報を書けよw


[ メッセージ編集済み 編集者: 未記入 編集日時 2006-11-29 15:35 ]
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2006-11-29 22:49
引用:

ぜうすさんの書き込み (2006-11-29 13:09) より:

ついでですが、
>画面のロード完了以降でなければ、実行できる保障がないですが。
って経験則?厳密には保障できないと思うのですが。だって非同期でしょ?あっ、「全く根拠がないような気がします。」をここで使えばいいのか!


[ メッセージ編集済み 編集者: ぜうす 編集日時 2006-11-29 16:23 ]


わからん。
非同期だから、オブジェクトが生成されている保証がなく、ゆえに、ロードが完了していなければ実行できる保証がない。

なぜ、それに異を唱える?

先に書かなかったっけ?
何故そうなのか理解しないから、わからんのだと
_________________
ぼのぼの
ぬし
会議室デビュー日: 2004/09/16
投稿数: 544
投稿日時: 2006-11-30 00:44
引用:

ぜうすさんの書き込み (2006-11-29 10:40) より:
ぼのぼのさん、すみません、経験則をえらそうに書いてしまって。
経験則ですが、どのブラウザでも安定した動きを保障したいための商用プログラマの保険みたいなものですから、皆さんに押し付けるつもりは毛頭ございません。
よって反論する根拠もありませんし、反論する気もありません。

でもちょっとだけ気になる発言だけを...

>それならもう知ってるので10へぇw
 えらいですね〜、賢いですね〜、すごいですね〜!あなたは天才ですよ!
 これぐらい褒めればよろしいでしょうか?


なんか気分を害されたようで…

「<head>に書くと安定する」というのは初耳だったので、本当だったらすごいなーと思ったんですが、
実際は「functionにしといて、onloadで呼び出す」だったわけですよね。
つまりぜうすさんは図らずも間違った情報を提供してしまったわけで。

そこに突っ込んだ結果になったわけですが、突っ込み方というか、
言い回しにトゲがあったのは良くなかったです。ごめんなさい。m(_ _)m


しかしその後のぜうすさんの発言ははっきり行ってかなり問題ありです。

経験則って結構大事なんですよ。経験て、事実の集積の上に成り立ってるものですから。
理論的な説明ができなくても、「実際こうしたらこうなったことがある」という事実が添えられていれば、
それは立派な根拠になります。

しかし、それすら添えられていないと、せっかく提供してくださった情報も信頼感に欠けるものになってしまいます。
リアルのぜうすさんを知ってる人なら、
「あのぜうすさんが言うなら、信頼できる情報なんだろう」ってなるかもしれませんが、
私を含めた掲示板利用者は、根拠の添えられてない情報を鵜呑みにすることはできません。

まして、自ら

引用:

これこそ経験則だから信用しないでくださいw


などと言ってしまっては、「ならはじめから書くな」と突っ込まれてもしょうがないと思います。

引用:

>要は、</body>まで解釈し終わってから実行されるから、
...トラップ?経験上、そうじゃないこともあるぐらい知ってますよね〜。


これも、もし本当なら私の知らない情報なので、もし再現コードとか記憶してるのなら、教えていただきたいんですが…
そんな具体的なとこまではいちいち記憶してないですか?
ぼのぼの
ぬし
会議室デビュー日: 2004/09/16
投稿数: 544
投稿日時: 2006-11-30 01:35
こっちはスレ主さんへ。

なんか、私が脱線させてしまったような感じで、申し訳ない。
話を本筋に戻します。

ASP.NETでクライアントスクリプトを使用する際には、いくつもの実装方法があります。

まず、Page.ClientScriptプロパティのRegisterClientScriptBlockメソッドや
RegisterStartupScriptメソッドを使用してサーバ側のコードから埋め込む方法。

次にaspxの中に直接埋め込む方法。
直接埋め込むにしても、functionにしといてイベントに絡めて呼び出す方法と、
body内に即時実行される形で記述する方法に分かれます。
#即時実行される形でfunctionを呼び出すのももちろんアリ。

他に外部ファイルに切り出す方法もあります。


いずれの方法で実装するにしろ、Jittaさんが仰ってるように、クライアントスクリプトは
最終的に出力されるHTMLの中で「どのタイミングで」「どの順番で」実行されるかが、
非常に重要になってきます。

また、かるあさんが仰ってるように、ASP.NETは、コーダの意識しないところで
HTML内の至るところにクライアントスクリプトを吐き出すので、
それらのスクリプトより先に実行された方が良いのか、後に実行された方が良いのかも
考慮しなければなりません。
#てゆーか、元々の話が検証コントロールが生成したスクリプトの動作を
#無理矢理変えちゃおうってものだから、もろにこれですね。


どの実装方法を使うと、どの順番で、どのタイミングで実行されるようになるのかは、
非常に重要なので是非覚えてください。そして、覚えるには本やWebで調べるのも重要ですが、
実際にコードを書いて動かしてみるのが一番てっとりばやいです。
#開発中のソースを使うとわけわかんなくなるので、
#ミニマムコードのaspxをいっこ作っちゃった方が良いです。


センパイの言うことも、あまり鵜呑みにせず、時間の許す限り自分で裏をとってみた方が良いです。
そしてもし情報が間違っていたら、逆に指摘してあげてくださいな。
けい
会議室デビュー日: 2006/08/09
投稿数: 5
投稿日時: 2006-11-30 09:58
引用:

「スクリプトエラーの内容は信用ならぬ」とセンパイが言っていたのですが


スクリプトのエラーの行番号って空行無視されませんでした?
例えば
コード:
・・・・・・

・・・・・・


・・・・・・←この行でエラー


という場合3行目でエラーと表示された気がします。
今試したわけでは無いので違っていたらごめんなさい。
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2006-11-30 10:23
>けいさん

無視されませんよ。

行番号がわかりにくい場合、
1.実行
2.エラー
3.空行を入れる
4.行番号の変化を見る
を繰り返してエラー箇所を特定する事をたまにやります。

けい
会議室デビュー日: 2006/08/09
投稿数: 5
投稿日時: 2006-11-30 11:08
>かつのりさん
ご指摘ありがとうございます。
JavaScript触っている時に空行があるからズレるのか…と思った記憶があったもので。
何だったのかが気になります。
未記入
ベテラン
会議室デビュー日: 2003/06/26
投稿数: 76
投稿日時: 2006-11-30 11:56


[ メッセージ編集済み 編集者: 未記入 編集日時 2007-01-19 19:54 ]

スキルアップ/キャリアアップ(JOB@IT)