尝试制作一个简单 HTML页面,其中包含一些链接,但尝试将其设置为检测到您是本地或使用SSH端口转发。
一些信息;
我在访问网页时使用的网址:192.168.3.5/www/index.html
使用SSH端口转发时使用的URL:127.0.0.1:9009 / www / index.html
这是我在index.html页面中使用的完整代码....
<HTML>
- SABNZBD : Pick <A href="#" onclick="javascript:window.location.port=8080">LOCAL</a> or <A href="#" onclick="javascript:window.location.port=9001">REMOTE</a> Connection.
</HTML>
如果我使用此代码;
onclick="javascript:window.location.port=9001"
它有点工作,它返回
http://127.0.0.1:9001/www/#
我真的希望它能够回归:
http://127.0.0.1:9001/
有没有办法可以使用下面的代码?所以它剥离了路径名,只使用我指定的主机名和端口名?因为我似乎无法让它发挥作用。
onclick="javascript:window.location.hostname && window.location.port=9001"
THX 太
答案 0 :(得分:1)
以下内容应该符合您的要求,在连接字符串时,您应该使用+
而不是&&
window.location = window.location.protocol +
'//' + window.location.hostname + ':9001';
您可以在onclick
处理程序中使用上述内容:
onclick="window.location = ..."
默认情况下,您无需指定onclick="javascript:"
。
此外,不是使用内联点击处理程序,最好使用以下内容:
如何同时使用上述两个(现代浏览器的addEventListener,IE的attachEvent):
或者,如果您想让生活更简单,您可以使用自动处理这些浏览器差异的JavaScript库。像jQuery一样。
$('.class_on_first_link').click(function(){
window.location = window.location.protocol +
'//' + window.location.hostname + ':8080';
});
$('.class_on_second_link').click(function(){
window.location = window.location.protocol +
'//' + window.location.hostname + ':9001';
});
上述省略号的含义是:
<a href="#" onclick="window.location = window.location.protocol +
'//' + window.location.hostname + ':9001';">Port 9001</a>
<a href="#" onclick="window.location = window.location.protocol +
'//' + window.location.hostname + ':8080';">Port 8080</a>
答案 1 :(得分:0)
设置pathname
也应该做到这一点
onclick="window.location.port=9001;window.location.pathname='/'"