locked
Mac版プラグインのバグ? RRS feed

  • 質問

  • Blendで作成したSilverlight1プロジェクトなのですが、最新のプラグインがインストールされているにも関わらず、
    MacのSafariでコンテンツが表示されずダウンロードバナーが出てしまいます。
    バナーから再度インストールしてもダメです。
    単純なコンテンツなら表示できるのですが、複雑なアニメーションを使った場合に問題が出てしまうようです。
    (Mac OSX 10.5.5/Safari 3.1.2)
    Windows環境ではきちんと表示できます。
    Mac版プラグインのバグでしょうか?

    2008年10月21日 17:52

回答

  • Extension MIME Type
    .xaml application/xaml+xml
    .xap application/x-silverlight-app

     

    必要な設定は、この2つです。.
     

    WPFを含めたMIME Typeの情報は、次のURLが詳しいです。

    http://blogs.msdn.com/tims/archive/2008/03/18/configuring-a-web-server-to-host-silverlight-content.aspx

     

    Windowsでは問題なく表示できているとありますが、もしかして開発マシン上の話ではありませんか。

    ブラウザのキャッシュをすべて削除して試して見ると、Macで起きている問題が再現できるかもしれません。

     

    私の経験からの推測ですが、おそらく問題は、画像の読み込みが終わっていないことにあると思います。

    簡単に使える<Image>オブジェクトですが、必ずLoadedイベントとImageFailedイベントを実装して読み込みエラーがないことを確認してください。
    handleLoadのJavaScriptメソッドが呼び出されるタイミングでは、必ずしもImageのロードがすべて終わっているとは限らないからです。特にたくさんの画像や大きい画像ファイルがあるということは、ロードが終わったことを確認した上で、Storyboardやマウス系のイベント処理を実行する必要があります。

     

    この件についての解決案を示した記事を次のURLに投稿しています。

    http://blogs.sqlpassj.org/akiraonishi/archive/2008/04/02/24670.aspx

     


     この投稿は現状のまま何の保証もなく掲載しているものであり、何らかの権利を許諾するものでもありません。コミュニティにおけるマイクロソフト社員による発言やコメントは、マイクロソフトの正式な見解またはコメントではありません。詳しくは http://www.microsoft.com/japan/communities/msp.mspx をご覧ください。

    2008年10月23日 9:06

すべての返信

  • > MacのSafariでコンテンツが表示されずダウンロードバナーが出てしまいます。

    お使いのSilverlightのバージョンをお知らせください。Silverlight 2 RTW (バージョン 2.0.31005.0)でしょうか。

     

    念のため、Silverlight.jsのバージョンを最新のものにして確認いただけますか。

    最新のSilverlight.jsは次のURLで公開されています。
    http://code.msdn.microsoft.com/silverlightjs

     

    ダウンロードは、

    http://code.msdn.microsoft.com/silverlightjs/Release/ProjectReleases.aspx?ReleaseId=1671

    のページから行えます。

     

    加えて、複雑なアニメーションを使った場合、という部分をもう少し詳しく教えていただけませんか。


    この投稿は現状のまま何の保証もなく掲載しているものであり、何らかの権利を許諾するものでもありません。コミュニティにおけるマイクロソフト社員による発言やコメントは、マイクロソフトの正式な見解またはコメントではありません。詳しくは http://www.microsoft.com/japan/communities/msp.mspx をご覧ください。

    2008年10月22日 2:16
  • 大西様、ご回答ありがとうございます。

    すみません、こちらの確認ミスというか勘違いもあったのですが、どうやらサーバに原因があるようです。
    IISのMIMEタイプは
    .xaml      application/xaml+xml
    .dll          application/x-msdownload
    .jsx         application/x-managedjscript
    で設定してあるのですが、Macではコンテンツが表示できないという状況です。
    (Windowsでは問題なく表示できています)

    で、試しに外部のサーバにアップしてみたところMacでも表示できるようになりました。
    MIMEタイプの設定は上記ではいけないのでしょうか?

    ちなみにSilverlightのバージョンは2.0.31005.0で、Silverlight.jsも教えていただいたページから再度入手して
    アップしてみました。
    コンテンツの内容は結構たくさんのJPGやPNGの画像が透過しつつ動いたりするもので、背景画像も動くので
    かなり大きな画像ファイルも使っています。

    2008年10月22日 8:56
  • Extension MIME Type
    .xaml application/xaml+xml
    .xap application/x-silverlight-app

     

    必要な設定は、この2つです。.
     

    WPFを含めたMIME Typeの情報は、次のURLが詳しいです。

    http://blogs.msdn.com/tims/archive/2008/03/18/configuring-a-web-server-to-host-silverlight-content.aspx

     

    Windowsでは問題なく表示できているとありますが、もしかして開発マシン上の話ではありませんか。

    ブラウザのキャッシュをすべて削除して試して見ると、Macで起きている問題が再現できるかもしれません。

     

    私の経験からの推測ですが、おそらく問題は、画像の読み込みが終わっていないことにあると思います。

    簡単に使える<Image>オブジェクトですが、必ずLoadedイベントとImageFailedイベントを実装して読み込みエラーがないことを確認してください。
    handleLoadのJavaScriptメソッドが呼び出されるタイミングでは、必ずしもImageのロードがすべて終わっているとは限らないからです。特にたくさんの画像や大きい画像ファイルがあるということは、ロードが終わったことを確認した上で、Storyboardやマウス系のイベント処理を実行する必要があります。

     

    この件についての解決案を示した記事を次のURLに投稿しています。

    http://blogs.sqlpassj.org/akiraonishi/archive/2008/04/02/24670.aspx

     


     この投稿は現状のまま何の保証もなく掲載しているものであり、何らかの権利を許諾するものでもありません。コミュニティにおけるマイクロソフト社員による発言やコメントは、マイクロソフトの正式な見解またはコメントではありません。詳しくは http://www.microsoft.com/japan/communities/msp.mspx をご覧ください。

    2008年10月23日 9:06
  • どうもありがとうございました。
    .xapの設定が不足していたのですね。
    Silverlight完全解説という本では、先に書いた3つでいいとなっていたのですが、.xapを
    追加したらMacでも表示できるようになりました。
    2008年10月23日 15:57