我们正在与Chaplin构建一个Trigger应用程序。如果我们可以使用我们资产的绝对路径,那么对于开发目的来说会很好,la:
<link rel="stylesheet" href="/_forge/stylesheets/app.css">
<script src="/_forge/javascripts/vendor.js"></script>
<script src="/_forge/javascripts/app.js"></script>
是否可以在Trigger中执行此操作?
答案 0 :(得分:3)
不幸的是,不同的平台在Trigger上有不同的URL(由于它们有自己的特性和限制)。
如果你想获得绝对路径,你可以使用文件模块并按照以下方式执行:
forge.file.getLocal("js/app.js", function (file) {
forge.file.URL(file, function (url) {
$('body').append('<script src="'+url+'"></script>');
});
});
我不确定为什么绝对路径是有用的,我建议只使用一个html页面(index.html)导航到新页面在手机上比使用javascript更改dom慢。在这种情况下,所有相对路径应始终相同。
答案 1 :(得分:1)
最简单的方法是检测index.html中是否存在伪造并相应地加载javascript:
<script type="text/javascript">
function addScript(src, callback) {
var tag = document.createElement('script');
tag.type = 'text/javascript';
tag.src = src;
tag.onload = callback;
document.getElementsByTagName('head')[0].appendChild(tag);
}
var vendor = "javascripts/vendor.js";
var app = "javascripts/app.js";
if(window.forge === undefined) {
vendor = "/"+vendor;
app = "/"+app;
}
addScript(vendor, function() {
addScript(app, function() {
require('initialize');
});
});
</script>