如何在iframe中显示渲染的Handlebars模板
How to display a rendered Handlebars template in an iframe
由于各种原因(孤立的css、易于加载资产等),我想在iframe中显示一个渲染的Handlebars模板。我该怎么做?
我试过以下几种:
-
将设置了
src
的iframe
元素附加到Handlebars文档中,然后使用jQuery/Handebars获取body
的内容,对其进行编译,并将其放回iframe
中。- 这里的问题是DOM与静态
.hbs
文件不同,我更喜欢使用原始hbs
文件。例如,可以注入一些脚本,这往往会把事情搞砸
- 这里的问题是DOM与静态
-
将
src
设置为about:blank
的iframe
元素追加,对Handlebars文档发出ajax
请求,对其进行编译,然后将其追加到iframe
的正文中。- 这里的问题是,资产在从服务器获取资源时使用
iframe
的src
属性,并且由于未设置该属性,因此无法定位资源。如果在执行此步骤后更改src
,则会重新加载整个iframe
- 这里的问题是,资产在从服务器获取资源时使用
这篇关于斑点/斑点的文章可能会帮助您:https://developer.mozilla.org/en-US/docs/Web/API/Blob
这基本上就是它的工作方式:
var iframe = document.getElementById('myframe');
// Create a new Blob using your data and handlebars template
var blob = new Blob(['<div>Hello World</div>'], {type : 'text/html'});
// create a URL from your new blob
var url = URL.createObjectURL(blob);
// Set your iframe to show the Bloburl
iframe.src = url;
(http://jsfiddle.net/83PQs/)
支持Chrome、SF、FF和IE10(http://caniuse.com/#feat=bloburls)。
相关文章:
- 用于在Backbone中创建列表的Handlebars模板
- HandleBars-模板中的模板
- Handlebars模板未出现
- metalsmith系列'路径'无法从Handlebars模板访问键
- Handlebars模板未填充上下文
- helpers字符串中的Handlebars模板标记
- Handlebars模板:将多个数组中的值打印到一个表中
- 如何在编译后将事件侦听器添加到Handlebars模板中
- 如何在Handlebars模板中使用metalsmith永久链接
- 如何为Handlebars模板设置默认参数
- 在Handlebars模板中执行Javascript
- 使用RequireJS预编译的Handlebars模板
- 对所有页面使用相同的Handlebars模板
- Handlebars模板,使用字符串键访问上下文变量
- Handlebars模板工作不正常
- Handlebars模板管理
- 骨干事件不'无法在Handlebars模板中工作
- 如何在Handlebars模板中初始化jQuery小部件
- Ember Computed属性和Handlebars模板
- Handlebars模板占位符的默认值