我正在尝试创建一个简单的href,但指向另一个端口,即一组按钮中的一个href地址应该被替换和操纵以指向有效的地址:
<div id="btnLSR" class="btn" > <a href="extern.rms:8080"> </a> </div>
应指向'http:// hostname:8080 / extern.rms'
我稍微操纵了来自其他解决方案的javascript
<script language="JavaScript">
document.addEventListener('click', function(event) {
var target = event.target;
if (target.tagName.toLowerCase() == 'a')
{
var port = target.getAttribute('href').match(/:(\d+)$/);
if (port)
{
target.port = port[1];
window.alert(target.port + " " + target.href);
target.href = target.href.replace("/:"+target.port, "");
}
}
}, false);
</script>
但是没有办法指出正确的地址。目前此链接指向'http://extern.rms:8080',即没有变化。
你有什么想法吗?
由于
答案 0 :(得分:1)
这应该可以解决问题:
document.addEventListener('click', function (event) {
var target = event.target;
if (target.tagName.toLowerCase() == 'a') {
// Split 'extern.rms:8080' up into a array: ['extern.rms','8080'];
var h = target.getAttribute('href').split(':');
// Set the href to: The current `origin` + ':' + '8080' + '/' + 'extern.rms';
target.href = 'http://' + window.location.hostname + ':' + h[1] + '/' + h[0];
}
}, false);