Ajax 板


LINE

※ 引述《chweng ()》之铭言: : ※ 引述《danny0838 (道可道非常道)》之铭言: : : 在下想做的是一套简单的电子书系统,大概有几个要求: : : 1. 使用者只需要 IE 或 Fx 等网页浏览器就能执行,不需安装额外软体。 : : 2. 承上,所以希望整套网页系统只用到 JS, CSS, HTML, XML 之类的, : : 目前没用过 JQuery,如果有需求会尝试看看。 : : 3. 整套系统可以全套在本机电脑上执行,也可以放在伺服器上,供使用者连线使用。 : 我想请教一下这个需求的用意是? 资料档就像网页一样,集中放在某个相对路径下, 在 server 上就是取 server 上的资料档; 在本机就是取本机的资料档。 伺服器上的情况就是,程式和资料档全在伺服器上, 使用者可自由浏览,(当然,无法修改)。 基本上完全自由,直接输入网址就能存取。 本机的情况是,把程式和资料档打包给使用者下载, 可以离线使用,也可以自行新增、修改资料档,甚至程式,打造属於自己的「电子书」。 为减少维护负担,所以不想分别写二套程式。 为减少伺服器负担,所以不想写 serverlet(更主要原因是 serverlet 不能本机跑), server 只放资料档和程式档,剩下全丢给使用者的浏览器跑。 整体来说,资料档其实就像一个个网页, 程式的用途在於提供搜寻、分析、比对、切换样式等功能。 : : 问题大概有几个: : : 1. 本程式一开始是不会读入所有资料档的。 : : 程式开启时,要呈现出一个列表,列出所有资料档,让使用者去选择。 : : 就在下所知,如果要读取伺服器的「某资料夹下的所有档案」,必须使用 AJAX, : 在本机是可以取得自己电脑的档案结构啦。 : 至於单纯使用 AJAX 就可以读取伺服器的档案结构... : 如果你这麽认为的话,可能你的观念还要再加强一下喔。 所以 AJAX 不能读 server 的档案架构,是吗? : : 但 ActiveX 不能在纯粹在伺服器运作,因此也不宜。 : ActiveX 本来就不是给伺服器用的。 : : (另外,ActiveX 似乎只有 IE 支援) : 没错,要跨平台、跨浏览器的话,请考虑用 JAVA。 想确认您指的是 JAVA 还是 Javascript? 不管是 AJAX 或 HTA 或 OOXX,只要放在本机和在放伺服器上都能跑, 而且大部分浏览器都能正常执行,(就是前面的三点需求),在下就可以接受。 : : 不知以上认知是否错误? : : 因此,除了资料档以外,在下是否必须另外制作一个资料档的路径列表? : 简单讲是这样没错... 所以如果要能放在伺服器上也能放在本机跑,基本上资料档路径表要另外自己做? : : 2. 承上,在上述限制下,有什麽方法可以根据使用者的操作, : : 动态载入使用者想开启的资料档? : 从传统的单纯超连结,到新的 AJAX 技术,都可以达到你的要求吧。 : : 目前在下的做法是建立一个隐藏的 iframe 去读资料档, : : 但 iframe 的载入似乎需要时间, : : 无法在载入的程式码後面立刻抓取框架内容,否则会出错。 : 这边我不是很了解为什麽你会选择这样做? : 如果你是以 AJAX 做的话,步骤大概像这样: : 使用者触发读取某一个资料档的事件 -> 透过 AJAX 技术取得该资料档的内容 -> : 根据某些规则(如 BBCode 转 HTML)产生要输出的 HTML 原始码 -> : 将这个结果放到某个 division 里面,这样就完成了 : 按照这样来讲,根本不需要用到 iframe,更不用去等待、确认读取完成、再 : 取得该 frame 的内容(更何况,你打算怎麽取得整个框架的内容)。 因为目前尚未成功让 AJAX 在本机跑... 而用 iframe 可以达成放在本机或放在伺服器的需求... 简言之,如果 AJAX 可以纯本机执行、跨浏览器执行, 在下就考虑改用,而且在下的确是比较希望能用 AJAX...。 : : 另外,在下希望资料档格式尽量简单,让不懂网页语法的使用者也能自由编辑, : : 所以最好可以是 txt 或 xml... : 最简单当然是 txt,使用者程度够的话,建议以 html 来做就可以了, : xml 我是觉得不很必要,除非你打算顺便纪录诸如文章日期等等的额外资讯。 目前其实算是假 xml,除了宣告标签和一二层标签以外, 整个内容实际上还是自订语法的纯文字档。 实际是透过 xsl 插入 html 标签和分析用的程式档,然後让浏览器读取。 不用 txt 是因为 txt 直接开启是看到原始码,而不是分析过语法的结果; 而 html 需要在资料档里插入太多可能会变动的标签,将来万一要改会改到死; 所以目前是用 xml,如此可以直接点二下开启,并自动载入分析程式。 目前也考虑用 txt,但主要障碍是在下还无法本机跑 AJAX, 若用 iframe 开 txt,就无法知道何时完成载入(若是 xml 就可以插语法通知主程式)。 : : 3. 承上,因为同一个资料档可能被重复开启,想请问以下何种做法最有效率最省资源: : : 1) iframe 载入後就保留,如果日後用到同一个资料档, : : 就直接读取对应 iframe 的内容。 : : 2) iframe 载入後,把内容存到主程式下的某个变数中,并关闭 iframe, : :    如果日後用到同一个资料档,就直接读取对应的变数。 : : 3) iframe 载入且读完後就关闭,如果日後用到同一个资料档,就重新载入一次。 : : 4) 有比以上三者更好的方法? : 我想就只需要一个 division,使用者开启一次则读取一次就好。 : 实在不需要储存到某个变数,或是制造多个 division / iframe 存放。 : 我觉得你好像把所谓的「日後」想得太远了,事实上不管如何, : 使用者一关掉浏览器,你做的这些「快取」通通都会消失归零, : 你可以想想看,要使用者留着一个浏览视窗不要关闭,可以维持多久呢? : 而为了做这个 cache,所造成的网页结构复杂度、使用者记忆体耗用量、 : 使用者操作的顺畅程度、使用感受等等,再加上撰写相关机制以及日後 : 维护所花费的成本,我个人是觉得这麽做是弊大於利。 这是一个电子书程式,并建有搜寻功能, 搜寻档案时自然必须先载入, 在关闭浏览器前,在下预期使用者在使用的前前後後,会频繁重复使用档案, 而因为开启档案时,必须交由程式分析语法,再呈现内容, 如果没有缓存机制,每次开启同样的档案都重新分析一次语法似乎颇浪费资源... 而如果使用缓存机制,似乎会增加记忆体的负担... 所以目前也不确定缓存是否比不缓存好。 : : 4. 在下想制作类似 phpBB 的 BBCode 或维基语法的自订标签,再用程式分析呈现, : : 以供定义和规范化电子书的格式, : : 并且可依实际需要配合样式表做出多种变化、多种分析方式。 : 要做到最大的变化性,我想 HTML 会比什麽 BBCode 或是维基语法还要优秀很多。 这问题就像为什麽网路论坛和维基百科不开放 HTML... 因为在下不预期使用者会懂 HTML 和 CSS, 采用自制语法就是为了让使用者能方便地自由编辑。 另外还有一个原因是让程式能分析「文意」, 例如「注解」、「标题」、「附注」等,能够采用特定的格式, : : 目前最大障碍是,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>正文正文正文...... : : 目前就卡在不知如何自动侦测标签的不当嵌套, : : 以及侦测出来後自动复制必要的标签,请求各位大大协助。 : 关於这点,恕我不同意你的观点。 : 我想先请教的是,你要根据什麽来认定这个不当嵌套的内容,是要依照你 : 所定的规则来做修正?使用者真正想表达的效果,一定是你设想的这样吗? : 其实浏览器也有自己的容错机制,而且肯定比您自己撰写的要来得完善,因此, : 我比较倾向把这个问题交给浏览器解决。 认定的方式就是范例写的那样,很明显意思是用 [note] 框整段。 另一个常见的情况就是,「换行」通常会被编译成<p></p>, 如果使用者把标签跨段使用,很容易造成不适当的嵌套。 说了这麽多,其实在下要的只是,如果有一段文字: [tag]我是一段文字[/tag] 要如何用 js 语法得知「一段文字」的所有母标签? 感谢您的回覆(_ _) --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 163.25.118.142 ※ 编辑: danny0838 来自: 163.25.118.142 (01/15 20:45) ※ 编辑: danny0838 来自: 163.25.118.142 (01/15 20:46) ※ 编辑: danny0838 来自: 163.25.118.142 (01/15 20:48)







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:iOS站内搜寻

TOP