zoukankan      html  css  js  c++  java
  • js 将网页生成为html保存访问

    2012-04-03
    今天实现了一个需求,主题是将浏览中的网页生成html保存起来,记录访问url,挂在公司网站上做案例。
     
     
    首先忙活了N久的是去搜索生成html的js函数。
     
    什么IE自带的ActiveX,js插件,js的winow.print();函数调用打印机打印页面等
     
    最后结果是怎么搞都是不行。
     
    就快到穷途末路时,在stackoverflow.com网站看到一条问题,也是与生成html相关的。
     
    牛人解决方案如下:
     
    使用jQuery
     
    // 看到这句我顿时哑语了,这么简单的方法我怎么想不到
     
    var dom = $("html").html();//获取html节点的内容
    //alert(dom);
     
    $.post("exportCase.do",{dom:$("html").html()});//服务器接受请求处理,将html内容输出为xxx.htm保存到你想指定的路径
     
     
     
     
     
    最后我借鉴与此,写了一个完善的js函数:
    <script type="text/javascript">
    <!--
    function exportCase(){
          try{
                var filename = prompt("请输入要生成的html文件名:","");
                if(undefined==filename || ""==filename){
                      new Boxy("<div style='300px;height:100px;'><p>文件名为空,生成失败</p></div>", {title : '消息提示'});
                      return;
                }
                //alert("export filename:"+filename);
                $j.ajax({
                      type : "post",
                      url : "exportCaseAjax.do",
                      cache : "false",
                      data : {
                            "dom":$j("html").html(),
                            "filename":filename,
                            "rnd": ajaxRandom()
                      },
                      dataType:"json",
                      success : function(data, textStatus) {
                            if(!isUndefined(data)){
                                  var code = data.code;
                                  //alert(code);
                                  if(code==0){
                                        var d = data.data;
                                        new Boxy("<div style='400px;height:100px;'><p>"+d.name+"文件生成成功!</p><p>访问路径为:</p><p>&nbsp;&nbsp;"+d.url+"</p></div>", {title : '消息提示'});
                                  } else {
                                        new Boxy("<div style='300px;height:100px;'><p>"+data.data+"</p></div>", {title : '消息提示'});
                                  }
                            }
                      }
                });   
          }catch(err){}     
    }
    //-->
    </script>
     
     
    服务器处理的action代码我就不贴出来了,用I/O就行了。
  • 相关阅读:
    训练网络考虑内容
    阿斯顿
    wifi 模块Yeelink联网
    fpga串口通信的verilog驱动
    vga显示彩条
    状态机之二段式
    矩阵键盘
    error
    时钟
    Error(10028)
  • 原文地址:https://www.cnblogs.com/svennee/p/4073013.html
Copyright © 2011-2022 走看看