view.html 794 B

123456789101112131415161718
  1. <script>
  2. // HACK: This is not an ideal way to deliver chrome messages
  3. // to a innef frame content but seems only way that would
  4. // make `event.source` an this (outer frame) window.
  5. window.onmessage = function(event) {
  6. var frame = document.querySelector("iframe");
  7. var content = frame.contentWindow;
  8. // If message is posted from chrome it has no `event.source`.
  9. if (event.source === null)
  10. content.postMessage(event.data, "*");
  11. };
  12. // Hack: Ideally we would have used srcdoc on iframe, but in
  13. // that case origin of document is either content which is unable
  14. // to load add-on resources or a chrome to which add-on resource
  15. // can not send messages back.
  16. document.documentElement.style.overflow = "hidden";
  17. document.documentElement.innerHTML = atob(location.hash.substr(1));
  18. </script>