在Phonegap/Cordova应用中使用Backbone加载HTML本地模板文件
Load HTML local template files with Backbone in a Phonegap/Cordova application
我有这段代码,我想从视图文件夹内的外部文件加载我的HTML模板。
var InputView = Backbone.View.extend({
tagName: 'form',
template: _.template($.get('views/inputCapo.html')),
render: function(){
app.$el.append(this.template);
return this;
}
});
app
是我的应用程序的主要视图,我知道本地文件的XHR请求的问题,出于安全原因,我无法加载它。
我知道这是浏览器的问题,但与phonegap应用程序的问题是一样的?
要实现将HTML文件与脚本分开的相同功能,哪个是最佳替代方案?
我已经看到require.js
和text.js
库加载HTML文件没有$.get
,但又有相同的依赖于XHR限制。
预编译模板比动态请求模板性能更高。一种方法是使用Grunt将它们构建到JST命名空间中- https://github.com/gruntjs/grunt-contrib-jst.
然后在你的Gruntfile中,像这样:
jst: {
compile: {
files: {
"path/to/compiled/templates.js": ["path/to/source/**/*.html"]
}
}
}
在你的主干视图:
var InputView = Backbone.View.extend({
tagName: 'form',
template: JST['views/inputCapo'],
render: function(){
app.$el.append(this.template());
return this;
}
});
然后确保在您的Backbone视图之前在index.html文件中包含path/to/compiled/templates.js
脚本。
相关文章:
- Webpack:如何将原始HTML加载为React JSX
- 画布 HTML 加载时间
- 使用 Ajax 在 html 加载后调用 jquery 插件
- 用javascript(不带外部文件)将html加载到另一个html中
- 错误 404 时,通过 jQuery 将 HTML 加载到 DIV 中
- 如何在将 html 加载到对话框中后更改标签的文本
- 如何将数据从服务器呈现的 html 加载到模型中
- jQuery 从外部 html 加载内容
- Ajax 将 html 加载到页面上并使用页面 js 不起作用
- 如何在没有安全警告的情况下将一个 html 加载到另一个 html 中
- 安卓:根据上一次活动列表中的选择,修改本地静态html加载的JS
- 在AppStore发布时,iOS应用程序上的index.html加载路径不正确
- 使jquery.load在HTML加载之前发生
- 使用jqueryload方法将ajax响应数据作为内部html加载到页面元素中
- HTML加载用户单击按钮时输入的输入字段数
- jQuery Mobile从新html加载第二个页面
- 使用ajax将html加载到Datatable子行中
- 使用JavaScript将HTML加载到DIV
- 使用JS和JQuery替换AJAX中的字符串或html加载
- js函数加载的页面无法使用js函数js-html加载另一个页面