日期:2014-05-16  浏览次数:20332 次

锚标功能如何实现,火车售票系统设计原理
向论坛里的神人请教问题,

1、锚标功能是如何实现的?

专业描述:当用户对页面特定区域进行复杂操作之后,页面能够返回到原来触策动作的位置,免得从头再翻。

这个问题我挺想知道的,但百度无所得,我暂时浮浅的认识到捕捉鼠标焦点也许不对,因为触屏系统里没有鼠标焦点,但同样实现了这个功能。

2、网页查找关键字,并且高亮关键字。我略微明白如何查找关键字,但是如何让关键字高亮就有点无所得了


3、服务器拦截文件上传是什么原理?是拒绝post么?可是页面的普通请求不是post方式的么?
  网盘无法上传文件、图片,为什么博客园发博文可以上传图片?这其中原理难道不是一样的么?
  文件以二进制流在网络中传输,那么服务器则么知道我此次上传的是文件呢,而不是普通文字,

4、公交车站的,最近一班车5分钟后到站是什么原理呢,利用波控制么?而比如234号车,在路上可能有有两辆的,又是如何区别呢?

5、火车票售票程序是如何设计的呢?感觉很复杂呀,区间车,全程车,我浮浅的认为是0/1代表一个区间,可,那样京广线之类的不是字段超级长?
 

几个问题,在知道发过,但是无人回答,无法满足我的好奇心呀。

也不知道发在哪个版块,如果不对,请见谅,每个问题回答,我觉得是真理的都会分别给分的,

请大牛们给小弟解答疑惑啊,万谢~

------解决方案--------------------
2、网页查找关键字,并且高亮关键字。我略微明白如何查找关键字,但是如何让关键字高亮就有点无所得了
你说你知道如何查找关键字了,那高完就是一个替换。比如:将 关键字 替换成 <span style="color:red">关键字</span>

3:<form …… enctype="multipart/form-data"> 这个multipart/form-data应该就是一个条件了


------解决方案--------------------
这种打包式的问题帖,不如拆开一一问,放一块,很多人嫌麻烦就不会管了。

1、锚标功能是如何实现的?
 这个至少有“通过JS变量记录坐标”和“插入锚点对象”两种方法。
 前者是在转换操作区域时,先通过函数,提取一下当前的document.body.scrollTop和document.body.scrollLeft(多浏览器兼容的写法,有必要的话就自己搜一下,这里不占地方了),存在JS变量中。当需要转回原来的位置时,把变量赋回给document.body.scrollTop和document.body.scrollLeft就可以了。
 后者是在转换操作区域时,先创建一个临时锚点对象<a href="#回到这来" id="转回去"></a>,没有显示内容,所以外表看不出有变化。当需要转回原来位置时,用JS写两句:document.getElementById("转回去").click();document.getElementById("转回去").remove();就可以了。后一句是删除这个临时对象,以供下次再插入它。
 如果要建立位置书签机制,维护多个锚点位置的话,这两种方法也都可以使用,只是把单个变量变成数组,把一个唯一的ID对象变成一系列的ID对象。

2、网页查找关键字,并且高亮关键字。我略微明白如何查找关键字,但是如何让关键字高亮就有点无所得了
 这个说得不太清楚。如果是让用户在页面内查找,不必你写,用户按CTRL+F调用浏览器的查找功能就行了,自带高亮功能。如果是你想用后台程序来控制返回的页面或前台JS来控制当前页面中的某些内容颜色变化,可以用楼上说的方法进行替换。如果你是用正则查找的,就用正则替换,实际上你根本不用二遍事,直接对所有待查找对象进行替换操作即可,如果有就会被替换,没有就原样不变。

3、服务器拦截文件上传是什么原理?是拒绝post么?可是页面的普通请求不是post方式的么?
网盘无法上传文件、图片,为什么博客园发博文可以上传图片?这其中原理难道不是一样的么?
文件以二进制流在网络中传输,那么服务器则么知道我此次上传的是文件呢,而不是普通文字,

 楼主对基本知识掌握不够啊。FORM默认的EncType就是文本型的,所以平时无论是GET,还是POST,都是按照文本内容来接收处理的。上传文件的<INPUT TYPE="FILE">必须设置enctype="multipart/form-data">,FORM的Action可指明后台接收处理的程序文件。这样的话,文本内容对应的后台接收处理程序自然只当作文本内容处理,而上传文件所对应的后台接收处理程序就把接收的数据当作文件处理。这根本不用判断。
 至于看起来象是同时上传文字和图片的博文发表,其实是分两部分的,一部分是上传文字内容,一部分是上传文件内容,两部分还是不同的后台处理程序分别处理的。但一个FORM只能向一个ACTION提交,如何能同时发起两个不同目标的提交呢?这就有多种技巧方法了,如AJAX和IFRAME等。说来话长(谁叫你一帖问这么多问题呢),自己去找相关资料吧。

4、公交车站的,最近一班车5分钟后到站是什么原理呢,利用波控制么?而比如234号车,在路上可能有两辆的,又是如何区别呢?

 这个就因地制宜了。很多地方是在车上装GPS定位仪,也有的地方(主要是以前的系统)是用公交专用的无线通讯控制系统(比如司机每到一站都按一下某种操作面板上的一个按钮,就是向系统总部通知自己已到站程表里的一站了,相当于站程表数组里的那个索引值)。这种事,你给人家机构进行开发时,自然就会被告知具体的方式和方法,否则知道也没用。

5、火车票售票程序是如何设计的呢?感觉很复杂呀,区间车,全程车,我浮浅的认为是0/1代表一个区间,可,那样京广线之类的不是字段超级长?

 那涉及算法,应该去专门看看。在这给你列出关键原理都没什么用,因为我根本不认为你有做那种应用的必要。现在这类网站快过剩了,再做一个类似的有什么用。