How to place document.getElementsByTagName('head')[0].appendChild(metatag); on top of the head tag

Viewed 24

I have a SPA (single page app) and use prerender.io to cache the page for search bots. I generate my meta tags on the fly from my proxy api with this code, example for description and og.description:

var decriptionmetatag = document.createElement('meta');  
decriptionmetatag.setAttribute('name', 'description');  
decriptionmetatag.content = description.innerText;  
document.getElementsByTagName('head')[0].appendChild(decriptionmetatag);
                
var ogdecriptionmetatag = document.createElement('meta');  
ogdecriptionmetatag.setAttribute('property', 'og.description');  
ogdecriptionmetatag.content = description.innerText;  
document.getElementsByTagName('head')[0].appendChild(ogdecriptionmetatag);

But my ghost cms has also meta-tags who come before the one I generate. Is there a way to place the result of the javascript code on top of the head or to overrule the standard meta-tags.

1 Answers

.prepend() is the answer tnx @zer00ne

var ogdecriptionmetatag = document.createElement('meta');  
ogdecriptionmetatag.setAttribute('property', 'og.description');  
ogdecriptionmetatag.content = description.innerText;  
document.getElementsByTagName('head')[0].prepend(ogdecriptionmetatag);
                    
Related