日期:2014-05-17  浏览次数:20664 次

内网外网超连接的问题
我的网站访问地址:局域网:10.0.0.8  外网访问地址:www.xxx.com

在网页中设置ABCDE的超链为  <a href="\a.html">ABCDE</a>

如果在局域网中:等效于:<a href="10.0.0.8/a.html">ABCDE</a>
如果在外网中  :等效于:<a href="www.xxx.com/a.html">ABCDE</a>

问题是有一个特殊的连接
在局域网中 :10.0.0.8:81/b.html
在外网中   : www.xxx.com:81/a.html 我要如何写代码


------解决方案--------------------
都写相对路径,打开链接时,浏览器会自动添加相应的服务器路径

比如
<a href="a.html">A</a>
在外网我用http://www.xxx.com:81 访问,点击链接时,会自动打开 www.xxx.com:81/a.html
在内网用IP访问,点击链接时,自动打开 http://10.0.0.8:81/a.html

如果跨域的话上面这样就不行了,(地址不一样或端口不一样,一般都是跨域)


------解决方案--------------------
更改下
<script>
var host=location.host;//主机头
var inet=host.toLowerCase().indexOf('xxx.com')!=-1//外网////////
document.write('<a href="http://'+host+':81/'+(inet?'a':'b')+'.html">ABCDEFG</a>');
</script>