Unable to use <script> with plugin outlets

I am trying to make a theme component to display Carbon Ads in my Discourse forum
Carbon Ads are called by inserting the following code where they should be loaded:

<script src="//cdn.carbonads.com/carbon.js?serve=CK7DL2Q7&placement=wwwkodulario" id="_carbonads_js" async type="text/javascript"></script>

In the Theme Component, after checking the guide, I came to the conclussion that the easiest way to do so is by using plugin outlets
However, when I add the following piece of code to </head> I get the following error:

Error: Unclosed element script (on line 2).

<script type="text/x-handlebars" data-template-name="/connectors/topic-above-post-stream/foobar">
    <script src="//cdn.carbonads.com/carbon.js?serve=CK7DL2Q7&placement=wwwkodulario" id="_carbonads_js" async type="text/javascript"></script>
</script>

I guess it is because I should not be supposed to use a script tag inside another script tag, but how can I fix it? Is there any workaround for this?

Have you tried putting the script call in the </head> file without the text/x-handlebars script tag? I haven’t tried this before, but it’s worth a shot as that imports into the application.

4 Likes

Yep, it worked!

But the script is not being executed
I mean, the JavaScript is not being triggered as the ad is not loading
Any idea why it’s not working?

I’ve finally gone for the plugin way, and opened a PR to add Carbon Ads to Discourse-AdPlugin:

https://github.com/discourse/discourse-adplugin/pull/73

5 Likes

@codinghorror is using Carbon Ads on his blog, so I’m inclined to approve your PR and include it in our official plugin. I’ll review.

6 Likes

PR is merged. Thanks @barreeeiroo.

7 Likes