[英]function works when I run it in javascript file but not embedded in html file
[英]Jira issue collector code works when embedded in html but not in separate javascript file
我为我的网页创建了一个 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();
我在这里做错了什么?
这仍然是一个问题。
您可以将 JQuery 版本降级到 2.2.4 以解决
按照你上面的方法,点击事件后出现对话框,但是对话框上下错位。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.