本地html文件 怎么用一段js脚本实现:网页文本框中输入文字,该html文件源码同时改变并自动保存?

fishsmile 发布于 2013/01/02 21:27
阅读 15K+
收藏 0

本地html文件 怎么用一段js脚本实现:网页文本框中输入文字,该html文件源码同时改变并自动保存?是本地html文件,实际就相当于用浏览器当文本编辑器,让它实时保存html文件修改后的内容。

下面就是一个简单的网页文件1.html的源代码

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>
<label for="textfield"></label>
<textarea name="textfield" cols="100" rows="50" id="textfield"></textarea>
</body>
</html>

 

我在文本框总输入一段文字如图。

 

在我输入后,1.html的源代码中这段就自动产生变化,并且自动保存。

<textarea name="textfield" cols="100" rows="50" id="textfield">我要的效果就是我在这个文本框输入文字,这里的文字就出现在本文件的源码中</textarea>

 

加载中
0
林四哥
林四哥

既然是本地的文件,换一换思路还是可以实现的,具体调用本机的ActiveX控件 -- Scripting.FileSystemObject 读写文本文件就可以了。但因为IE浏览器安全限制 不能使用这样的控件读写本地文件(会提示没有权限),所以须将html 改为hta(实质也是html),这样就绕过权限问题了。

例如:将你的1.html 改为1.hta

<html>
<body>
<textarea name="textfield" cols="100" rows="50" id="textfield"></textarea>
<script language="javascript">

  var fso = new ActiveXObject("Scripting.FileSystemObject");
  var path = fso.GetFile("1.hta");
   //alert(fso.GetAbsolutePathName(path));获取当前文件路径
document.getElementById("textfield").value= document.documentElement.outerHTML
 //获取当前页面的HTML
然后使用OpenAsTextStream方法写入文件1.hta

</script>
</body>
</html>


等闲识却
等闲识却
使用Dom就解决了
0
红薯
红薯
本地的 html 不能直接执行 js 吧,必须挂到 web 服务器上,而挂在 web 服务器的 又不能使用 js 来修改 html 。
0
买红薯
买红薯
无法实现
0
南湖船老大
南湖船老大

理论上应该是可以的,JS的FSO可以实现对文件的读写,服务器端或本地均可。

不过由于ASP的衰败,没多少人用VBS/JS 来做这些事情了

0
我土鳖
HTML5 FileReader API不知道能不能帮上你的忙。
0
行陌路
行陌路
获取html节点的innerHTML撒。
0
没文化的学霸
没文化的学霸
最好不要这样做
0
没文化的学霸
没文化的学霸
现在Apache和Nginx都可以做伪静态处理PHP页面。使用Ajax技术还可以和用户交互,然后不刷新页面而更改内容。用JS重写页面不明智
0
没文化的学霸
没文化的学霸
实际上,jQuery有一个重写方法,可以实现重写源码内的某段内容
f
fishsmile
能给出代码吗?谢谢。
返回顶部
顶部