作者:牛仔很忙不闲 | 来源:互联网 | 2023-10-12 18:21
想利用html来做程序界面,但是又不想把html以及js代码放到客户端,想放到数据库中,使用EmbeddedWB.LoadFromStreams是可以实现的。但是有个麻烦的事情是:
想利用 html 来做程序界面,但是又不想把 html 以及 js 代码放到客户端,想放到 数据库中,使用 EmbeddedWB.LoadFromStreams 是可以实现的。但是有个麻烦的事情是:
如果 html 需要通过 引用其他 js 代码时,怎么可以控制到去数据库取相应的 js 代码,而不是必须要使用 .js 文件?
5 个解决方案
没用过EmbeddedWB,不知是不是其调用IE的核心来解HTML呢?是不是像webBrowser来解析HTML呢?如果是这样,那客户端还是要把服务上的HTML,JS等文件下载到本地的一个目录里的吧,再加载解析。如果放在数据库里,如果指定了,而你的服务端HTML,JS文件又不是做成一个WEB服务来提供,那还要自己去解析一下JS,读相应的文件,好像这样就麻烦了。。。还有其它的资源文件呢?比如小图标什么的,css....
在数据库里面可以用2个字段来存储html代码和js代码,比如分别用字段Field1和Field2表示
那么在程序里面就可以这样控制:
if 满足条件 then
EmbeddedWB.LoadFromStreams(Field1+Field2)
else
EmbeddedWB.LoadFromStreams(Field1);
一个简单的办法就是自己解析语法,比如说 楼主先从数据库读出来,然后再查询出DB写到一个临时文件件中再把{DB}给替换掉,程序关闭的时候把临时文件删除就行了
我现在用一个懒人作法,把代码直接存到memo中,用的时候直接读出来
如果非要使用脚本这些,把这些做成资源,用的时候再释放出来,到时候只需要读取当前目录下的脚本就行了
先读取出来,然后解析""之间的内容,然后分析src后的内容,再然后去数据库读取相应的js,再按照src的路径保存起来既可