none
jquery-1.9.0に更新したら Microsoft JScript 実行時エラーが発生するようになりました RRS feed

  • 質問

  • Visual Studio Express 2012 for Web、 MVC4 -Razor で開発を進めています。
    NuGetパッケージの管理でjqueryの更新を行ったら、Javascriptでエラーが発生するようになってしまいました。

    『Microsoft JScript 実行時エラー: オブジェクトは 'live' プロパティまたはメソッドをサポートしていません。』や

    Microsoft JScript 実行時エラー: プロパティ 'msie' の値を取得できません: オブジェクトは Null または未定義です。』のエラーが発生します。

    試に、新しいプロジェクトを作成しました。

    新しいプロジェクトを「ASP.NET MVC4 Webアプリケーション」-「インターネットアプリケーション」,Razor のテンプレートで作成し、デバッグモードでログインや登録のページが開くことを確認しました。この時点で jquery-1.7.1.js 等.がセットされます。

    その後[ツール]-[ライブラリパッケージマネージャー]「ソリューションのNuGetパッケージの管理」の更新プログラムから

    jQuery 1.9.0 を更新します。

    デバッグモード実行しHome-Indexより「登録」や「ログイン」をクリックすると

    『ハンドルされない例外 下記ソースコードの行 115、列 5 で発生しました。 http://localhost:56603/Scripts/jquery.unobtrusive-ajax.js
    0x800a01b6 - Microsoft JScript 実行時エラー: オブジェクトは 'live' プロパティまたはメソッドをサポートしていません。』
    のエラーが発生します。念の為全てのパッケージを更新してみましたがエラーを解消することはできませんでした。
    どう対処するべきでしょうか?
    よろしくお願いしたします。
    2013年1月30日 11:12

回答

すべての返信

  • > その後[ツール]-[ライブラリパッケージマネージャー]「ソリューションの
    > NuGetパッケージの管理」の更新プログラムから jQuery 1.9.0 を更新します。

    その前までは問題はなくて、その後問題が出るのですよね?

    「NuGetパッケージの管理」というのは使ったことがないので分かりませんが、それで実際にどういうことが起こっているのか把握されているのでしょうか? jQuery のみ 1.7.1 から 1.9.0 に更新されるのですか?

    そもそも 1.7.1 から 1.9.0 に更新しなければならない理由があるのでしょうか? なければそのまま 1.7.1 を使用してはいかがですか?

    2013年1月30日 12:50
  • .live()は1.9で削除されましたが。何がしたいのかわかりませんでした。
    2013年1月30日 23:03
  • SurferOnWwwさん、佐祐理さん 返信ありがとうございます。

    「NuGetパッケージの管理」は、jQuery などの JavaScript ライブラリや Entity Framework のランタイム アセンブリ、MVC 4 関連のアセンブリなどをパッケージとして管理するツールでライブラリの追加やアップデートなどが容易におこなえるようになっています。

    今回、NuGetよりあるパッケージを追加しようとしていました。

    「ついでに」 インストール済のパッケージのアップデートも行っておこうと思い、全てのパッケージの更新を、気軽に行ってしまいました。

    当該プロジェクトはサンプル作成用のプロジェクトで、今すぐ 1.9.0に 更新する必要はなかったのですが、他のプロジェクトに先行して早めに更新を行っておきたかったのです。

    その後の調査で、ajaxのプラグインのjquery.unobtrusive-ajax.jsが、jQuery  1.9 Upgrade で削除された「.live」を使用している為だとわかりました。

    現時点では、jquery.unobtrusive-ajax.jsが改定されるのを待つしかないようです。

    ありがとうございました。
    2013年1月30日 23:32