Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

Javascript Injection and JS Libraries dependencies

Vincent Thoulé _Alkaes_ December 10, 2019

Hi All,

I have to build a small plugin for Jira/Confluence in order to inject JS.

I am aware about Web Resource module type that allows to inject JS depending the different context of the application. It allows to inject a <script> based on an aggregate of JS source from the Application, where the declared dependencies are analysed in order to have the correct JS.

The generated html looks like 

{code:html}<script type="text/javascript" src="/confluence/s/71095c56c641f2c4a4f189b9dfcd7a38-CDN/en_US/8100/5084f018d64a97dc638ca9a178856f851ea353ff/3.1.1/_/download/batch/confluence.extra.livesearch:livesearch-macro-web-resources/confluence.extra.livesearch:livesearch-macro-web-resources.js?locale=en-US" data-wrm-key="confluence.extra.livesearch:livesearch-macro-web-resources" data-wrm-batch-type="resource"></script>{code}

But, how to process if a part of this injected JS has external dependencies not stored on the application. In final, I expect to have 

{code:html}
<script language="JavaScript" src="https://other.copany.com/js/SomeLibrarie.js"></script> {code}

Any idea ?

Thanks

1 answer

1 vote
DPKJ
Community Champion
December 10, 2019

Hi @Vincent Thoulé _Alkaes_ 

This is not possible directly to add external web resources. But there are some workaround that you can use,

  • Best is, to download all external resources put them in plugin directory and use it from there
  • Or you can try somethings like, "Fetch Inject" (if it works fine in your scenario) https://git.habd.as/jhabdas/fetch-inject

Hopefully this helps.

Vincent Thoulé _Alkaes_ December 10, 2019

Hi DPK J,

The solution could be a possibility if the downloaded resource is cached with some epxiration age, but I did not have yet find such usage in documentation.

The JS resource is a large one, and it would  be not aceptable to reload it all the time without benefit of Browser cache.

I should test it as soon as the implementation is confirmed.

V.

Suggest an answer

Log in or Sign up to answer
TAGS
atlassian, mindful member, mindful member badge, atlassian community, community kudos, community giveaway, atlassian swag, community values, empathy and kindness, badge challenge, atlassian learning, community engagement, swag giveaway

Earn a Badge, Win a Prize 🎁

Earning the Mindful Member badge proves you know how to lead with kindness, plus it enters you into a giveaway for exclusive Atlassian swag. Take the quiz, grab the badge, and comment on our announcement article to spread the good vibes!

Start here
AUG Leaders

Atlassian Community Events