0

次のコードを使用して Silverlight ボタンを生成しています。

    Silverlight.createObjectEx(
    {
        source: controlSource, 
        parentElement: container,
        id: "ControlId",
        properties: { width: w, height: h, version: "4.0", background: NUSA_recordButtonBackgroundColor, enableHtmlAccess: "true", initParams: params},
        events: { onLoad: onControlLoad }            
    }

ここで私の問題は、ポップアップが Silverlight ボタンの上に配置されると、ボタンがポップアップを無視することです。ここでは、Z-index が正しく機能していません。機能を適切に動作させるには、「isWindowless」プロパティを true に設定する必要があります。

現在、上記のコードは、サーバーからではなく、別の場所から参照されている Js ファイルにあります。ページで JS ファイルの参照を使用しているだけです。上記の方法では、もう 1 つのプロパティ [isWindowless ='true'] を追加する必要があります。

現在のページの Javascript を使用して、JS ファイルの既存のメソッドにプロパティを追加する方法 (または) JavaScript を使用して既存のメソッドを削除する方法を教えてください。

4

1 に答える 1

1

では、.js ファイルのメソッドを変更することはできませんか? これは、Silverlight プラグインを同じ値で更新し、Windowless プロパティを設定するメソッド(私が作成したものではありません) です。それはあなたにとっての出発点かもしれません...

function RefreshSilverlight() {
    var source;
    var initParams;
    var SLControl = window.document.getElementById('WebResource_KBArticleLookup');
    var parent = SLControl.parentNode; 

   for (var i = 0; i < SLControl.childNodes.length; i++) 
   {
       for (var j = 0; j < SLControl.childNodes.item(i).attributes.length; j++) 
       {
          if (SLControl.childNodes.item(i).attributes.item(j).nodeValue == 'source') 
          {
              for (var k = 0; k < SLControl.childNodes.item(i).attributes.length; k++)
              {
                 if (SLControl.childNodes.item(i).attributes.item(k).nodeName == 'value')
                 {
                     source = SLControl.childNodes.item(i).attributes.item(k).nodeValue;
                 }
              }
          }

         if (SLControl.childNodes.item(i).attributes.item(j).nodeValue == 'initParams') 
         {
            for (var k = 0; k < SLControl.childNodes.item(i).attributes.length; k++) 
            {
               if (SLControl.childNodes.item(i).attributes.item(k).nodeName == 'value')
               {
                  initParams = SLControl.childNodes.item(i).attributes.item(k).nodeValue;
               }
            }
         }
      }
    }

    parent.removeChild(SLControl);
    Silverlight.createObject(source,
                             parent,
                             "WebResource_KBArticleLookup",
                             {
                                 width: '800',
                                 height: '600',
                                 windowless: 'true',
                                 enablehtmlaccess: 'true',
                                 minRuntimeVersion: '4.0'
                             },
                             null, initParams, null);

}

于 2013-05-22T00:04:47.977 に答える