Sẽ thật tuyệt nếu điều này có thể hoạt động, và tôi không hiểu tại sao không bởi vì :
là một ký tự dành riêng cho việc tách cổng bên trong thành phần URI, vì vậy trình duyệt có thể hiểu thực tế đây là một cổng liên quan đến URL này, nhưng thật không may, nó không ' và không có cách nào để nó làm điều đó.
Do đó, bạn sẽ cần Javascript để làm điều này;
// 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);
Đã thử nghiệm trong Firefox 4
Câu đố: http://jsfiddle.net/JtF39/79/
Cập nhật : Đã sửa lỗi cho cổng nối thêm vào cuối url và cũng đã thêm hỗ trợ cho các url tương đối và tuyệt đối được thêm vào cuối:
<a href=":8080/test/blah">Test absolute</a>
<a href=":7051./test/blah">Test relative</a>