javasocket服务器给浏览器发信息1.docx

上传人:b****8 文档编号:11046109 上传时间:2023-02-24 格式:DOCX 页数:38 大小:69.52KB
下载 相关 举报
javasocket服务器给浏览器发信息1.docx_第1页
第1页 / 共38页
javasocket服务器给浏览器发信息1.docx_第2页
第2页 / 共38页
javasocket服务器给浏览器发信息1.docx_第3页
第3页 / 共38页
javasocket服务器给浏览器发信息1.docx_第4页
第4页 / 共38页
javasocket服务器给浏览器发信息1.docx_第5页
第5页 / 共38页
点击查看更多>>
下载资源
资源描述

javasocket服务器给浏览器发信息1.docx

《javasocket服务器给浏览器发信息1.docx》由会员分享,可在线阅读,更多相关《javasocket服务器给浏览器发信息1.docx(38页珍藏版)》请在冰豆网上搜索。

javasocket服务器给浏览器发信息1.docx

javasocket服务器给浏览器发信息1

JavaSocket现实简单的HTTP服务

一个简单的用JavaSocket编写的HTTP服务器应用,演示了请求和应答的协议通信内容以及给客户端返回HTML文本和二进制数据文件(一个图片),同时展示了404,200等状态码.

  

首先运行这个程序,然后打开Web浏览器,键入,则这个程序能够显示出浏览器发送了那些信息并且向浏览器返回一个网页和一副图片,并测试同浏览器对话.  当浏览器看到HTML中带有图片地址时,则会发出第二次连接来请求图片等资源.  这个例子可以帮您理解Java的HTTP服务器软件是基于J2SE的Socket等软件编写的概念,并熟悉HTTP协议.  相反的用Telnet连接到已有的服务器则可以帮忙理解浏览器的运行过程和服务器端的返回内容.  

   

当用户在Web浏览器地址栏中输入一个带有,或者在Web页面中某个以,HTTP事务处理的第一个阶段--建立连接阶段就开始了.HTTP的默认端口是80.  随着连接的建立,HTTP就进入了客户向服务器发送请求的阶段.客户向服务器发送的请求是一个有特定格式的ASCII消息,其语法规则为:

 

 <\r\n> 

 {

:

<\r\n>} 

 <\r\n> 

 {EntityBody} 

请求消息的顶端是请求行,用于指定方法,URL和HTTP协议的版本,请求行的最后是回车换行.方法GET,POST,HEAD,PUT,DELETE等.  在请求行之后是若干个报头(Header)行.每个报头行都是由一个报头和一个取值构成的二元对,报头和取值之间以":

"分隔;报头行的最后是回车换行.常见的报头有Accept(指定MIME媒体类型),Accept_Charset(响应消息的编码方式),Accept_Encoding(响应消息的字符集),User_Agent(用户的浏览器信息)等.  在请求消息的报头行之后是一个回车换行,表明请求消息的报头部分结束.在这个之后是请求消息的消息实体(EntityBody).具体的例子参看httpRequest.txt. 

Web服务器在收到客户请求并作出处理之后,要向客户发送应答消息.与请求消息一样,应答消息的语法规则为:

 

 []<\r\n> 

 {

:

<\r\n>}  

 <\r\n> 

 {EntityBody} 

应答消息的第一行为状态行,其中包括了HTTP版本号,状态码和对状态码进行简短解释的消息;状态行的最后是回车换行.状态码由3位数字组成,有5类:

  

 参看:

HTTP应答码及其意义  

   

 1XX保留  

 2XX表示成功  

 3XX表示URL已经被移走  

 4XX表示客户错误  

 5XX表示服务器错误  

例如:

415,表示不支持改媒体类型;503,表示服务器不能访问.最常见的是200,表示成功.常见的报头有:

Last_Modified(最后修改时间),Content_Type(消息内容的MIME类型),Content_Length(内容长度)等. 

