Ruby on Rails代码,用于截取页面的不同部分

时间:2013-12-27 14:25:07

标签: javascript ruby-on-rails fonts png snapshot

我正在创建一个Ruby on Rails应用程序。我的应用中的特定页面按<div>标记分为几个部分。每个<div>包括文本(使用不同的字体),符号和数学公式的组合。我使用MathJax和一些其他Javascript代码来正确显示它们,一切都在我的计算机上运行良好。但是,在每个人的浏览器上都没有启用Javascript,并且某些Javascript代码可能无法在其他人的浏览器上正确加载。我想到的一个解决方案是:在完成所有javascripts处理并且在我的计算机(服务器)上正确显示页面后,我使用一些代码生成PNG中每个<div>的快照并将它们发送到服务器(例如,我点击页面上的<button>标签,以便在我开心显示的内容正确后激活此代码。然后我会将这些图像保存在数据库中并为它们提供服务,无论是否启用Javascript,使用什么浏览器等等,每个人的计算机上的图像都是一样的。有人知道我可以使用的代码或命令吗?请注意,目前在加载页面后,Javascripts处理HTML内容并生成正确的显示。另外我不想拍整个页面的快照;每个<div>的快照。

非常感谢。

2 个答案:

答案 0 :(得分:1)

这是一个客户端问题,这是一个适合您的JavaScript http://experiments.hertzen.com/jsfeedback/

答案 1 :(得分:0)

你在那里遇到了一些问题。在页面加载完成之前不执行Javascript,即所有信息都已发送到客户端。你没有在服务器级执行javascript,所以你根本无法进行那种处理。如果他们禁用了javascript,您的代码将永远不会被执行。

你可以使用Imagemagick或类似的东西生成图像,我知道PHP有绑定。有一些极其混乱的解决方案,比如在服务器端的浏览器中使用像selenium这样的东西进行渲染,但我绝对不会建议这样做。总的来说,它取决于您的开发,但大多数主要语言支持生成不需要100%javascript的图像的平台。