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, likes for trees, atlassian community, social impact, tree planting campaign, community kudos, atlassian giving, environmental impact, sustainability, likes for good, atlassian social responsibility, community challenge

Make every click count—help us plant 50,000 trees! 🌳

Want to make your everyday Community actions directly contribute to reforestation? The Atlassian Community can achieve this goal by liking a post, attending an ACE, sending your peers kudos, and so much more!

Help us plant more trees
AUG Leaders

Atlassian Community Events