locked
HTMLファイルとjavascriptファイル、XAMLファイルを別ドメインに配置 RRS feed

  • 質問

  • はじめまして。

    takarin0425と申します。

     

    Silverlightについてはかなりの初心者のため、的外れな質問だったら申し訳ありません。。

     

    HTMLファイルとjavascriptファイル、XAMLファイルを別ドメインに配置したいと考えております。

    具体的には、

    ・HTMLファイル

    http://aaa.com/sl/test.html

     

    ・JSファイル

    http://bbb.com/sl/Silverlight.js

    http://bbb.com/sl/CreateSilverlight.js

     

    ・XAMLファイル

    http://bbb.com/sl/test.xaml

     

    またtest.htmlとCreativeSilverlight.js、test.xmlは以下のように記述しております。

    test.html

    -------------------------------------------------------------------------------------------------------------------------

    <html>
    <head>
    <script type="text/javascript" src="http://bbb.com/sl/Silverlight.js"></script>
    <script type="text/javascript" src="http://bbb.com/sl/CreateSilverlight.js"></script>
    </head>
    <body bgcolor=black>
    <div id="myHost"></div>
    <script type="text/javascript">
    var parentElement = document.getElementById("myHost");
    createSilverlight();
    </script>
    </body>
    </html>

    -------------------------------------------------------------------------------------------------------------------------

     

    CreateSilverlight.js

    -------------------------------------------------------------------------------------------------------------------------

    function createSilverlight(){
     Silverlight.createObject(
      "test.xaml",
      parentElement,
      "my",
      {
       width: "300",
       height: "300",
       background: "#FFFFFF",
       version: "1.0"
      },
      {
       onError: null,
       onLoad: null
      },
      null,
      null
     );
    }

    -------------------------------------------------------------------------------------------------------------------------

     

    test.xaml

    -------------------------------------------------------------------------------------------------------------------------

    <TextBlock xmlns="http://schemas.microsoft.com/client/2007" FontSize="20">
    Takarin0425 Test
    </TextBlock>

    -------------------------------------------------------------------------------------------------------------------------

     

    上記のようにしたところ、どうもxamlファイルが読み込まれていないのか、何も表示されません。

    ※silverlightが表示されるべきところ(300x300)が真っ白で表示されます

    createObjectのsourceプロパティを "http://bbb.com/sl/test.xaml" としても結果は同じです。

     

    もちろんjavascriptファイル、XAMLファイルを http://aaa.com/sl/ に配置すればちゃんと表示されます。

    上記のように別ドメインの配置はできないのでしょうか?

    それとも何かやり方が間違っていますでしょうか?

    ご教授いただけると幸いです。

    2008年4月22日 12:08

回答

  • はい、そうですね。ただ、SCRIPT タグには same-origin policy は適用されないようなので、問題になるのは xaml ファイルですね。

    この投稿は現状のまま何の保証もなく掲載しているものであり、何らかの権利を許諾するものでもありません。コミュニティにおけるマイクロソフト社員による発言やコメントは、マイクロソフトの正式な見解またはコメントではありません。詳しくは http://www.microsoft.com/japan/communities/msp.mspx をご覧ください。
    2008年4月23日 9:34
  • 私もちょっと Expression 2.5 で Silverlight をかじり中ですが、同じ悩みに遭遇しました。 ようはFlash みたく、1個の swf のファイルで Object タグのみで埋め込めるのと同じようにしたいなと。

     

    根本的な問題解決にはならないかもしれませんが、XMAL はインライン記述ができるので、ページ内に埋め込めます。

    http://msdn.microsoft.com/en-us/library/bb979776.aspx

     

    ポイントは

    Code Snippet
    <script type="text/xaml" id="xamlContent"><?xml version="1.0"?>

     

     

    の部分ですね。

     

    # これができても、どこかに CreateSilverLight.js と SilverLight.js をおかないといけないので、既存ですでに出来上がっているサイトの中に極力変更をかけずに(Share Point だったり、このフォーラムの投稿でもよいです)埋め込むというのは難しいというのがわかった今日この頃。

    2008年5月1日 6:55

すべての返信

  • 自己レスですが・・・

    こちらjavascriptのクロスドメインの問題でした。

    他の方法を考えることにします。

     

    2008年4月23日 5:42
  • はい、そうですね。ただ、SCRIPT タグには same-origin policy は適用されないようなので、問題になるのは xaml ファイルですね。

    この投稿は現状のまま何の保証もなく掲載しているものであり、何らかの権利を許諾するものでもありません。コミュニティにおけるマイクロソフト社員による発言やコメントは、マイクロソフトの正式な見解またはコメントではありません。詳しくは http://www.microsoft.com/japan/communities/msp.mspx をご覧ください。
    2008年4月23日 9:34
  • 私もちょっと Expression 2.5 で Silverlight をかじり中ですが、同じ悩みに遭遇しました。 ようはFlash みたく、1個の swf のファイルで Object タグのみで埋め込めるのと同じようにしたいなと。

     

    根本的な問題解決にはならないかもしれませんが、XMAL はインライン記述ができるので、ページ内に埋め込めます。

    http://msdn.microsoft.com/en-us/library/bb979776.aspx

     

    ポイントは

    Code Snippet
    <script type="text/xaml" id="xamlContent"><?xml version="1.0"?>

     

     

    の部分ですね。

     

    # これができても、どこかに CreateSilverLight.js と SilverLight.js をおかないといけないので、既存ですでに出来上がっているサイトの中に極力変更をかけずに(Share Point だったり、このフォーラムの投稿でもよいです)埋め込むというのは難しいというのがわかった今日この頃。

    2008年5月1日 6:55