想利用 html 来做程序界面,但是又不想把 html 以及 js 代码放到客户端,想放到 数据库中,使用 EmbeddedWB.LoadFromStreams 是可以实现的。但是有个麻烦的事情是:如果 html 需要通过 <Script> 引用其他 js 代码时,怎么可以控制到去数据库取相应的 js 代码,而不是必须要使用 .js 文件?

解决方案 »

  1.   

    没用过EmbeddedWB,不知是不是其调用IE的核心来解HTML呢?是不是像webBrowser来解析HTML呢?如果是这样,那客户端还是要把服务上的HTML,JS等文件下载到本地的一个目录里的吧,再加载解析。如果放在数据库里,如果指定了<Script>,而你的服务端HTML,JS文件又不是做成一个WEB服务来提供,那还要自己去解析一下JS,读相应的文件,好像这样就麻烦了还有其它的资源文件呢?比如小图标什么的,css....
      

  2.   

    在数据库里面可以用2个字段来存储html代码和js代码,比如分别用字段Field1和Field2表示
    那么在程序里面就可以这样控制:
    if 满足条件 then
      EmbeddedWB.LoadFromStreams(Field1+Field2)
    else
      EmbeddedWB.LoadFromStreams(Field1);
      

  3.   

    一个简单的办法就是自己解析语法,比如说 <script  src='{DB}\XXX'/>楼主先从数据库读出来,然后再查询出DB写到一个临时文件件中再把{DB}给替换掉,程序关闭的时候把临时文件删除就行了
      

  4.   

    我现在用一个懒人作法,把代码直接存到memo中,用的时候直接读出来
    如果非要使用脚本这些,把这些做成资源,用的时候再释放出来,到时候只需要读取当前目录下的脚本就行了
      

  5.   

    先读取出来,然后解析"<script"和"/>"之间的内容,然后分析src后的内容,再然后去数据库读取相应的js,再按照src的路径保存起来既可