Было бы неплохо, если бы это могло сработать, и я не понимаю, почему бы и нет, потому что :это зарезервированный символ для разделения портов внутри компонента URI, поэтому браузер мог бы реалистично интерпретировать его как порт относительно этого URL-адреса, но, к сожалению, это не так. t, и у него нет возможности сделать это.
Поэтому для этого вам понадобится Javascript;
// delegate event for performance, and save attaching a million events to each anchor
document.addEventListener('click', function(event) {
var target = event.target;
if (target.tagName.toLowerCase() == 'a')
{
var port = target.getAttribute('href').match(/^:(\d+)(.*)/);
if (port)
{
target.href = window.location.origin;
target.port = port[1];
}
}
}, false);
Протестировано в Firefox 4
Сценарий: http://jsfiddle.net/JtF39/79/
Обновление : исправлена ошибка добавления порта в конец URL-адреса, а также добавлена поддержка относительных и абсолютных URL-адресов, добавляемых в конец:
<a href=":8080/test/blah">Test absolute</a>
<a href=":7051./test/blah">Test relative</a>