A link to the same URL with a different port
Let’s say, that you need to make a <a href=""></a>
link, that will point you to the very same URL (as page, in which have this link), but to a different port. Even though there are no reasons for not implementing support for links like <a href=":8080">jump</a>
, as of writing this, such support is not implemented in any known browser. And thus, neither this link work nor pure-HTML solution is available.
You must hire Javascript to resolve this problem.
First scenario is, that you only need to point to the very same URL, but to a different port. For example, your page (with HTML links) is served at http://www.example.com/
and you want a link, that will point to http://www.example.com:8080/
. In this case, the solution is quite easy. Here it comes (a modified version of this post):
document.getElementById('cp-link').onclick = function(event){window.location.port = 8080; return false;};
Things get a little bit more complicated, when you need to make a link, that contains both different port and some relative URL part. In this case, we use quite similar technique, but a bit more code (a bit changed version of this post):
document.getElementById('download-station-url').onclick = function(event) { var target = event.target; if (target.tagName.toLowerCase() == 'a') { var port = target.getAttribute('href').match(/^:(d+)(.*)/); if (port) { target.href = port[2]; target.port = port[1]; } } };
That’s all, folks! :>