所以我使用 trigger.io 创建一个页面,底部有一个自定义菜单,每个按钮将一个外部 HTML 页面加载到主容器中。我不得不四处寻找才能完成这项工作,所以我想知道是否有更好的方法来做到这一点。
我开始使用$('.main').load('pages/test.html')
它,它不起作用。相反,我必须这样做:
forge.file.getLocal('pages/test.html', function (file) {
forge.file.string(file, function (str) {
$('.main').html(str);
});
});
这有点乱。
此外,如果将str
HTML 内容作为img
标签,则 img 不会显示,因为该src
属性被弄乱了。所以我不得不做另一个黑客:
forge.file.getLocal('pages/test.html', function (file) {
forge.file.string(file, function (str) {
var $main = $('.main');
$main.html(str);
//Hack to resolve img src
var imgPath;
$main.find('img').each(function () {
var $this = $(this);
// First 8 chars is "file:///"
imgPath = $this.prop('src').substr(8);
forge.file.getLocal(imgPath, function (file) {
$this.prop('src', file.uri);
});
});
});
});
有什么更好的方法可以轻松地完全加载外部 HTML 页面?
谢谢!