0

我们有一个生成 JavaScript 文件的插件。我们想从一个 html 按钮中运行/执行这个 js 文件,例如:

<input type=button value="Open js" onclick="javascript:window.open('http://jira.bltelecoms.net:8080/s/en_UScyxsyn/664/8/1.0.23-beta/_/download/batch/com.atlassian.jira.collector.plugin.jira-issue-collector-plugin:issuecollector/com.atlassian.jira.collector.plugin.jira-issue-collector-plugin:issuecollector.js?collectorId=e125274b','_self')" />

我们使用名为 Jira 和 Confluence 的第三方 Web 应用程序,它是 Atlassian 套件的一部分。它是一个问题跟踪软件,它使用一个插件来创建这个 JavaScript 文件,该文件会弹出一个类似于灯箱的窗口,您可以在其中填写数据并发送它。默认情况下,它会在页面的一侧触发,我们希望如何从标准的 html 按钮执行它。有没有办法做到这一点?

4

2 回答 2

1

您可以创建一个包含脚本的新页面,然后单击打开此页面。

或者这个怎​​么样:

function loadScript() {
  var s = document.createElement('script');
  s.src = "http://jira.bltelecoms.net:8080/s/en_UScyxsyn/664/8/1.0.23-beta/_/download/batch/com.atlassian.jira.collector.plugin.jira-issue-collector-plugin:issuecollector/com.atlassian.jira.collector.plugin.jira-issue-collector-plugin:issuecollector.js?collectorId=e125274b";
  document.body.appendChild(s);
}

onclick="loadScript();"
于 2012-09-13T09:19:03.357 回答
0

我知道这是一个老话题,但请参阅以下链接:

https://confluence.atlassian.com/display/JIRA/Advanced+Use+of+the+JIRA+Issue+Collector#AdvancedUseoftheJIRAIssueCollector-手动添加自定义触发功能

这显示了如何为 JIRA 问题收集器设置自定义触发器。您将需要一个函数来扩展全局对象 ATL_JQ_PAGE_PROPS,如下所示(jquery 必须可用)。

    window.ATL_JQ_PAGE_PROPS = $.extend(window.ATL_JQ_PAGE_PROPS, {


    // ==== custom trigger function ====
    triggerFunction : function( showCollectorDialog ) {
        $('#feedback-button').on( 'click', function(e) {
            e.preventDefault();
            showCollectorDialog();
        });

        // add any other custom triggers for the issue collector here
    }

});

因此,单击带有 id="feedback-button" (或您想要提供的任何其他 id)的 DOM 元素将触发您的问题收集器脚本。

请记住,问题收集器需要指定“自定义”触发器。您可以通过在 JIRA 中对其进行编辑来完成此操作。

希望这可以帮助

于 2015-02-20T10:41:53.767 回答