2

如何在 Atlassian Jira 4.4 插件中包含 Web 资源?

atlassian-plugin.xml:

 <web-resource key="statistics-resources" name="statistics">
    <resource type="download" name="statistics.js" location="js/statistics/statistics.js"/>
    <dependency>jira.webresources:jira-global</dependency>
    <context>com.cs.jira.plugins.statistics-resources</context>
</web-resource>

统计.js:

$("#projects").change(function() {
$(location).attr('href', "/jira/secure/StatisticsModuleAction!project.jspa?project=" + $(this).find("option:selected").text());});

在 Velocity 模板中包含资源:

$webResourceManager.requireResourcesForContext("com.cs.jira.plugins.statistics-resources")

当我尝试从我的 statistics.js 调用 javascript 函数时,我收到此错误:

未捕获的类型错误:对象 [object Window] 的属性“$”不是函数

然后我尝试包含外部 jQuery 库:

<web-resource key="statistics-resources" name="statistics">
    <resource type="download" name="jquery-1.8.2.js" location="js/lib/jquery-1.8.2.js"/>
    <resource type="download" name="statistics.js" location="js/statistics/statistics.js"/>
    <dependency>jira.webresources:jira-global</dependency>
    <context>com.cs.jira.plugins.statistics-resources</context>
</web-resource>

我在 batch.js 中遇到另一个错误:

未捕获的类型错误:对象 [object Object] 没有方法“handleAccessKeys”

我怎样才能正确地包含我的资源?

4

2 回答 2

2

据我所知,您已正确包含统计资源。您的问题是 Jira 通过与 jquery 标准不同的引用提供对 jquery 的访问。如果您在 javascript 代码中替换$AJS.$它应该可以解决您的问题。

于 2015-06-08T11:27:32.503 回答
0
AJS.toInit(function () { 
// Your code here for .js file
});

应该解决您的问题并始终参考 AJS.$ 的 $ 函数,正如 Joe Douglas 所回答的那样。

于 2017-01-10T19:05:34.373 回答