Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 通过简单的html链接使用window.location_Javascript_Html_Window.location - Fatal编程技术网

Javascript 通过简单的html链接使用window.location

Javascript 通过简单的html链接使用window.location,javascript,html,window.location,Javascript,Html,Window.location,尝试创建一个带有一些链接的简单的HTML页面,但尝试使其检测您是本地的或使用SSH端口转发 一些信息 本地访问网页时使用的URL: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=

尝试创建一个带有一些链接的简单的HTML页面,但尝试使其检测您是本地的或使用SSH端口转发

一些信息

本地访问网页时使用的URL: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>
它起作用了,它又回来了

http://127.0.0.1:9001/www/#
我真的希望它能返回以下内容:

http://127.0.0.1:9001/
有没有办法使用下面的代码?所以它剥离路径名,只使用我指定的主机名和端口名?因为我似乎无法让它工作

onclick="javascript:window.location.hostname && window.location.port=9001"
Thx
Matt.

以下内容应该满足您的需要,当连接字符串时,您应该使用
+
而不是
&&

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>

设置
路径名
也应该可以做到这一点

onclick="window.location.port=9001;window.location.pathname='/'"

我喜欢这个,但运气不好,似乎没有添加端口。我如何将其放入HTML文件中,
window.location=window.location.protocol+'/'+window.location.hostname+':9001';SABNZBD:连接??无论如何,要让onclick指定端口号吗?很抱歉,上面是堆栈的新功能。。。这是一个更具可读性的版本,@Matt我已经更新了我的答案,回答了你的问题。以后不要使用pastebin,只需用更多信息更新您的问题。欢迎来到SO顺便说一句:)宾果,thx的工作很好了。将记住有关更新代码的提示。
onclick="window.location.port=9001;window.location.pathname='/'"