【问题标题】:Including JS files to Crossrider project将 JS 文件包含到 Crossrider 项目中
【发布时间】:2016-03-15 03:24:54
【问题描述】:

我正在开发 Crossrider 扩展程序,我是扩展程序开发的新手。我已经基于演示创建了基本项目,甚至包括 Jasmine 进行测试。 不幸的是,我坚持创建自己的资源。

这是我的调试项目的结构:

resources\
    lib\
    spec\
        test-runner.js
    src\
        js\
            App.js
        popup.html
    background.js
    extension.js

test-runner.js:

(function() {
    appAPI.resources.includeCSS('lib/jasmine/jasmine.css');
    appAPI.resources.includeJS('lib/jasmine/jasmine.js');
    appAPI.resources.includeJS('lib/jasmine/jasmine-html.js');
    appAPI.resources.includeJS('lib/jasmine/boot.js');

    $('body').html('');

    appAPI.resources.includeJS('spec/App-spec.js');
})();

这就是我包含此文件的方式:

appAPI.resources.includeJS('spec/test-runner.js');

一切正常。

当我尝试包含 App.js 时,问题就开始了。我读到应该这样做:

 appAPI.resources.addInlineJS('src/js/App.js');

但它不起作用。

这是我的 App.js:

var App = {
    init: function() {
        console.log('App initialized');
    }
};

$(document).ready(App.init);

extension.jsbackground.js中是否可以包含资源文件,以及如何在项目资源中添加更多的js文件?

【问题讨论】:

    标签: javascript cross-browser crossrider


    【解决方案1】:

    如果我理解您要正确实现的目标(即向扩展代码添加资源脚本),我认为您遇到了scope 问题。

    appAPI.resources.addInlineJS 将资源脚本添加到 HTML 页面 范围内,一旦添加,扩展页面 范围内将无法访问代码。要将资源脚本添加到您的扩展代码(即 extension.js 代码),请使用 appAPI.resources.includeJS,如下所示:

    appAPI.resources.includeJS('src/js/App.js');
    

    [披露:我是 Crossrider 的员工]

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-03-23
      • 2013-05-14
      • 2020-10-01
      • 1970-01-01
      • 2020-12-03
      • 2023-03-08
      • 1970-01-01
      相关资源
      最近更新 更多