html自动生成网页

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了html自动生成网页相关的知识,希望对你有一定的参考价值。

这是我用dreamweave新建的一个html网页,里边有两个文本区域和一个按钮,我希望达到的效果是,当我点击按钮的时候,它可以在指定路径生成一个新的html网页,网页内容就是大的文本区域里的文字,然后用小的文本区域里的文字+“.html”作为新的网页的名称,尽量不要使用数据库和服务器。
求各位高手指点,能提供详细的代码和解析,不胜感激。
假如可以的话,能否更进一步,如果我要让新生成的网页内容使用样式,甚至运用模版,代码又是怎样的呢?

由于安全问题, 在不使用服务器语言的情况下, 浏览器是无法生成文件在本地磁盘中. 如果能够生成文件, 这会是一件非常危险的事情. 

当然也有例外, 就是在IE中通过VBS/JS脚本并使用ActiveX控件.

不过在IE中, 这个网页并不是一打开就能执行该代码, IE6以后, 默认情况下浏览器会提示拦截网页中存在风险脚本和使用了Activex. 需要允许后才能运行.

以下是IE中的示例代码, 该代码只能在IE中使用, 除了IE以外任何的浏览器都无效.

题主也不用问别的浏览器是否能够达到目的, 服务器网页语言之所以能创建文件, 也是因为相关的控件在操作系统中进行了注册才能进行的

<!DOCTYPE HTML>
<HTML>
<HEAD>
</head>
<BODY>
<script type="text/vbscript">
Sub CreateAfile
 Dim fso, MyFile
 Set fso = CreateObject("Scripting.FileSystemObject")
 Set MyFile = fso.CreateTextFile("r:\\testfile.txt", True)
 MyFile.WriteLine("这是一个测试。")
 MyFile.Close
End Sub
CreateAfile()
</script>
</BODY>
</html>

参考技术A html有这功能?
我咋没听说过呢?
html具备这功能,是你自己想象的呢?还是你确实去肯定过?
据我所知,html是标记性语言而非逻辑处理脚本语言,用于标记网页内容展示,好像不具备逻辑处理功能!
参考技术B 其实仔细想想,这个问题很简单。不要忘了JS哦,或者jQuery,这两个都可以在静态网页中运行,你静下心来,保持清晰的思路,给这个按钮添加一个单击事件,这个事件就是你的需求。
祝好运!

如何实现自动生成HTML网页

我理解你的问题是生成动态网页是吧。一般动态的HTML是通过支持CGI 即 (通用网关接口)的语言生成的。例如 PHP  ASP  PYTHON  RUBY等。当然前段的JS 也可以通过DOM 生成动态HTML

  所谓HTML实际上是一种标记语言。而后端脚本语言通常可以控制 终端设备输出显示。这样利用输出加上通用网关接口就可以实现 动态的HTML输出(在这里实际上用户浏览器就是一个终端。)

  一般后台语言生成HTML都是通过模板实现 例如PYTHON


# ! / u s r / b i n / e n v p y t h o n 
import cgi 
 reshtml = \'\'\'Content-Type: text/html\\n 
<HTML><HEAD><TITLE> 7 Friends CGI Demo (dynamic screen) 
</TITLE></HEAD> 
<BODY><H3>Friends list for: <I>%s</I></H3>   
Your name is: <B>%s</B><P> 
You have <B>%s</B> friends. 
  </BODY></HTML>\'\'\' 
 form = cgi.FieldStorage() 
who = form[\'person\'].value  howmany = form[\'howmany\'].value   print reshtml %

(who, who, howmany) 

参考技术A

可以用url重写

===========================================

动态生成Html文件也不挺容易实现的,你可以引用

System.IO.StreamWriter这个命名空间,这是我项目中动态生成html的方法你可以参考一下:

/// <summary>
        /// 生成HTML文件
        /// </summary>
        /// <param name="FilePath">保存文件路径</param>
        /// <param name="Content">文件流内容</param>
        /// <param name="FileName">文件名</param>
        public static void CreateHtmlFile(string FilePath, string Content, string FileName)
        
            if (Directory.Exists(FilePath) == false)
            
                Directory.CreateDirectory(FilePath);
            
            using (StreamWriter m_streamWriter = new StreamWriter(FilePath + "\\\\" + FileName, false, System.Text.UnicodeEncoding.GetEncoding("UTF-8")))
            
                m_streamWriter.WriteLine(Content);
                m_streamWriter.Flush();
                m_streamWriter.Close();
            
        

参考技术B 使用dw那些设计模式,设计好之后点击浏览就会自动生成网页 参考技术C 以最简单的新闻网页为例,先是做一个模板页,假定其中3个地方要动态更换的:标题,内容,日期,哪么模板中这3个地方都要用特殊的名称表示。
要生成html页时,先读入html模板页,再查询数据库,把查询到标题,内容,日期的实际值替换模板中的特殊名称,并按规则命名另存这个文件。
以上是动态生成html页的基本原理,实际工作中,可灵活处理,比如一次性生成所有页,或者发布一个生成一个,可以用一个模板,也可以根据类别用3个5个模板。模板可以保存为文件文件,也可保存在数据库中等等。
?

以上是关于html自动生成网页的主要内容,如果未能解决你的问题,请参考以下文章

怎么批量制作html网页

关于网页自动刷新代码

三种简单的html网页自动跳转方法

JSP生成静态html网页

网页中怎么写自动播放mp3音乐的代码

HTML怎么添加背景音乐模块,进入网页自动播放的?