到超链接中不同端口号的相对URL?
如果我不知道主机名,有没有Javascript /服务器端脚本编写的方法可以链接到同一框中的其他端口号?
例如:
<a href=":8080">Look at the other port</a>
(此示例不起作用,因为它将:8080视为我想导航到的字符串)
回答:
如果这行得通,那就太好了,我不明白为什么不这样做,因为这:
是URI组件内部用于端口分隔的保留字符,因此浏览器可以现实地将其解释为相对于该URL的端口,但不幸的是,它不会t,它无法做到这一点。
因此,您将需要Javascript来执行此操作;
// delegate event for performance, and save attaching a million events to each anchordocument.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中测试
:修复了将端口附加到URL末尾的错误,并且还增加了对相对URL和绝对URL附加到末尾的支持:
<a href=":8080/test/blah">Test absolute</a><a href=":7051./test/blah">Test relative</a>
以上是 到超链接中不同端口号的相对URL? 的全部内容, 来源链接: utcz.com/qa/428484.html