Silverlight中的Silverlight.js的用法学习

Silverlight.js: 文件提供一些 JavaScript 帮助器函数,这些函数用于将 Silverlight 插件嵌入某一网页和用于自定义 Silverlight 安装体验。

 

常用函数:

 

createObject : 创建或者返回一个SL对象.

函数原型:

Silverlight.createObject(source, parentElement, id, properties, events, initParams, userContext);

source:Xap文件的地址

parentElement:要加载到JHTML的节点,若为null则返回创建此对象的HTML字符串,否则无返回值,直接加载到节点上.

id:生成此对象的ID

properties:数组,包括{background:"red",enableHtmlAccess:true,maxFrameRate:30,windowless:false,version:"4.0",alt:"" }等,//至少要在此属性中指定一个版本,否则会报JS错误,但不保证生成正确的SL对象(SL3.0)

events:数组,包括onLoad和onError等

initParams:字符串,如 "arg1=val1,arg2=val2"

userContext:它在事件发生时传递到您的 onLoad 事件处理程序。可以使用些参数确认多个中的那个SL对象加载完成

Silverlight.createObject("ClientBin/MySilverlight.xap", silverlightHost, "SilverlightPugin", { background: "red", enableHtmlAccess: true, maxFrameRate: 300 }, { onLoad: function(a,b) { alert(b);//弹出hwj383 }, onError: function() { alert("加载出错"); } }, "arg1=val1,arg2=val2", "hwj383");

 

使用些方法会用SL生成的HTML替换 parentElement.innerHTML


 

createObjectEx :创建或者返回一个SL对象.接受一个数组参数.

在MSDN上并没有查阅到相关定义数组信息,但是通过调试:

 

Silverlight.createObjectEx=function(b){var a=b,c=Silverlight.createObject(a.source,a.parentElement,a.id,a.properties,a.events,a.initParams,a.context);

 

createObjectEx直接调用creatObject方法.

参数为 var obj = new Object();

obj["source"]="ClientBin/MySilverlight.xap"

obj["parentElement"]

obj["id"]

obj["properties"] //至少要在此属性中指定一个版本,否则会报JS错误,但不保证生成正确的SL对象(SL3.0)

obj["events"]

obj["initParams"]

obj["context"]

 

Silverlight.createObjectEx({ source: "ClientBin/MySilverlight.xap", parentElement: silverlightHost, properties: { version: "3.0"} });


 

default_error_handler :在弹出对话框中显示错误数据的 onError 事件提供默认处理程序。

Silverlight.default_error_handler = function(sender,args){ //code }

 


 

getSilverlight :请求(下载)一个指定版本号的SL客户端插件,或使用""空串请求最新版本 如使用 getSilverlight("3.0")或getSliverlight("") getSilverlight 将调用 onGetSilverlight 方法.如果"订阅"此方法,可以在下载前做某些操作:如:

Silverlight.onGetSilverlight = function()

{

alert("您将马上安装Silverlight插件,请稍候...");

}

 


 

isBrowserRestartRequired :

指示在加载网页时是否已安装 Silverlight 插件,并且如果升级插件则要求浏览器重新启动。

返回值:如果已安装 Silverlight 插件并且升级后要求浏览器重新启动,则为 true;否则为 false

 


 

isInstalled :指示是否安装某一版本(或 兼容)的Silverlight,不必指定多级子版本号,可以只指定主版本号,如 3.0

Silverlight.isInstalled ("2.0"),测试是否安装2.0或以上的版本SL


 

onGetSilverlight ://同上

 

onSilverlightInstalled :

 Silverlight.onSilverlightInstalled = function() {
            alert("要做什么?");
        }

WaitForInstallCompletion 函数在它检测到已安装 Silverlight 时将调用 onSilverlightInstalled 函数。但在用户从以���的版本升级 Silverlight 时,将不会发生上述调用。在这种情况下,用户必须重新启动浏览器。

您通常将使用 isBrowserRestartRequired 函数确定是否需要升级,然后显示相应消息。

默认 onSilverlightInstalled 函数将刷新浏览器窗口。您可以在网页的 onLoad 事件的处理程序中替换此行为。可以通过将该函数设置为 null,禁用自动刷新;或者,可以将其设置为您自己的函数。例如,代替刷新浏览器,您可以使用 createObjectcreateObjectEx 将新的 HTML object 元素直接插入您的网页。这样,无需浏览器刷新便可以嵌入新安装的插件。

 

WaitForInstallCompletion:

 

新的 Silverlight 安装要求浏览器刷新,以便网页可以加载 Silverlight 插件。但是,Silverlight 升级要求浏览器重新启动,而不仅是刷新。

 

在您使用 Silverlight.js 时,如果该页面加载并且用户尚未安装 Silverlight,则默认调用 WaitForInstallCompletion 函数。在新的 Silverlight 安装完成后,WaitForInstallCompletion 函数将调用 onSilverlightInstalled 函数来刷新浏览器。您可以使用自己的函数替换 onSilverlightInstalled,以便禁用或自定义此行为。

 

MSDN:http://msdn.microsoft.com/zh-cn/library/cc838126(VS.95).aspx

你可能感兴趣的:(SilverLight学习记录,silverlight,浏览器,properties,function,events,html)