一起谈.NET技术,SilverLight自动安装

简介: 1、 准备js,参考了一个js弹出层的例子。最后自动输出exe,类似flash安装。ie可以自动安装,其他浏览器需要手动下载安装包。 var isOK = Silverlight.isInstalled("4.

1、 准备js,参考了一个js弹出层的例子。最后自动输出exe,类似flash安装。ie可以自动安装,其他浏览器需要手动下载安装包。

 
 
var isOK = Silverlight.isInstalled( " 4.0.50524.0 " );
if ( ! isOK) {
var msgw, msgh, bordercolor;
msgw
= 450 ; // 提示窗口的宽度
msgh = 150 ; // 提示窗口的高度
titleheight = 25 // 提示窗口标题高度
bordercolor = " #336699 " ; // 提示窗口的边框颜色
titlecolor = " #99CCFF " ; // 提示窗口的标题颜色

var sWidth, sHeight;
sWidth
= document.body.offsetWidth; // 浏览器工作区域内页面宽度
sHeight = screen.height; // 屏幕高度(垂直分辨率)


// 背景层(大小与窗口有效区域相同,即当弹出对话框时,背景显示为放射状透明灰色)
var bgObj = document.createElement( " div " ); // 创建一个div对象(背景层)
// 定义div属性,即相当于
// <div id="bgDiv" style="position:absolute; top:0; background-color:#777; filter:progid:DXImagesTransform.Microsoft.Alpha(style=3,opacity=25,finishOpacity=75); opacity:0.6; left:0; width:918px; height:768px; z-index:10000;"></div>
bgObj.setAttribute( ' id ' , ' bgDiv ' );
bgObj.style.position
= " absolute " ;
bgObj.style.top
= " 0 " ;
bgObj.style.background
= " #777 " ;
bgObj.style.filter
= " progid:DXImageTransform.Microsoft.Alpha(style=2,opacity=25,finishOpacity=75 " ;
bgObj.style.opacity
= " 0.6 " ;
bgObj.style.left
= " 0 " ;
bgObj.style.width
= sWidth + " px " ;
bgObj.style.height
= sHeight * 2 + " px " ;
bgObj.style.zIndex
= " 10000 " ;
document.body.appendChild(bgObj);
// 在body内添加该div对象


var msgObj = document.createElement( " div " ) // 创建一个div对象(提示框层)
// 定义div属性,即相当于
// <div id="msgDiv" align="center" style="background-color:white; border:1px solid #336699; position:absolute; left:50%; top:50%; font:12px/1.6em Verdana,Geneva,Arial,Helvetica,sans-serif; margin-left:-225px; margin-top:npx; width:400px; height:100px; text-align:center; line-height:25px; z-index:100001;"></div>
msgObj.setAttribute( " id " , " msgDiv " );
msgObj.setAttribute(
" align " , " center " );
msgObj.style.background
= " white " ;
msgObj.style.border
= " 1px solid " + bordercolor;
msgObj.style.position
= " absolute " ;
msgObj.style.left
= " 50% " ;
msgObj.style.top
= " 20% " ;
msgObj.style.font
= " 12px/1.6em Verdana, Geneva, Arial, Helvetica, sans-serif " ;
msgObj.style.marginLeft
= " -225px " ;
msgObj.style.marginTop
= - 75 + document.documentElement.scrollTop + " px " ;
msgObj.style.width
= msgw + " px " ;
msgObj.style.height
= msgh + " px " ;
msgObj.style.padding
= " 0px " ;
msgObj.style.textAlign
= " center " ;
msgObj.style.lineHeight
= " 25px " ;
msgObj.style.zIndex
= " 10001 " ;

var title = document.createElement( " h4 " ); // 创建一个h4对象(提示框标题栏)

// 定义h4的属性,即相当于
// <h4 id="msgTitle" align="right" style="margin:0; padding:3px; background-color:#336699; filter:progid:DXImageTransform.Microsoft.Alpha(startX=20, startY=20, finishX=100, finishY=100,style=1,opacity=75,finishOpacity=100); opacity:0.75; border:1px solid #336699; height:18px; font:12px Verdana,Geneva,Arial,Helvetica,sans-serif; color:white; cursor:pointer;" onclick="">关闭</h4>
title.setAttribute( " id " , " msgTitle " );
title.setAttribute(
" align " , " right " );
title.style.margin
= " 0 " ;
title.style.padding
= " 3px " ;
title.style.background
= bordercolor;

title.style.filter
= " progid:DXImageTransform.Microsoft.Alpha(startX=20, startY=20, finishX=100, finishY=100,style=1,opacity=75,finishOpacity=100); " ;
title.style.opacity
= " 0.75 " ;
title.style.border
= " 1px solid " + bordercolor;
title.style.height
= " 18px " ;

title.style.font
= " 12px Verdana, Geneva, Arial, Helvetica, sans-serif " ;

title.style.color
= " white " ;
title.style.cursor
= " pointer " ;
title.innerHTML
= " 关闭 " ;


function removeObj() { // 点击标题栏触发的事件
document.body.removeChild(bgObj); // 删除背景层Div
document.getElementById( " msgDiv " ).removeChild(title); // 删除提示框的标题栏
document.body.removeChild(msgObj); // 删除提示框层
}
title.onclick
= removeObj;


document.body.appendChild(msgObj);
// 在body内添加提示框div对象msgObj
document.getElementById( " msgDiv " ).appendChild(title); // 在提示框div中添加标题栏对象title

var dv = document.createElement( " div " );
dv.setAttribute(
" id " , " slInstall " );
dv.setAttribute(
" style " , " font-family:Arial; font-size:14px; " );
dv.innerHTML
= " <br />安装Microsoft Silverlight后,才能正常浏览该页面。<br /><span id=\ " msgSpan\ " >系统正在下载或者安装此程序。或者 <a href=\ " \ " id=\ " downLink\ " >点击此处</a> 手动安装。</span><br />安装完成后请重新启动浏览器。 " ;
document.getElementById(
" msgDiv " ).appendChild(dv); // 在提示框div中添加提示信息对象txt

// 输出exe
var downHost = " 改为你的地址 例如http://192.168.23.22:8008/download/ " ;
var osInfo = window.navigator.userAgent;
var exeName = "" ;
if (osInfo.indexOf( " Windows NT " ) >= 0 ) exeName = " Silverlight4forwindows.exe " ;
else if (osInfo.indexOf( " PPC Mac OS X " ) >= 0 ) exeName = " Silverlight4formac.dmg " ;
else if (osInfo.indexOf( " Intel Mac OS X " ) >= 0 ) exeName = " Silverlight4formac.dmg " ;
document.getElementById(
" downLink " ).href = downHost + exeName;


/* 判断浏览器 */
if (osInfo.indexOf( " MSIE " ) == - 1 ) {
document.getElementById(
" msgSpan " ).innerHTML = " 您的浏览器不支持自动安装Silverlight,请 <a href=\ " \ " style=\ " text - decoration:underline\ " id=\ " downLink\ " >点击此处</a> 手动安装。 " ;

}
else {
// 输出exe安装包
run_exe = " <OBJECT ID=\ " RUNIT\ " WIDTH=0 HEIGHT=0 TYPE=\ " application / x-oleobject\""
run_exe += " CODEBASE=\ " { 0 }\ " > "
run_exe
+= " </OBJECT> "
run_exe
= run_exe.replace( " {0} " , downHost + exeName);
document.open();
document.clear();
document.writeln(run_exe);
document.close();
}

}

2、在html里面调用该js,将silverlightfor window的安装文件和silverlightformac的安装文件放到根目录,命名为js中写的名字(Silverlight4forwindows.exe,Silverlight4formac.dmg)。

 
 
< body >
< form id ="form1" runat ="server" style ="height:100%" >
< div id ="silverlightControlHost" >
< object data ="data:application/x-silverlight-2," type ="application/x-silverlight-2" width ="100%" height ="100%" >
< param name ="source" value ="ClientBin/AutoInstallSilverlight.xap" />
< param name ="onError" value ="onSilverlightError" />
< param name ="background" value ="white" />
< param name ="minRuntimeVersion" value ="4.0.50401.0" />
< param name ="autoUpgrade" value ="true" />
< a href ="http://go.microsoft.com/fwlink/?LinkID=149156&v=4.0.50401.0" style ="text-decoration:none" >
< img src ="http://go.microsoft.com/fwlink/?LinkId=161376" alt ="获取 Microsoft Silverlight" style ="border-style:none" />
</ a >
</ object >< iframe id ="_sl_historyFrame" style ="visibility:hidden;height:0px;width:0px;border:0px" ></ iframe ></ div >
</ form >
< script language ="javascript" src ="autoInstall.js" ></ script >
</ body >

3、预览效果。

 

4、可以调整的地方,删除这一句,就可以去掉微软的安装提示。

 
 
< a href ="http://go.microsoft.com/fwlink/?LinkID=149156&v=4.0.50401.0" style ="text-decoration:none" >
< img src ="http://go.microsoft.com/fwlink/?LinkId=161376" alt ="获取 Microsoft Silverlight" style ="border-style:none" />
</ a >

源码:http://files.cnblogs.com/xiaokang088/AutoInstallSilverlightWebSite.rar

 
目录
相关文章
|
8天前
|
机器学习/深度学习 人工智能 Cloud Native
在数字化时代,.NET 技术凭借其跨平台兼容性、丰富的类库和工具集以及卓越的性能与效率,成为软件开发的重要平台
在数字化时代,.NET 技术凭借其跨平台兼容性、丰富的类库和工具集以及卓越的性能与效率,成为软件开发的重要平台。本文深入解析 .NET 的核心优势,探讨其在企业级应用、Web 开发及移动应用等领域的应用案例,并展望未来在人工智能、云原生等方面的发展趋势。
21 3
|
8天前
|
开发框架 安全 Java
.NET技术的独特魅力与优势,涵盖高效的开发体验、强大的性能表现、高度的可扩展性及丰富的生态系统等方面,展示了其在软件开发领域的核心竞争力
本文深入探讨了.NET技术的独特魅力与优势,涵盖高效的开发体验、强大的性能表现、高度的可扩展性及丰富的生态系统等方面,展示了其在软件开发领域的核心竞争力。.NET不仅支持跨平台开发,具备出色的安全性和稳定性,还能与多种技术无缝集成,为企业级应用提供全面支持。
17 3
|
12天前
|
人工智能 开发框架 前端开发
C#/.NET/.NET Core技术前沿周刊 | 第 12 期(2024年11.01-11.10)
C#/.NET/.NET Core技术前沿周刊 | 第 12 期(2024年11.01-11.10)
|
11天前
|
人工智能 开发框架 安全
C#/.NET/.NET Core技术前沿周刊 | 第 13 期(2024年11.11-11.17)
C#/.NET/.NET Core技术前沿周刊 | 第 13 期(2024年11.11-11.17)
|
1月前
|
人工智能 开发框架 Cloud Native
C#/.NET/.NET Core技术前沿周刊 | 第 9 期(2024年10.07-10.13)
C#/.NET/.NET Core技术前沿周刊 | 第 9 期(2024年10.07-10.13)
|
2月前
|
开发框架 前端开发 JavaScript
ASP.NET MVC 教程
ASP.NET 是一个使用 HTML、CSS、JavaScript 和服务器脚本创建网页和网站的开发框架。
43 7
|
2月前
|
存储 开发框架 前端开发
ASP.NET MVC 迅速集成 SignalR
ASP.NET MVC 迅速集成 SignalR
63 0
|
3月前
|
开发框架 前端开发 .NET
ASP.NET MVC WebApi 接口返回 JOSN 日期格式化 date format
ASP.NET MVC WebApi 接口返回 JOSN 日期格式化 date format
49 0
|
3月前
|
开发框架 前端开发 安全
ASP.NET MVC 如何使用 Form Authentication?
ASP.NET MVC 如何使用 Form Authentication?
|
3月前
|
开发框架 .NET
Asp.Net Core 使用X.PagedList.Mvc.Core分页 & 搜索
Asp.Net Core 使用X.PagedList.Mvc.Core分页 & 搜索
129 0

热门文章

最新文章

下一篇
无影云桌面