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=‘width: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=‘width:400px;height:100px;‘><p>"+d.name+"文件生成成功!</p><p>访问路径为:</p><p>&nbsp;&nbsp;"+d.url+"</p></div>", {title : ‘消息提示‘});

} else {

new Boxy("<div style=‘width:300px;height:100px;‘><p>"+data.data+"</p></div>", {title : ‘消息提示‘});

}

}

}

});

}catch(err){}

}

//-->

</script>

服务器处理的action代码我就不贴出来了,用I/O就行了。

时间: 2024-10-10 04:37:07

js 将网页生成为html保存访问的相关文章

Handlebars.js循环中索引(@index)使用技巧(访问父级索引)

使用Handlebars.js过程中,难免会使用循环,比如构造数据表格.而使用循环,又经常会用到索引,也就是获取当前循环到第几次了,一般会以这个为序号显示在页面上. Handlebars.js中获取循环索引很简单,只需在循环中使用{{@index}}即可. 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <META http-equiv=Content-Type content="text/html; charset=utf-

JS让网页上文字出现键盘打字的打字效果

一个挺简单的网页特效:JS让网页上文字出现键盘打字的打字效果实现 演示地址:http://codepen.io/guihailiuli/pen/jPOYMZ 以代码形式实现过程分析: <html> <head> <title>打字效果</title> <meta http-equiv="Content-Type" Content="text/html;charset=gb2312" /> <style

利用canvas将网页元素生成图片并保存在本地

利用canvas将网页元素生成图片并保存在本地 首先引入三个文件: 1.<script type="text/javascript" src="js/html2canvas.js"></script> 2.<script type="text/javascript" src="js/base64.js"></script> 3.<script type="text

js对象字面量属性间相互访问的问题 和 这个问题与执行环境的关系

对象字面量属性间无法相互访问的问题: 我曾经在定义一个对象时, 并出于复用性的考虑试图复用某些属性: // test 1 var person = { firstName : "Bill", lastName : "Gates", fullName : firstName + " " + lastName // 这里报错 } alert(person.firstName); alert(person.lastName); alert(person

用js在网页上完成倒计时3秒后自动跳转到另一个页面

<body> <div id="time"></div> <a href="#" onclick="stop()">停止</a> <script type="text/javascript"> var i=3; function changeTime(){ document.getElementById("time").innerHTM

JS获取网页中HTML元素的几种方法分析

getElementById getElementsByName getElementsByTagName 大概介绍 getElementById ,getElementsByName ,getElementsByTagName ###adv### 后两个是得到集合,byid只是得到单个对象 getElementById 的用法 举个例子: <a id="link1" name="link1" href=http://homepage.yesky.com>

js获取网页的各种高度

网页可见区域宽: document.body.clientWidth网页可见区域高: document.body.clientHeight网页可见区域宽: document.body.offsetWidth (包括边线的宽)网页可见区域高: document.body.offsetHeight (包括边线的高)网页正文全文宽: document.body.scrollWidth网页正文全文高: document.body.scrollHeight网页被卷去的高: document.body.sc

&lt;&lt;&lt; JS实现网页批量下载文件,支持PC/手机

//把下载链接放入集合里 var downloadData = new Array{"http://www.empli.com/data1.apk","http://www.empli.com/data1.apk","http://www.empli.com/data1.apk","http://www.empli.com/data1.apk"}; var downloadNum=0;//方法执行次数 circularWind

JS获取网页宽高方法集合

JS获取网页宽高等方法的集合:document.body.clientWidth - 网页可见区域宽document.body.clientHeight - 网页可见区域高 document.body.offsetWidth - 网页可见区域宽,包括边线和滚动条的宽document.body.offsetHeight - 网页可见区域高,包括边线和滚动条的高[FF,chrom下是整个页面高,IE opera 下正常] document.body.scrollWidth - 网页总宽documen