Execute javascript code when page is loaded

Florian Marquardt April 5, 2017

Hi,

I'm writing a plugin that adds some Information to the issue details view.

Therefore I'm using javascript code to add interactions.

my vm-template looks roughly like this (first HTML-Elements then the javascript parts)

<div id="myContent">my content</div>

<script>
document.getElementById("myContent").innerHTML = "my new content";
</script>

the point is that JIRA seems to reassemble the order of the elements. When I test my plugin the getElementById() always fails, because the corresponding element is not yet available in the DOM.

btw. using jQuery(document).ready(function() {...}); doesn't make any difference. Using some blocking interaction in my javascript (e.g. alert()) shows that when it's executed the JIRA-page is not yet complete. It is incomplete until the blocking event of my code returns (see attached screenshot)

So my question is: how can I ensure, that certain parts of the DOM are available when my script is executed.blockingEvent.PNG

2 answers

0 votes
Jobin Kuruvilla [Adaptavist]
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
April 5, 2017

Ideal thing to do is to use a JS file and load it as a resource using the web resource module. And of course, add your code in the ready function because you want to execute it only after the page is loaded.

See https://developer.atlassian.com/jiradev/jira-platform/building-jira-add-ons/jira-plugins2-overview/jira-plugin-module-types/web-resource-plugin-module  

0 votes
Thomas Schlegel
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
April 5, 2017

Hi Florian,

Questions about developing Plugins for Atlassian Products should better be asked in the Atlassian Developer Community Platform  

Thank you 

Thomas

Suggest an answer

Log in or Sign up to answer