1
chone 2010-12-06 11:19:07 +08:00
也就是所有这些都只是一些url,然后通过客户端根据不同的需求来展现
这样做似乎能实现更丰富的展现方式!还能让用户自定义!! good idea |
2
remember2015 2010-12-06 21:32:24 +08:00
没有明白意思
|
3
dimlau 2010-12-06 21:47:27 +08:00
恩,听上去不错。至少不会像现在这样改了 filters.py 也不能实时生效。
|
4
disinfeqt 2010-12-06 22:12:49 +08:00
在我极端的想法中,V2EX 不仅仅是先进后端技术的产物,而应该是前后端同时高级的混合产物。
比如 WebSockets、Mustache 之类的,AJAX 就更不用说了。 |
5
keakon 2010-12-06 22:26:48 +08:00
如果浏览器没有启用JavaScript,或者文档还没下载完毕,JavaScript来不及解析时,就会看到一堆标签了…
举例来说,我的手机就不支持JavaScript |
6
j 2010-12-06 22:28:36 +08:00
可以只考虑智能手机和PC。没有JS支持的浏览器大概是ucweb吧。。。建议跳过。
|
7
dimlau 2010-12-06 23:50:05 +08:00
@keakon 手机浏览有专门的界面啊,那个界面可以不转义链接的。
即使是在桌面上,不支持 JS 的浏览器也只显示没有经过转义的原链接而已,不会有什么一堆标签啊。比如现在的 mobile 界面里的视频链接那样。 |
10
keakon 2010-12-07 01:47:18 +08:00
以下言论对事不对人,见谅。
假如我想发一张我的头像,我假设有这4种方案: http://v2ex.appspot.com/avatar/2704/normal [img]http://v2ex.appspot.com/avatar/2704/normal[/img] {{http://v2ex.appspot.com/avatar/2704/normal|我的头像}} <img src="http://v2ex.appspot.com/avatar/2704/normal" alt="我的头像"/> 第一种服务器不需要做任何处理,JavaScript也完全不知道这个是图像,顶多当成URL来显示 第二和三种,服务器如果不做处理,关闭JavaScript就会看到奇怪的代码。 你说手机模式可以显示原始链接,请问怎么获取原始链接?你得分析这个标签,得判断标签是否嵌套,得考虑标签是否正常关闭了,这工作量和直接在服务器端解析有什么区别? 第四种也好不到哪去,不但要判断关闭什么的,还得判断是否有恶意代码,例如JavaScript事件啊、CSS样式什么的。甚至还有可能写一些未转义的HTML实体。 举个最简单的例子,你认为有多少人知道链接中包含&时,写在src或href属性里时要手动改成&,否则以XHTML输出时浏览器会报解析失败的错误? 就算你对这些都不在乎,网站的管理者还得考虑SEO啊。所有的链接、图像什么的都变成了纯文本,而搜索引擎是不会执行JavaScript把文本转成标签的。 如今HTML元素早已不只是为了表象存在的,它的表意功能才是推崇的,而这种方式就破坏了HTML的语义了。 我知道你们认为JavaScript很牛,什么都能搞定,但是web开发不是那种想当然一拍脑袋就去做的事,有着一大堆烦人的取舍问题。考虑问题不能只想能否做到,还要想是否该这么做,以及是否值得去做。 |
11
chone 2010-12-07 02:10:07 +08:00
@keakon 我们在讨论的是 Project Label.主要是针对现在的帖子内容来说的。只是把filter.py的工作拿到前段来做,如果不支持javascript就用<a>标签来显示链接我觉得对于Project Label来说完全是一种可以接受的方案
|
12
dimlau 2010-12-07 02:15:17 +08:00
@keakon 呃,就你举的例子来说,现在 PB 在服务器端的处理,第一种方案也不会转义成图片的。
再拿图片举例,PB 现在只会处理以 cl.ly 和 img.ly 开头的链接。而且很“不智能”地把所有 cl.ly 开头的链接都解释成图片,而不去分析这个链接的内容是不是图片。 所以我(们)才会有上面的观点──其实只是想把 filters.py 在服务器端做的事拿出来由浏览器去做。 我对这个想法叫好的原因是,比如现在要想添加对其他图片网站的支持就不但要修改 filters.py 还要再动一些模板文件。如果是 JS 来实现的话就简单到更新一下那个单独的 JS 文件就可以了,仅此而已。 所以我觉得可能是你过于激动了……另外,澄清到这里,你上面提到的 SEO 问题应该不存在了吧。 |
13
dimlau 2010-12-07 02:17:03 +08:00
@chone 呃……上边这段话竟然用了超过 5 分钟来输入?!所以被你抢先了。看来我也激动了,哈哈。
话说作为非程序员我应该表示毫无压力才对嘛。 |
14
keakon 2010-12-07 02:30:34 +08:00
要睡觉了,不说太多
@chone PB还没去做并不代表这件事服务器端不能做。而我所表达的是服务器端来做比客户端来做更好,不会带来任何兼容性问题。 而且在我看来Django模板是个很烂的东西,为什么非要强迫自己用它的filters.py,而不用现成的库去解析? @dimlau 以你的回复来看,你是要服务器不做任何处理,用户也不写任何标签,也就是这种形式: http://v2ex.appspot.com/avatar/2704/normal 那么JavaScript如何判断我是贴URL还是图像还是视频还是音乐还是代码? |