<!doctype html>
<html>
  <head>
    <title>Origin for https site with non-default port to site</title>
    <style type="text/css">
div { height: 100px; width: 100px; background: orange; }
iframe { width: 500px; height: 120px; border: none; }
    </style>
    <script type="text/javascript" src="../resources/crossorigin.sub.js"></script>
    <script type="text/javascript">
window.onload = function () {
  var origin = 'https://'+httpsHostAlias+':'+httpsPortAlias;
  document.getElementsByTagName('div')[0].ondragstart = function (e) {
    e.dataTransfer.effectAllowed = 'copy';
    e.dataTransfer.setData('text','dummy text');
  };
  document.getElementsByTagName('span')[0].textContent = origin;
  var iframe = document.createElement('iframe');
  iframe.src = 'https://'+httpsHostAlias+location.pathname.replace(/[^\/]*$/,'HELPER-showorigin.html');
  document.body.insertBefore(iframe,document.getElementsByTagName('div')[0]);
};
    </script>
  </head>
  <body>

    <noscript><p>Enable JavaScript and reload</p></noscript>
    <p>Drag the orange square onto the blue square and release it. The blue square should be replaced with the text:<br>
    <span></span></p>
    <div draggable="true"></div>

  </body>
</html>
