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 文件的引用。在上述方法中,我必须再添加一个属性 [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 回答