当前位置: 代码迷 >> Web前端 >> 空链接href="" 有关问题、base标签和两层iframe打开目标window.parent.location
  详细解决方案

空链接href="" 有关问题、base标签和两层iframe打开目标window.parent.location

热度:759   发布时间:2012-11-25 11:44:31.0
空链接href="#" 问题、base标签和两层iframe打开目标window.parent.location
http://hi.baidu.com/zdz8207/blog/item/e5a5379b38610fb1c9eaf494.html

使用javascript的时候,通常我们会通过类似:
<a href="#" onclick="javascript:方法">提交</a>
的方式,通过一个伪链接来调用javascript方法.这种方法有一个问题是:
虽然点击该链接的时候不会跳转页面.但是滚动条会往上滚,解决的办法是返回一个false.
如下所示:
<a href="#" onclick="javascript:方法;return false;">提交</a>

a href="javascript:void(0)" onclick="javascript:方法;return false;"提交
javascript:void(0)就不会向上跳了:)

还有一个方法是 #this
a href="#this" onclick="javascript:方法"
----------------------------------------

#包含了一个位置信息

默认的锚点是#top 也就是网页的上端

而javascript:void(0) 仅仅表示一个死链接

这就是为什么有的时候页面很长浏览链接明明是#可是

跳动到了页首

而javascript:void(0) 则不是如此

所以调用脚本的时候最好用void(0)

或者<input onclick>

<div onclick>等

打开新窗口链接的几种办法

1.window.open('url')

2.用自定义函数

        <script>
        function openWin(tag,obj)
        {
             obj.target="_blank";
             obj.href = "Web/Substation/Substation.aspx?stationno="+tag;
             obj.click();
         }
        </script>

<a href="javascript:void(0)" onclick="openWin(3,this)">株洲</a>

window.location.href=""

--------------------------------------------

< base >是一个链接基准标记,用以改变文件中所有链接标记的参数默认值。它只能适应于文件的开头部分,即标记< head >与< /head >之间。

<head>
<base href="/" />
</head>

上面是符合xhtml的写法。这样,即设定了该网页中所有HTTP文件及图片(包括相对路径链接及图片地址等)的默认路径为cocoad.com.cn的首页,这参数只可填入一个相对或绝对路径。

一般相对路径链接及图片地址等都是默认以该网页所在的目录作为起点,若使用这个方法,该文件中所有链接将会以cocoad.com.cn的首页作为起点。

在设定了base的情况下,如果有一个链接如下

<head>
<base href="/" />
</head>
<body>
<a href="/">可可设计</a>
</body>

那么,不管这个链接在页面的什么位置,它都指向dUcky的私生活。

用这个方法,我们也可以把所有链接都设成在新窗口打开,也就是target="_blank" 。

<head>
< base target="_blank" />
</head>

这样,页面所有的链接都将在新窗口打开。
  相关解决方案