Intraweb

2024-09-08

Intraweb 篇1

之前曾试着开发了一个网站, 下面对使用过程中遇到的问题分析如下:

(测试环境为xpsp3, delphi7, VCL for the Web Version:11.0.16, Macromedia Dreamweaver 8, IE8。)

1 表单收藏与收录

如何让程序中的一个form也可以方便地被浏览器收藏或搜索引擎收录, 通过给每一个form分配一个固定的网址即可解决这个问题。

在老版本的IntraWeb程序里, 一个form通常是像一个桌面程序那样用Show方法来打开一个页面。但有时候想从别的外部网站打开其中的一个form, 或者是收藏一个form的网址, 或是被搜索引擎收录, 这在以前不太容易实现, 但现在, IPM能够轻松地实现愿望。它可以为每个from映射 (虚拟指定) 一个网址。

下面介绍一下实现方法 (Mapping a URL的方法) :

首先, 请uses一下IWURLMap。然后在最后添加如下代码:

Initialization

TIWURLMap.Add ('/red/', 'index.html', TfrmRed) ;

end.

Add函数有3个参数:Add (Path, File, Class of the form) 。

在这个例子中, 这个form将对应到/red/index.html或者简单的/red/ (直接在IE中输入http://127.0.0.1:90/red/index.html或http://127.0.0.1:90/red即可打开该form) 。如果file为空, 这个form将对应到/red/*.任何文件。Path和file可以自己任意定义 (完全是虚拟的) , 只要不和已有的静态网页重名即可。

如果有session存在, 该打开的form就应用该session, 如果没有, 将会建立一个新的session。所以该网址可以作为该网站的首页使用。为了支持书签功能, 即便程序是新建的一个session, 该网址也不会自动发生变化。

2 模板文件

关于模板文件:仅仅指wwwroot目录下的#Tmplt.*.html文件, 不是指与form对应的页面布局模板文件。

在模板文件中不能够直接插入图片 () , 否则出错, 也不能够有以下语句

, 即不能够有img和link标签 (其他html文件可以) 。表格背景却可以插入图片, 但如果被合并的网页与该模板不在同一级目录, 背景图片就显示不出来了, 因为图片路径不对了 (解决方法为“使用绝对路径”:目录以“/”开始, 表示从网站根目录wwwroot开始查找。如“IWDocs/gfx/AtozedLogo.png”路径要写成“/IWDocs/gfx/A-tozedLogo.png”, 这样, 不管模板被哪个层次的子目录调用, IPM都会从wwwroot/IWDocs/gfx/AtozedLogo.png去查找) 。程序中引用wwwroot目录要用这个方法:GServerController.ContentPath。如下语句将文件直接存储在wwwrootuploadfile目录下IWFIle1.SaveToFile (GServerController.ContentPath+‘uploadfile’+IWFile1.FileName) 。直接插入一个图片文件还没有找到解决方法, 但link标签可以用如下方法解决 (如引入一个css文件) :

3 files文件夹的处理

为了与老版本的程序兼容, files文件夹仍然得以保留。它可以放在程序根目录下, 也可以放在wwwroot目录下。如果放在wwwroot目录下, 就把它作为普通文件夹对待即可。如果放在程序根目录下即wwwroot同目录下, 如果引用其内的文件, 在网页中要以“/files/”开始。也就是说, 如果网页中有以“/files/”开始的网址, IPM将只在files目录中查找, 而不管files目录是在程序根目录下还是在wwwroot目录下, 这样就兼容了以前版本的程序了, 否则还得改模板。笔者认为如果不是为了兼容老程序, 此文件夹完全可以没有特殊的含义。如果是用IntraWeb XI新开发一个项目, 完全可以不关心此事。

4 html文件编码问题

IntraWeb的例程中的html文件都是这样的:, 可能在用到中文时有问题。一般建议换成这句:

5 结语

【Intraweb】推荐阅读:

Intraweb技术06-26

上一篇:基本倾向下一篇:切除手术

热搜文章

    相关推荐