创建独立的离线 HTML5 应用以及嵌入其资源的最佳方法
Creating a self contained, offline HTML5 app and the best method for embedding its resources
我正在尝试创建一个单一的文件HTML5文档,可以通过电子邮件发送给人们,其中包含运行它所需的所有标记,js,css和图像。
我知道一些描述离线过程的文章,例如 http://diveintohtml5.info/offline.html,但是想知道嵌入其资源(如大图像和js文件(的最佳方法。
我会对这些使用 base64 编码还是有更好的方法?
应用程序将在相当新的浏览器上运行。
是的,base64 对图像进行编码。我所做的是在转换为 base64 之前将它们保存为 png 并转换为正确的大小(有免费的在线网站可以为您执行此操作(。这样可以节省大量空间。
要将数据保存到本地文件,请使用HTML5本地存储,这里有一个指南:http://www.html5rocks.com/en/features/storage。
对于 JS/CSS 文件,只需将它们粘贴到头部即可,没什么大不了的!
对于某些工作,我不得不相当积极地这样做。
为了显着减小文件大小,如果图形是线条艺术而不是照片,我更喜欢将其转换为可缩放的矢量图形文件(.svg(。 这些是当今大多数浏览器自行理解的文本文件,并且很容易直接嵌入到HTML文件中。 根据您想要的方式,您在这里有几个选项,包括直接使用带有命令的标签来驱动它,或者将其嵌入为样式表组件,以便在文档中的任何需要的地方使用数据 URI(例如 .my_image{background:url(data:image/svg+xml;charset=UTF-8,[SVG file without newlines]);}
,在此处找到更多详细信息:https://css-tricks.com/using-svg/(。 确保在您希望它使用的所有浏览器上进行测试...我已经能够在IE,Chrome,Firefox和Edge上成功地做到这一点,尽管我必须使用charset=US-ASCII并对SVG文本进行一些过滤以使其工作。
对于字体,我使用 Font Squirrel 从我上传的字体文件生成 webkit(使用高级选项,并设置样式表.css将字体嵌入其中,以便您可以将生成的文本复制到您自己的页面中(。
外部样式表和JavaScript可以直接复制到HTML中,如前所述。
- 在localhost Dev Box上测试JSONP请求的最佳方式
- 有条件更新d3.js力图中节点的最佳方法
- 为react组件传递道具的最佳方式
- 与运行长作业(javascript,node.js)的第三方API同步的最佳实践
- 让Webpack管理Quirky AMD定义的最佳方式
- 否'访问控制允许来源'标头存在于IISNOde中请求的资源(AngularJS+NodeJs)上
- WebResources嵌入式资源和Javascript如何在另一个嵌入式资源中使用它们
- 在承诺链中处理早期回报的最佳方式
- 如何在构建node-webkit应用程序后获取外部资源
- 将jQuery.ech()方法转换为本地JavaScript抽象的最佳方法是什么
- Angularjs 1.5.x本地化最佳实践
- 处理浮点错误的最佳方法是什么
- ADF:有条件地加载javascript资源
- 学习单元测试的最佳资源
- Reacjs 和 Flux 的最佳资源
- 创建独立的离线 HTML5 应用以及嵌入其资源的最佳方法
- 更改时加载Web资源[js,css,images]的最佳方法是什么
- 在Typescript中使用c#资源(ResX文件)的最佳方式
- Chrome开发者工具:学习高级功能的最佳资源
- 在响应式网页设计中提供资源文件(JS, CSS,图像)的最佳实践