作者danny0838 (道可道非常道)
看板Ajax
标题[问题] 一个 JS 的系统问题
时间Tue Jan 13 11:07:25 2009
在下想做的是一套简单的电子书系统,大概有几个要求:
1. 使用者只需要 IE 或 Fx 等网页浏览器就能执行,不需安装额外软体。
2. 承上,所以希望整套网页系统只用到 JS, CSS, HTML, XML 之类的,
目前没用过 JQuery,如果有需求会尝试看看。
3. 整套系统可以全套在本机电脑上执行,也可以放在伺服器上,供使用者连线使用。
4. 架构大致分为
(1) 网页程式系统(JS, HTML, XML)
(2) 资料档(很多,一个档就是一本电子书)
5. 流程大致为:
开启程式
↓
呈现操作介面和资料档列表
↓
使用者选取操作方式,以及资料档 ←
↓ ↑
程式载入必要的资料档,分析并呈现结果 →
问题大概有几个:
1. 本程式一开始是不会读入所有资料档的。
程式开启时,要呈现出一个列表,列出所有资料档,让使用者去选择。
就在下所知,如果要读取伺服器的「某资料夹下的所有档案」,必须使用 AJAX,
但 AJAX 不能纯粹在本机运作,因此不宜;
而如果要读取本机「某资料夹下的所有档案」,必须使用 ActiveX,
但 ActiveX 不能在纯粹在伺服器运作,因此也不宜。
(另外,ActiveX 似乎只有 IE 支援)
不知以上认知是否错误?
因此,
除了资料档以外,在下是否必须另外制作一个资料档的路径列表?
2. 承上,在上述限制下,有什麽方法可以根据使用者的操作,
动态载入使用者想开启的资料档?
目前在下的做法是建立一个隐藏的 iframe 去读资料档,
但 iframe 的载入似乎需要时间,
无法在载入的程式码後面立刻抓取框架内容,否则会出错。
另外,在下希望资料档格式尽量简单,让不懂网页语法的使用者也能自由编辑,
所以最好可以是 txt 或 xml...
在下想问的是:
如何让主程式在 iframe 载入完成时,知道 iframe 已载入完全,
然後分析并呈现其结果?
或者,有比 iframe 更好的作法?
3. 承上,因为同一个资料档可能被重复开启,想请问以下何种做法最有效率最省资源:
1) iframe 载入後就保留,如果日後用到同一个资料档,
就直接读取对应 iframe 的内容。
2) iframe 载入後,把内容存到主程式下的某个变数中,并关闭 iframe,
如果日後用到同一个资料档,就直接读取对应的变数。
3) iframe 载入且读完後就关闭,如果日後用到同一个资料档,就重新载入一次。
4) 有比以上三者更好的方法?
4. 在下想制作类似 phpBB 的 BBCode 或维基语法的自订标签,再用程式分析呈现,
以供定义和规范化电子书的格式,
并且可依实际需要配合样式表做出多种变化、多种分析方式。
目前最大障碍是,HTML 标签只容许巢状,而不容许交叉。
假设在下的自订标签语法如下:
[h1]标题[/h1]
正文正文正文[note]注解注解[/note]正文正文正文......
这段文字会被程式转换为:
<h1>标题</h1><br/><br/>正文正文正文<span class="note">注解注解</span>
正文正文正文......
(中间没有换行,是为了BBS显示才换行的)
但如果有人写成:
[h1]标[note]题[/h1]
正文正文正文注解注解[/note]正文正文正文......
转换後就会得到错误的结果......
在下希望程式能自动侦测这类的问题,并且自动修正为巢状标签:
<h1>标<span class="note">题</span></h1><br/><br/><span class="note">
正文正文正文注解注解</span>正文正文正文......
目前就卡在不知如何自动侦测标签的不当嵌套,
以及侦测出来後自动复制必要的标签,请求各位大大协助。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 163.25.118.142
※ 编辑: danny0838 来自: 163.25.118.142 (01/13 11:16)
※ 编辑: danny0838 来自: 163.25.118.142 (01/13 11:22)
※ 编辑: danny0838 来自: 163.25.118.142 (01/13 11:33)
1F:→ fillano:ajax可以在本机操作,但是ff3需要用about:config改权限 01/13 11:57