【发布时间】:2022-01-12 14:38:17
【问题描述】:
我为我的网页创建了一个 jira 问题收集器。我希望在按下按钮时激活此发行者。 当我在 html 中嵌入以下代码时,效果很好:
<a href="#" id="Trigger" class='btn btn-primary'>Jira Issue</a>
<script type="text/javascript" src="htpps...."></script>
<script type="text/javascript">window.ATL_JQ_PAGE_PROPS = {
"triggerFunction": function(showCollectorDialog) {
jQuery("#Trigger").click(function(e) {
e.preventDefault();
showCollectorDialog();
});
}};</script>
但是每次我加载页面时它都会提示输入用户名和密码。我只想在单击 Jira 问题按钮时提示。 所以我在一个js文件中插入了以下代码:
$(document).ready(function() {
$('#Trigger').click(function (event) {
jQuery.ajax({
url: "https:....",
type: "get",
cache: true,
dataType: "script"
});
window.ATL_JQ_PAGE_PROPS = {
"triggerFunction": function(showCollectorDialog) {
jQuery("#Trigger").click(function(e) {
e.preventDefault();
showCollectorDialog();
});
}};
});
});
但这种方式显示加载图标,而无需打开 jira 模态窗口。 我正在使用 jquery-3.2.1.min.js。我也尝试在没有 $(document).ready(function() 但没有成功的情况下运行代码。当我按下按钮时,浏览器调试器的控制台输出如下:
jquery-3.2.1.min.js:4 Uncaught TypeError: a.indexOf is not a function
at r.fn.init.r.fn.load (jquery-3.2.1.min.js:4)
at ATL_JQ.IssueDialog.show (com.atlassian.jira.collector.plugin.jira-issue-
collector-plugin:issuecollector-embededjs.js?locale=en-
US&collectorId=b936f358:3)
at showDialog (com.atlassian.jira.collector.plugin.jira-issue-collector-
plugin:issuecollector-embededjs.js?locale=en-US&collectorId=b936f358:3)
at HTMLAnchorElement.<anonymous> (main.js:14)
at HTMLAnchorElement.dispatch (jquery-3.2.1.min.js:3)
at HTMLAnchorElement.q.handle (jquery-3.2.1.min.js:3)
第一个可能是由自 jQuery 1.8 以来不推荐使用的 .load、.unload 或 .error 等 jquery 事件别名引起的,但我的代码省略了这些别名。 main.js:14 行还指代代码showCollectorDialog();
我在这里做错了什么?
【问题讨论】:
-
嘿,2017。这仍然是真的。
标签: javascript jquery html jira