Javascript inside LD JSON

javascript, json, json-ld

Solution

No, scripts of the type "application/ld+json" won't be executed. But, you could do something like this:

<script>
  var el = document.createElement('script');
  el.type = 'application/ld+json';
  el.text = JSON.stringify({
    "@context": "http://schema.org",
    "@type": "WebSite",
    "url": "http://" + window.location.hostname
  });
  document.querySelector('body').appendChild(el);
</script>

Problem

I'm wondering if it's possible to execute some javascript inside an ld+json script. For example "window.location.hostname" ``` <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "WebSite", "url": "http://" + window.location.hostname } </script> ```

Original source