Trigger.io资产的绝对路径?

时间:2013-04-26 23:57:34

标签: trigger.io

我们正在与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中执行此操作?

2 个答案:

答案 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>