在报头行之后也是一个回车换行,用以表示应答消息的报头部分的结束,以及应答消息实体的开始. 

下面是一个应答消息的例子:

 

 HTTP/1.0200OK 

 Date:

Moday,07-Apr-9721:

13:

02GMT 

 Server:

NCSA/1.1 

 MIME_Version:

1.0 

 Content_Type:

text/html 

 Last_Modified:

ThuDec509:

28:

011996 

 Coentent_Length:

3107 

   

 </HTML>  </p><p>   </p><p>在用Java语言实现HTTP服务器时,首先启动一个,可以用PrintWriter,但是如果返回二进制数据,则必须使用OutputStream.write(byte[])方法,返回的应答消息字符串可以使用String.getBytes()方法转换为字节数组返回,或者使用PrintStream的print()方法写入文本,用write(byte[])方法写入二进制数据. </p><p> </p><p>源程序来自_java,本程序是在原有基础上进行了一些调整,源程序在POST请求时会阻塞,本程序解决了此问题,另外,本程序在原有的基础上增加了文件上传与下载模拟功能:</p><p> </p><p>Java代码</p><p>import ;  </p><p>import ;  </p><p>1.import ;  </p><p>2.import ;  </p><p>3.import ;  </p><p>4.import ;  </p><p>5.import ;  </p><p>6.import ;  </p><p>7.import ;  </p><p>8.import ;  </p><p>9.import ;  </p><p>10.  </p><p>11./** </p><p>12. *  </p><p>13. * @author 刘长炯 </p><p>14. * modi by jzj </p><p>15. * </p><p>16. */  </p><p>17.public class SimpleHttpServer implements Runnable {  </p><p>18.  </p><p>19.    ServerSocket serverSocket;//服务器Socket  </p><p>20.  </p><p>21.    public static int PORT = 80;//标准HTTP端口  </p><p>22.  </p><p>23.    public String encoding = "GBK";  </p><p>24.  </p><p>25.    public SimpleHttpServer() {  </p><p>26.        try {  </p><p>27.            serverSocket = new ServerSocket(PORT);  </p><p>28.        } catch (Exception e) {  </p><p>29.            e.printStackTrace();  </p><p>30.            System.exit</p><p>(1);  </p><p>31.        }  </p><p>        new Thread(this).start();  </p><p>        "HTTP服务器正在运行,端口:</p><p>" + PORT);  </p><p>32.    }  </p><p>33.  </p><p>34.    public void run() {  </p><p>35.        while (true) {  </p><p>36.            try {  </p><p>37.                Socket client = serverSocket.accept();//客户机(这里是 IE 等浏览器)已经连接到当前服务器  </p><p>38.                if (client !</p><p>= null) {  </p><p>39.                    "连接到服务器的用户:</p><p>" + client);  </p><p>40.                    try {  </p><p>41.                        // 第一阶段:</p><p> 打开输入流  </p><p>42.                        InputStream is = client.getInputStream();  </p><p>43.  </p><p>44.                        "客户端发送的请求信息:</p><p> >>>>>>>>>>>>>>>>>>>>>>>>>");  </p><p>45.                        // 读取第一行, 请求地址  </p><p>46.                        String line = readLine(is, 0);  </p><p>47.                        //打印请求行  </p><p>48.                        ;  </p><p>49.                        // < Method > < URL > < HTTP Version > <\r\n>  取的是URL部分  </p><p>50.String resource = line.substring(line.indexOf('/'), line.lastIndexOf('/') - 5);  </p><p>51.                        //获得请求的资源的地址  </p><p>52.                        resource = URLDecoder.decode(resource, encoding);//反编码 URL 地址  </p><p>53.                        String method = new StringTokenizer(line).nextElement()  </p><p>54.                                .toString();// 获取请求方法, GET 或者 POST  </p><p>55.                        int contentLength = 0;//如果为POST方法,则会有消息体长度  </p><p>56.  </p><p>57.                        // 读取所有浏览器发送过来的请求参数头部信息  </p><p>58.                        do {  </p><p>59.                            line = readLine(is, 0);  </p><p>60.                            //如果有Content-Length消息头时取出  </p><p>61.                            if (line.startsWith("Content-Length")) {  </p><p>62.                                contentLength = Integer.parseInt(line.split(":</p><p>")[1]  </p><p>63.                                        .trim());  </p><p>64.                            }  </p><p>65.                            //打印请求部信息  </p><p>66.                            ;  </p><p>67.                            //如果遇到了一个单独的回车换行,则表示请求头结束  </p><p>68.                        } while (!</p><p>line.equals("\r\n"));  </p><p>69.                        //如果是POST请求,则有请求体  </p><p>70.                        if ("POST".equalsIgnoreCase(method)) {  </p><p>71.                            //注,这里只是简单的处理表单提交的参数,而对于上传文件这里是不能这样处理的,  </p><p>72.                            //因为上传的文件时消息体不只是一行,会有多行消息体  </p><p>73.                            , contentLength));  </p><p>74.                            ;  </p><p>75.                        }  </p><p>76.  </p><p>77.                        "客户端发送的请求信息结束 <<<<<<<<<<<<<<<<<<<<<<<<<<");  </p><p>78.                        "用户请求的资源是:</p><p>" + resource);  </p><p>79.                        "请求的类型是:</p><p> " + method);  </p><p>80.                        ;  </p><p>81.  </p><p>82.                        //如果是下载文件  </p><p>83.                        if (resource.startsWith("/download")) {  </p><p>84.                            fileDownload("test.txt", client);  </p><p>85.                            closeSocket(client);  </p><p>86.                            continue;  </p><p>87.                        }  </p><p>88.  </p><p>89.                        // GIF 图片就读取一个真实的图片数据并返回给客户端  </p><p>90.                        if (resource.endsWith(".gif")) {  </p><p>91.                            imgDownload("test.gif", client);  </p><p>92.                            closeSocket(client);  </p><p>93.                            continue;  </p><p>94.                        }  </p><p>95.  </p><p>96.                        // 请求 JPG 格式就报错 404  </p><p>97.                        if (resource.endsWith(".jpg")) {  </p><p>98.                            PrintWriter out = new PrintWriter(client.getOutputStream(),  </p><p>99.                                    true);  </p><p>100.                            out.println("HTTP/1.0 404 Not found");//返回应答消息,并结束应答  </p><p>101.                            out.println();// 根据 HTTP 协议, 空行将结束头信息  </p><p>102.                            out.close();  </p><p>103.                            closeSocket(client);  </p><p>104.                            continue;  </p><p>105.                        } else {  </p><p>106.                            // 用 writer 对客户端 socket 输出一段 HTML 代码  </p><p>107.                            PrintWriter out = new PrintWriter(client.getOutputStream(),  </p><p>108.                                    true);  </p><p>109.                            out.println("HTTP/1.0 200 OK");//返回应答消息,并结束应答  </p><p>110.                            out.println("Content-Type:</p><p>text/html;charset=" + encoding);  </p><p>111.                            out.println();// 根据 HTTP 协议, 空行将结束头信息  </p><p>112.  </p><p>113.                            out.println("<h1> Hello Http Server</h1>");  </p><p>114.                            out.println("你好, 这是一个 Java HTTP 服务器 demo 应用.<br>");  </p><p>115.                            out.println("您请求的路径是:</p><p> " + resource + "<br>");  </p><p>116.                            out.println("你请求的页面含有图片:</p><p><img src='test.gif'><br>"  </p><p>117.                                    + "<a href='test.gif'>手动点击打开test.gif图片文件.</a>");  </p><p>118.                            out.println("<br>服务器不支持jpg格式图片,所以显示XX:</p><p>"  </p><p>119.                                    + "<img src='test.jpg'><br><a href='test.jpg'>"  </p><p>120.                                    + "手动点击打开test.jpg,会跳转另一页面,并且服务返回为404错误</a><br>");  </p><p>121.                            out  </p><p>122.                                    .println("<form method=post action='/path?</p><p>qryParm=POST URL查询参数' > POST 表单 "  </p><p>123.                                            + "<input name=username value='用户'> "  </p><p>124.                                            + "<input name=submit type=submit value=submit></form>");  </p><p>125.                            out  </p><p>126.                                    .println("<form method=get action='/path?</p><p>qryParm=GET URL查询参数' > GET 表单 "  </p><p>127.                                            + "<input name=username value='用户'> "  </p><p>128.                                            + "<input name=submit type=submit value=submit></form>");  </p><p>129.  </p><p>130.                            out  </p><p>131.                                    .println("<form method=post action='/path?</p><p>qryParm=POST URL查询参数'"  </p><p>132.                                            + " enctype='multipart/form-data' >"  </p><p>133.                                            + "文件上传  <input type='file' name=file1 ><br>"  </p><p>134.                                            + "          "  </p><p>135.                                            + "<input type='file' name=file2 ><br>"  </p><p>136.                                            + "          "  </p><p>137.                                            + "<input name=username value='用户'> "  </p><p>138.                                            + "<input name=submit type=submit value=submit></form>");  </p><p>139.                            out.println("<a href='/download'>点击此处模拟文件下载</a>");  </p><p>140.  </p><p>141.                            out.close();  </p><p>142.  </p><p>143.                            closeSocket(client);  </p><p>144.                        }  </p><p>145.                    } catch (Exception e) {  </p><p>146.                        "HTTP服务器错误:</p><p>" + e.getLocalizedMessage());  </p><p>147.                    }  </p><p>1</p> </div> <div class="readmore" onclick="showmore()" style="background-color:transparent; height:auto; margin:0px 0px; padding:20px 0px 0px 0px;"><span class="btn-readmore" style="background-color:transparent;"><em style=" font-style:normal">展开</em>阅读全文<i></i></span></div> <script> function showmore() { $(".readmore").hide(); $(".detail-article").css({ "height":"auto", "overflow": "hidden" }); } $(document).ready(function() { var dh = $(".detail-article").height(); if(dh >100) { $(".detail-article").css({ "height":"100px", "overflow": "hidden" }); } else { $(".readmore").hide(); } }); </script> </div> <script> var defaultShowPage = parseInt("5"); var id = "11046109"; var total_page = "38"; var mfull = false; var mshow = false; function DownLoad() { window.location.href='https://m.bdocx.com/down/11046109.html'; } function relate() { var reltop = $('#relate').offset().top-50; $("html,body").animate({ scrollTop: reltop }, 500); } </script> <script> var pre = "https://file1.bdocx.com/fileroot1/2023-2/24/65ecffc1-330d-4f85-ba3b-17c5ad4d121f/65ecffc1-330d-4f85-ba3b-17c5ad4d121f"; var freepage = parseInt('20'); var total_c = parseInt('38'); var start = defaultShowPage; var adcount = 0; var adindex = 0; var adType_list = ";0;1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17;18;19;"; var end = start; function ShowSvg() { end = start + defaultShowPage; if (end > freepage) end = freepage; for (var i = start; i < end; i++) { var imgurl = pre + (i + 1) + '.gif'; var html = "<img src='" + imgurl + "' onerror=\"this.src='/images/s.gif'\" alt=\"javasocket服务器给浏览器发信息1.docx_第" + (i + 1) + "页\" width='100%'/>"; $("#page").append("<div class='page'>" + html + "</div>"); $("#page").append("<div class='pageSize'>第" + (i + 1) + "页 / 共" + total_c + "页</div>"); if(adcount > 0 && adType_list.indexOf(";"+(i+1)+";")>-1) { if(adindex > (adcount-1)) adindex = 0; $("#page").append("<div class='pagead' id='addiv"+(i + 1)+"'></div>"); document.getElementById("addiv"+(i + 1)+"").innerHTML =document.getElementById("adpre" + adindex).outerHTML; adindex += 1; } } start = end; if (start > (freepage - 1)) { if (start < total_c) { $("#pageMore").removeClass("btnmore"); $("#pageMore").html("亲,该文档总共" + total_c + "页,到这儿已超出免费预览范围,如果喜欢就下载吧!"); } else { $("#pageMore").removeClass("btnmore"); $("#pageMore").html("亲,该文档总共" + total_c + "页全部预览完了,如果喜欢就下载吧!"); } } } //$(document).ready(function () { // ShowSvg(); //}); </script> <div id="relate" class="container" style="padding:0px 0px 15px 0px; margin-top:20px; border:solid 1px #dceef8"> <div style=" font-size: 16px; background-color:#e5f0f7; margin-bottom:5px; font-weight: bold; text-indent:10px; line-height: 40px; height:40px; padding-bottom: 0px;">相关资源</div> <div id="relatelist" style="padding-left:5px;"> <ul> <li><em class="pptx"/></em><a target="_parent" href="https://m.bdocx.com/doc/30873091.html" title="高考英语一轮复习-语法突破--特殊句式(共40张PPT).pptx">高考英语一轮复习-语法突破--特殊句式(共40张PPT).pptx</a> </li><li><em class="ppt"/></em><a target="_parent" href="https://m.bdocx.com/doc/30872962.html" title="安装工程工程量清单计价.ppt">安装工程工程量清单计价.ppt</a> </li><li><em class="docx"/></em><a target="_parent" href="https://m.bdocx.com/doc/30872950.html" title="课程体验量表(CEQ).docx">课程体验量表(CEQ).docx</a> </li><li><em class="ppt"/></em><a target="_parent" href="https://m.bdocx.com/doc/30872813.html" title="极化弛豫和介电损耗.ppt">极化弛豫和介电损耗.ppt</a> </li><li><em class="doc"/></em><a target="_parent" href="https://m.bdocx.com/doc/30872765.html" title="征集和招录人员政治考核表.doc">征集和招录人员政治考核表.doc</a> </li><li><em class="ppt"/></em><a target="_parent" href="https://m.bdocx.com/doc/30872745.html" title="地质填图方法详解.ppt">地质填图方法详解.ppt</a> </li><li><em class="docx"/></em><a target="_parent" href="https://m.bdocx.com/doc/30872643.html" title="艾梅乙检测服务流程图.docx">艾梅乙检测服务流程图.docx</a> </li><li><em class="docx"/></em><a target="_parent" href="https://m.bdocx.com/doc/30872525.html" title="2024 年党纪学习教育党课讲稿(共八篇).docx">2024 年党纪学习教育党课讲稿(共八篇).docx</a> </li><li><em class="pptx"/></em><a target="_parent" href="https://m.bdocx.com/doc/30872168.html" title="最新教科版三年级科学上册第一单元《水》复习精品教学课件.pptx">最新教科版三年级科学上册第一单元《水》复习精品教学课件.pptx</a> </li><li><em class="ppt"/></em><a target="_parent" href="https://m.bdocx.com/doc/30871765.html" title="小学六年级语文毕业总复习.ppt">小学六年级语文毕业总复习.ppt</a> </li> </ul> </div> </div> <div class="container" style="padding:0px 0px 15px 0px; margin-top:20px; border:solid 1px #dceef8"> <div style=" font-size: 16px; background-color:#e5f0f7; margin-bottom:5px; font-weight: bold; text-indent:10px; line-height: 40px; height:40px; padding-bottom: 0px;">猜你喜欢</div> <div id="relatelist" style="padding-left:5px;"> <ul> <li><em class="docx"></em> <a href="https://m.bdocx.com/doc/6264390.html" target="_parent" title="CIQV202报检管理子系统用户手册.docx">CIQV202报检管理子系统用户手册.docx</a></li> <li><em class="docx"></em> <a href="https://m.bdocx.com/doc/6264391.html" target="_parent" title="部编版语文四年级下周末培优检测卷含答案.docx">部编版语文四年级下周末培优检测卷含答案.docx</a></li> <li><em class="docx"></em> <a href="https://m.bdocx.com/doc/6264392.html" target="_parent" title="鱼缸DIY.docx">鱼缸DIY.docx</a></li> <li><em class="docx"></em> <a href="https://m.bdocx.com/doc/6264393.html" target="_parent" title="F2风管部件与消声器制作.docx">F2风管部件与消声器制作.docx</a></li> <li><em class="docx"></em> <a href="https://m.bdocx.com/doc/6264394.html" target="_parent" title="财务周工作总结15篇.docx">财务周工作总结15篇.docx</a></li> <li><em class="docx"></em> <a href="https://m.bdocx.com/doc/6264395.html" target="_parent" title="Rip2协议讲解.docx">Rip2协议讲解.docx</a></li> <li><em class="docx"></em> <a href="https://m.bdocx.com/doc/6264396.html" target="_parent" title="语文高考必背理解性默写高中14篇.docx">语文高考必背理解性默写高中14篇.docx</a></li> <li><em class="docx"></em> <a href="https://m.bdocx.com/doc/6264397.html" target="_parent" title="常用房屋租赁合同标准范本.docx">常用房屋租赁合同标准范本.docx</a></li> <li><em class="docx"></em> <a href="https://m.bdocx.com/doc/6264398.html" target="_parent" title="车队运营管理制度.docx">车队运营管理制度.docx</a></li> </ul> </div> </div> <div style=" font-size: 16px; background-color:#e5f0f7; margin-top:20px; font-weight: bold; text-indent:10px; line-height: 40px; height:40px; padding-bottom: 0px; margin-bottom:10px;"> 相关搜索</div> <div class="widget-box pt0" style="border: none; padding:0px 5px;"> <ul class="taglist--inline multi"> <li class="tagPopup"><a target="_parent" class="tag tagsearch" rel="nofollow" href="https://m.bdocx.com/search.html?q=javasocket">javasocket</a></li> <li class="tagPopup"><a target="_parent" class="tag tagsearch" rel="nofollow" href="https://m.bdocx.com/search.html?q=%e6%9c%8d%e5%8a%a1%e5%99%a8">服务器</a></li> <li class="tagPopup"><a target="_parent" class="tag tagsearch" rel="nofollow" href="https://m.bdocx.com/search.html?q=%e6%b5%8f%e8%a7%88%e5%99%a8">浏览器</a></li> <li class="tagPopup"><a target="_parent" class="tag tagsearch" rel="nofollow" href="https://m.bdocx.com/search.html?q=%e4%bf%a1%e6%81%af">信息</a></li> </ul> </div> <br /> <div > 当前位置:<a target="_parent" href="https://m.bdocx.com/">首页</a> > <a href="https://m.bdocx.com/booklist-00009.html">求职职场</a><span> > </span><a href="https://m.bdocx.com/booklist-0000900002.html">面试</a> </div> <br /> <div class="cssnone"> <iframe title="来源" src="https://m.bdocx.com/BookRead.aspx?id=hNaFmqf71zNLjtOhmEC56w%3d%3d&parto=9Hr1h0prPKHxIXiLJM5SUYt%2bZbcM90XyEun3hiuXtOyf2Dr45FHNq8lhysENTQzuw7r%2bAIG7lZxXmTT7Rair2QZttpR2MMrXcA6IhaDlTwKf2KkO3AelnX6Egry9ep8Y7zVucDO058NkcmewH6zTrEy7iZ4h92L%2blKEXqT%2bp6S2azTo2SFp6cbloSAzXSPzhdkfbV3FrW%2fpEjOGZBIbHnUE4mQPyPARk" frameborder="0" style="width: 0px; height: 0px"> </iframe> </div> <span id="LabelScript"></span> <script src="https://mstatic.bdocx.com/JS/bootstrap-collapse.js"></script> </form> <div class="siteInner_bg" style="margin-top: 40px; border: solid 0px red; margin-left: 0px; margin-right: 0px;"> <div class="siteInner"> <p style="text-align: center;">copyright@ 2008-2022 冰豆网网站版权所有</p><p style="text-align: center;">经营许可证编号:<a href="http://beian.miit.gov.cn/" target="_blank">鄂ICP备2022015515号-1</a></p><script>var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?2e77bd3f6fe91b0e21d3f22267249ee3"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })();</script><script>(function(){ var el = document.createElement("script"); el.src = "https://lf1-cdn-tos.bytegoofy.com/goofy/ttzz/push.js?81476e42bf626128cf29544ee216a8ed7deb9487dce7ed62313212129c4244a219d1c501ebd3301f5e2290626f5b53d078c8250527fa0dfd9783a026ff3cf719"; el.id = "ttzz"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(el, s); })(window)</script> </div> </div> <div class="trnav clearfix" id="navcontent" style="display: none; background-color:#3a71b1; "> <div class="trlogoside" id="navlogo" style="display: none;"> <a href="https://m.bdocx.com/" title="冰豆网"><img src="https://www.bdocx.com/images/logo_bd.png" alt="冰豆网"></a> <div class="trnavclose" id="navclose"> <span></span> </div> </div> <div class="navcontainer"> <div class="row"> <ul class="nav navbar-nav trnavul headercontent" id="navigation" style="margin:20px 0 0px;"> <li><a target="_parent"href="https://m.bdocx.com/login.aspx">登录</a></li> <li><a target="_parent"href="https://m.bdocx.com/">首页 </a></li> <li><a target="_parent"href="https://m.bdocx.com/booklist-0.html">资源分类 </a></li> <li><a target="_parent"href="https://m.bdocx.com/UserManage/Recharge.aspx?f=0"><img src="https://m.bdocx.com/images/s.gif" alt="new" class="hottip1">升级会员 <img src="https://www.bdocx.com/FileUpload/Images/48520fea-bc98-41ae-b183-84689c7075c9.gif" alt="new" class="hottip"></a></li> <li><a target="_parent"href="https://m.bdocx.com/newslist.html">通知公告 </a></li> <li><a target="_parent"href="https://m.bdocx.com/h-0.html">帮助中心 </a></li> </ul> </div> </div> </div> <script type="text/javascript"> function stopPropagation(e) { var ev = e || window.event; if (ev.stopPropagation) { ev.stopPropagation(); } else if (window.event) { window.event.cancelBubble = true;//兼容IE } } $("#navmore").click(function (e) { $("#navcontent").show(); $("#navlogo").show(); stopPropagation(e); var navcontentwidth = $("#navcontent").width(); $('#navcontent').css({ 'right': '-' + navcontentwidth + 'px' }); $("#navcontent").show().animate({ "right": 0 }, 300); }); $(document).bind('click', function () { var navcontentwidth = $("#navcontent").width(); $("#navcontent").animate({ 'right': '-' + navcontentwidth + 'px' }, 300, function () { $("#navcontent").hide(); }); $("#navlogo").fadeOut(300); }); $("#navcontent").click(function (e) { stopPropagation(e); }); $("#navclose").click(function (e) { var navcontentwidth = $("#navcontent").width(); $("#navcontent").animate({ 'right': '-' + navcontentwidth + 'px' }, 300, function () { $("#navcontent").hide(); }); $("#navlogo").fadeOut(300); }); </script> <script> function BaseShare(title, desc, imgUrl) { var link = "https://m.bdocx.com/doc/11046109.html"; if (wx) { wx.config({ debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId: 'wx4f717640abfd1120', // 必填,公众号的唯一标识 timestamp: '1728771686', // 必填,生成签名的时间戳 nonceStr: '4C56FF4CE4AAF9573AA5DFF913DF997A', // 必填,生成签名的随机串 signature: '79c07685ac9f1538b75308108618584ab722aac7',// 必填,签名,见附录1 jsApiList: ['onMenuShareAppMessage', 'onMenuShareTimeline', 'updateAppMessageShareData', 'updateTimelineShareData', 'hideMenuItems'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2 //openTagList: ["wx-open-launch-weapp"]//H5打开小程序 }); wx.ready(function () { //需在用户可能点击分享按钮前就先调用 wx.hideMenuItems({// 要隐藏的菜单项,只能隐藏“传播类”和“保护类”按钮,所有menu项见附录3 menuList: ['menuItem:share:qq', 'menuItem:favorite', 'menuItem:share:QZone', 'menuItem:share:email', 'menuItem:originPage', 'menuItem:readMode', 'menuItem:delete', 'menuItem:editTag', 'menuItem:share:facebook', 'menuItem:share:weiboApp', 'menuItem:share:brand'] }); var shareData = { title: title, // 分享标题 desc: desc,//这里请特别注意是要去除html link: link, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致 imgUrl: imgUrl, // 分享图标 }; wx.updateAppMessageShareData(shareData);//1.4 分享到朋友 wx.updateTimelineShareData(shareData);//1.4分享到朋友圈 }); } } function BaseShare(title, desc, imgUrl, link) { if (link=="") link = "https://m.bdocx.com/doc/11046109.html"; if (wx) { wx.config({ debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId: 'wx4f717640abfd1120', // 必填,公众号的唯一标识 timestamp: '1728771686', // 必填,生成签名的时间戳 nonceStr: '4C56FF4CE4AAF9573AA5DFF913DF997A', // 必填,生成签名的随机串 signature: '79c07685ac9f1538b75308108618584ab722aac7',// 必填,签名,见附录1 jsApiList: ['onMenuShareAppMessage', 'onMenuShareTimeline', 'updateAppMessageShareData', 'updateTimelineShareData', 'hideMenuItems'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2 //openTagList: ["wx-open-launch-weapp"]//H5打开小程序 }); wx.ready(function () { //需在用户可能点击分享按钮前就先调用 wx.hideMenuItems({// 要隐藏的菜单项,只能隐藏“传播类”和“保护类”按钮,所有menu项见附录3 menuList: ['menuItem:share:qq', 'menuItem:favorite', 'menuItem:share:QZone', 'menuItem:share:email', 'menuItem:originPage', 'menuItem:readMode', 'menuItem:delete', 'menuItem:editTag', 'menuItem:share:facebook', 'menuItem:share:weiboApp', 'menuItem:share:brand'] }); var shareData = { title: title, // 分享标题 desc: desc,//这里请特别注意是要去除html link: link, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致 imgUrl: imgUrl, // 分享图标 }; wx.updateAppMessageShareData(shareData);//1.4 分享到朋友 wx.updateTimelineShareData(shareData);//1.4分享到朋友圈 }); } } </script> <script> $(document).ready(function () { var arr = $(".headercontent"); for (var i = 0; i < arr.length; i++) { (function (index) { var url = "https://m.bdocx.com/header.aspx"; $.get(url + "?t=" + (new Date()).valueOf(), function (d) { try { arr.eq(index).empty().html(d); } catch (e) { } try { arr.html(d); } catch (e) { } }); })(i); } }); </script> <script src="https://mstatic.bdocx.com/js/jquery.lazyload.js"></script> <script charset="utf-8"> $("img.lazys").lazyload({ threshold: 200, effect: "fadeIn" }); </script> </body> </html>