专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > Silverlight

收集一些功能与有关问题(一),请大家不要拍啊

发布时间:2011-06-27 20:16:42 文章来源:www.iduyao.cn 采编人员:星星草
收集一些功能与问题(一),请大家不要拍啊!
有一些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;
    }

}

友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: