0

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

你有想法吗?

谢谢

4

1 回答 1

2

这应该可以解决问题:

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);
于 2012-12-21T10:05:37.257 回答