有一些JS代码是从网上得到后进行处理的。
1、用SilverLight3时,有一次在启动页面(html页或aspx)为了对齐代码按一下Ctrl+K+D,运行后发现就SilverLight3主界面产生垂直滚动条,非常奇怪,不知什么原因。通过新建一个对比结果如下。(不是SilverLight4是否还会存在)
(1)原始代码(引用对象部份):
- HTML code
<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/Temp.xap" /> <param name="onerror" value="onSilverlightError" /> <param name="background" value="white" /> <param name="minRuntimeVersion" value="3.0.40818.0" /> <param name="autoUpgrade" value="true" /> <a href="../Silverlight/Silverlight.exe" style="text-decoration: none;"> <img src="../Silverlight/Silverlight.jpg" alt="获取 Microsoft Silverlight插件" style="border-style: none" /> </a> </object><iframe id="_sl_historyFrame" style='visibility: hidden; height: 0; width: 0; border: 0px'></iframe></div> </form> </body>
(2)对齐后的代码:
- HTML code
<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/Temp.xap" /> <param name="onerror" value="onSilverlightError" /> <param name="background" value="white" /> <param name="minRuntimeVersion" value="3.0.40818.0" /> <param name="autoUpgrade" value="true" /> <a href="../Silverlight/Silverlight.exe" style="text-decoration: none;"> <img src="../Silverlight/Silverlight.jpg" alt="获取 Microsoft Silverlight插件" style="border-style: none" /> </a> </object> <iframe id="_sl_historyFrame" style='visibility: hidden; height: 0; width: 0; border: 0px'> </iframe> </div> </form> </body>
(3)代码内容没有任何变化,</div>却换行,却因为这样的换行导致产生垂直滚动条,大家可以试试。
2、有时我们希望关闭浏览器时进行用户注销(调用webService)。(在IE6、7、8、Mozilla Firefox、chrome测试没问题)
(1)、写一个JS文件并将该文件保存在Web根目录下.文件名为JsWebService.js)
- JScript code
function JsWebService() { this.ServerURL = "../WebService/"; //服务器web路径 this.NameSpace = "http://A9.ERP/"; //Web命名空间 function createXMLHttpRequest() { var xmlHttp; if (window.ActiveXObject) { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); //IE } else if (window.XMLHttpRequest) { //非IE xmlHttp = new XMLHttpRequest(); } return xmlHttp; } //服务名、成员名、参数名集合、参数值集合、回调函数(若希望回调结果) this.ServiceRequest = function(ServiceName, MethodName, ParamNames, ParamValues, CallBack) { var xmlHttp = createXMLHttpRequest(); var SOAPString = GetSOAPHeader(this.NameSpace, MethodName, ParamNames, ParamValues); var SOAPActionHeader = this.NameSpace + MethodName; xmlHttp.open("POST", this.ServerURL + ServiceName, true); if (CallBack != null) { xmlHttp.onreadystatechange = function() { if (xmlHttp.readyState == 4) { if (xmlHttp.status == 200) { CallBack(xmlHttp); } } }; } xmlHttp.setRequestHeader("Content-Type", "text/xml"); xmlHttp.setRequestHeader("SOAPAction", SOAPActionHeader); xmlHttp.send(SOAPString); } function GetSOAPHeader(NameSpace, MethodName, ParamNames, ParamValues) { var SOAPString = ""; SOAPString += "<soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">\n" SOAPString += "<soap:Body>\n"; SOAPString += "<" + MethodName + " xmlns=\"" + NameSpace + "\">\n"; if (ParamNames != null) { for (var i = 0, j = ParamNames.length; i < j; i++) { SOAPString += "<" + ParamNames[i] + ">" + ParamValues[i] + "</" + ParamNames[i] + ">\n"; } } SOAPString += "</" + MethodName + ">\n"; SOAPString += "</soap:Body>\n"; SOAPString += "</soap:Envelope>\n"; return SOAPString; } }