最近有个小想法,就是让用户使用书签栏中的“插件”(类似pinterest那种bookmarklet)在网页中截图并评论。有点像原先google+的反馈功能。
原型大概是这样(直接用爱库的改了一下)
我之前的思路是:
0.先要做个网站,用来保存用户的评论和截图,并提供插件的安装方式。
1.用户安装“插件”:用户把我提供的插件(一段js脚本)拖到浏览器的书签栏。
2.点击书签插件,判断用户是不是已经登录,若已登陆,插件会在浏览器当前页面里加一个覆盖全部页面的透明层,提示用户可以选取页面中的一部分进行截取;未登录则提示先去网站登录。
3.用户在这个层上用鼠标选取一块区域,选完之后脚本会把当前网页的url、整个页面当前相对于屏幕的坐标(或者是滚动条的位置)、鼠标选取位置的坐标和大小这些参数用ajax传给后端python,同时在页面中显示一个表单,用来让用户写评论。
4.后端接收到参数后,对当前网页进行截图。截图完成后再把图片地址传给前端。在后端处理的时候,用户可以在前端写评论,最后提交到后端。
本来觉得没问题,后来又想了一下觉得有一点忽略了。如果是在服务器端进行裁剪、截图的话,出来的效果跟用户操作截图时看到的页面会有区别,比如用户用mac系统截图,但是服务器那边是linux,所以服务器截的图肯定不是mac下的效果,尤其是字体,会差别很大。这个问题可以参考爱库里那些网站的截图。
但是做这个工具需要让用户看到的、截取的、最后生成的图片都一致才行,所以貌似只能在前端截图,不能把url发给后端,让后端来截图。
于是我又找到了 html2canvans ( http://html2canvas.hertzen.com/ )这个东东,貌似原先的google+反馈功能就是用的这个。它里面自带了一个Bookmarklet(差不多就是我想做的东西了),本来以为是完美的解决方案,结果发现还是无法使截图效果做到完美一致。比如flash在截图中无法显示,还有元素的边距、文字等偶尔会有变化。如图:
其实我知道浏览器插件能完美实现截图功能,但总觉得插件太笨重,不如书签脚本来得轻巧。
附:ruby-china上一个朋友的想法和我类似,但是也没有最终的解决方案 http://ruby-china.org/topics/738
不知各位有何建议?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/47679
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.