如何通过javascript改变href地址端口



我试图创建一个简单的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',即没有变化。

你有主意吗?

谢谢

这应该能奏效:

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);

最新更新