VS2010が不安定

前回、/resetSettingsをオプションで初期化してから何かと動作が不安定です。
例えば、htmlの検証ですべてのタグがエラーになってしまいます。これは結局、以下の手順で解決しました。

メニューの「ツール」→「オプション」→「テキストエディタ」→「HTML」→「検証」と
進んで、ターゲットに任意の規格を指定します。

これ、例えばXHTML1.1で検証したい場合などにも使用できます。
ちなみに、上記の手順はオプション画面の下部の以下のチェックがついている場合の手順です。
すべての設定を表示

カテゴリー: .Net | タグ: | コメントは受け付けていません。

VS2010 が起動できない

VS2010β2を使用していて突如「The application cannot start.」と言われて、起動できなくなってしまった。
結局、devenv /resetSettingsを実行することで復活出来たが、下記のリンク先を先に見つけていたらもっともソフトランディングできたかも・・・

http://vsug.jp/tabid/63/forumid/42/threadid/7050/scope/posts/Default.aspx

カテゴリー: .Net | タグ: | コメントは受け付けていません。

JavascriptのNaNを判定

isNaN()について、どうも間違った説明をしているところが多いようですね(ググってて混乱しました)。
NaNは==や===に対して常にfalseを返すため、parseInt()の返値がNaNかどうかを判定するのにisNaN()を使用するわけですが、isNaN()は「NaNかどうか」では無く「数値に変換できるかどうか」を判定しているらいしいですね。
なので以下のような結果になるようです

isNaN(null); //false(nullは0扱い)
isNaN(10); //false
isNaN('10'); //false
isNaN('abc'); //true
isNaN(NaN); //true
isNaN(undefined); //true(数値には変換できない)
isNaN('10px'); //true

実験:


カテゴリー: JavaScript, tips | コメントは受け付けていません。

VS2010 が起動できない

突如として Visual Studio 2010ベータ版が「The application cannot be started.」といって起動出来なくなった。
結局、コマンドプロンプトからdevenv /resetuserdataとすることで解決した。

カテゴリー: tips, プログラミング | タグ: | コメントは受け付けていません。

文字列のソート

文字列の配列のカスタムソートを実現したいと思ったらsort関数に独自の比較関数を指定するわけですが、C#などの間隔で以下の用の式を書いて躓いてしまいます。

var names = srt.sort(function (a, b, x, y) {
    x = a.charAt(0) == "_" ? a.substring(1) : a;
    y = b.charAt(0) == "_" ? b.substring(1) : b;

    return x - y;
});


string型は引き算できないので比較した結果を返してやる必要があります。

    return (x == y) ? 0 : (x < y ? -1 : 1);

カテゴリー: JavaScript, tips | タグ: , , | コメントは受け付けていません。

javascriptのインテリセンス

VS2010ではJavascriptのインテリセンスに標準対応している訳ですが、htmlではうまく動作するのにjscriptファイルないでは動作しなくて嵌っていたのですが、実は仕掛けが必要です。

ファイルの先頭に以下のようにインテリセンスを働かせたいファイルに対して参照設定を記述する必要があります。

/// <reference path="jquery-1.3.2.js" />

 

カテゴリー: JavaScript | タグ: , | コメントは受け付けていません。

javascript の自前関数にインテリセンスを設定

Visual studio で自前のjavascriptにインテリセンスを追加する方法を示します。

関数のコードの先頭(関数定義の内側に以下のようなコメントを追加します。

function foo(bar, hoge) {
/// <summary>
/// 関数fooの説明
/// </summary>
/// <param name="bar" type="string">
/// barの説明
/// </param>
/// <param name="hoge" type="number"> hogeの説明</param>
/// <return type="string">引数の説明</return>

}

参考:
JScript インテリセンスの概要

カテゴリー: JavaScript, tips | タグ: , , | コメントは受け付けていません。

UpdatePanel に styleを設定する

ASP.NETのUpdatePanelにはスタイルを設定するための属性がありません。
ところが、たまにスタイルの設定を迫られます(例えばUpdatePanelの子要素に{width:100%;}などと設定してもUpdatePanelの要素が邪魔して旨く反映されません)。

いくつか解決方法がありますが、ここではjQueryを使用してクラスを付加する方法を示します。

<scrypt type="text/javascript>
   $('[id$=UpdatePanel1]').addClass('inner');
</script>

...
  <asp:UpdatePanel ID="UpdatePanel1" runat="server" >
     ...
  </asp:UpdatePanel>

単純な話、UpdatePanelはhtmlへ展開されればdiv要素などのidから要素を特定してclassを追加すれば良いということです。

カテゴリー: JavaScript, tips | タグ: , , | コメントは受け付けていません。

JavaScriptの開発環境

一般的に何を使っているんでしょうね?

今更テキストエディタのみの環境なんて考えられないですよね。最初はVisual Studio2008にパッチを当てて使っていましたが、今はVisualStudio2010ベータ版を使用しています。JavaScriptのインテリセンスにも対応しているし、デバッグもできますからね。
難点といえば動作がまだもっさりしていてよく落ちることですかね(まあベータ版ですから)。

後はこれにFirefox+
firebug
を使用しています。もっぱらJavascriptで生成したhtmlの確認やcssの効果の確認に使用していて、デバッグ機能は使っていないですが・・・

カテゴリー: JavaScript, プログラミング | タグ: , | コメントは受け付けていません。