How do I add structured data using JSON-LD on dynamic pages that need to wait for content to load?
http://jsfiddle.net/c725wcn9/2/embedded
You will need to inspect the DOM to check this works. Jquery is needed.
$(document).ready(function(){
var el = document.createElement('script');
el.type = 'application/ld+json';
el.text = JSON.stringify({ "@context": "http://schema.org", "@type": "Recipe", "name": "My recipe name" });
document.querySelector('head').appendChild(el);
});
Your code included the variable name script
but appended the variable el
to the <head>
instead. Also removed are the new line characters from the JSON string which was checked with JSON-LD playground .