0

単純な href を作成しようとしていますが、別のポートを指しています。つまり、ボタンの href アドレスのセットの 1 つを置き換えて、有効なアドレスを指すように操作する必要があります。

<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 に答える