Come for the products,
stay for the community

The Atlassian Community can help you and your team get more value out of Atlassian products and practices.

Atlassian Community about banner
4,294,648
Community Members
 
Community Events
165
Community Groups

HTML file as attachment

Edited

Hi there,

I'm currently trying to bind my HTML-file which I uploaded as attachment (filetype: text/html) in an iFrame.

But Confluence keeps downloading the HTML file instead of rendering the file.

I have to work with an iFrame because i have a bootstrap stylesheet which would cause problems if I link it directly in the HTML-Macro.

Confluence Version: 6.0.3

Do you have any suggestions to my problem?

Thanks in advantage

Luca

 

EDIT:

I forgot to say that I tried the "Example - HTML from an attachment" (https://bobswift.atlassian.net/wiki/display/HTML/HTML+Macro)

But everytime I try to write {html:script=^..........} Confluence doesn't recognize my command... Maybe I'll do something wrong...

 

EDIT2:

Nevermind... I saw that the Bob Swift HTML Macro have to be installed separately. I thought that he described the Confluence HTML Macro...

1 answer

1 vote

Confluence is not a web server that renders up arbitrary html.  Your file is an attachment and hence gets treated as an attachment.  If you want to render it in Confluence, you'll need to convert it to a Confluence page, or find/write a macro that can read and render an attachment.

Thank you for your answer.

I've found a solution that works for me.

I download the HTML file via JQuery ajax and write it direct in the iFrame. This should work for Google Chrome, Firefox and Internet Explorer:

<iframe id="result" style="width: 100%; height: 100vh;border:none;" scrolling="no"></iframe>
<script>
$(document).ready(function() {
$.ajax({
 method: 'GET',
 url: '/download/attachments/...',
 dataType: 'text',
 success: function(data) {
 var iframe = document.getElementById('result');
iframe = iframe.contentWindow || ( iframe.contentDocument.document || iframe.contentDocument);

iframe.document.open();
iframe.document.write(data);
iframe.document.close();
 }
});
});
</script>

This is a little hacky, but creative and solves my problem!

Note to others:

Copy the script above into the HTML Macro (not html include) and replace the URL with your HTML attachment. 

Luca's solution works fine except for some characters like accented letters that appear as �.

Do you know how to solve this ?

tip: Find a way to replace ASCII characters by  UFT8 characters.

Suggest an answer

Log in or Sign up to answer
TAGS
Community showcase
Published in Confluence

Confluence: Where work and wellness meet

Feeling overwhelmed by the demands of work and life? With a 25% increase in the prevalence of anxiety and depression worldwide during the pandemic, for most of us, it’s a resounding yes . 🙋‍♀️ ...

809 views 8 21
Read article

Community Events

Connect with like-minded Atlassian users at free events near you!

Find an event

Connect with like-minded Atlassian users at free events near you!

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you