我通过以下代码生成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 File中,它引用了另一个位置,而不是我们的服务器。我只是在我的页面中使用了JS文件的引用。 在上面的方法中,我必须再添加一个属性[isWindowless ='true']
任何人都可以告诉,如何通过当前页面中的Javascript向JS文件中的现有方法添加属性 (要么) 如何通过javascript取消现有方法
答案 0 :(得分:1)
所以你不能改变.js文件中的方法? Here is a method(不是我写的)用相同的值刷新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);
}