定义和用法
target 属性规定在何处打开页面上的所有链接。
实例
为页面上所有链接规定默认目标:
<head>
<base target="_blank" />
</head>
<body>
<a href="http://www.w3school.com.cn">W3School</a>
</body>
语法
<base target="value">
属性值
值 |
描述 |
_blank |
在新窗口中打开被链接文档。 |
_self |
默认。在相同的框架中打开被链接文档。 |
_parent |
在父框架集中打开被链接文档。 |
_top |
在整个窗口中打开被链接文档。 |
framename |
在指定的框架中打开被链接文档。 |
详解
在网页中,经常碰到这种情况:点击某些链接,就会弹出新窗口,原来的页面部改变,而有些链接,就在原窗口上打开新的链接,原窗口没有了,被覆盖了。这个是为什么呢?怎么实现的呢?
target=_blank,这个标签,就是解决这个问题的。<base target=_blank>是将基本链接的目标框架都改为新页打开,即弹出新窗口。<a>、<form>等很多标签都支持target="black"的属性,可以在这样的标签里单独做设置,比如:
<a href="xxx.htm" target="_blank">超链接内容</a>
<form action="xxx.htm" target="_blank">表达内容<input type="submit" value="提交按钮"></form>
如果不加这一句,默认均为本页刷新,即target="_self"。还有两个这样的标签,<target=_top>表示在整页窗口打开,<target=_parent>表示在父窗口打开。
<a href="http://www.bookboy.cn/" target="_blank">单独定义,新窗口打开</a>
<a href="http://www.bookboy.cn/" target="_self">单独定义,相同窗口打开</a>
<a href="http://www.bookboy.cn/" target="_top">单独定义,整页窗口打开</a>
<a href="http://www.bookboy.cn/" target="_parent">单独定义,父窗口打开</a>
另外,这只是单独设置,如果有在某个页面上有很多的链接或者form表单,逐一的添加标签会很麻烦,有没有类似批处理的呢?
这就要用到<base target=_xxx> ,这是基本的HTML语言。用<base target=_××>来设置这个网页所有链接的目标窗口。也就是说,网页中只要添加<base target=_××>这句,那么所有的超链接就无须单独设置。最好将这句写在<head>和</head>之间。例如
<base target=_blank>表示网页中所有的超链接的目标地址都在新建窗口中打开。
<base target=_self>表示网页中所有的超链接的目标地址都在原窗口上打开。
当然,这样的标签有时也会碰到麻烦。
1 不符合标准
当我们使用W3C过渡型标准时,即DOCTYPE(xh tml1-transitional. dtd),没有问题,但是使用严格的标准时,即DOCTYPE(xhtml1-strict.dtd),就会出错,错误提示:
"there is no attributetargetfor this element(in this HTML version)"
原因是,外国人认为,不经过用户同意,就随便打开新窗口,是不礼貌的,不尊重用户的,可参看 http://bbs.chinahtml.com/showthread.php?t=53657
那碰到这种情况时怎么办呢?
HTML4.0增加了一个新属性:rel,这个属性用来说明链接和包含此链接页面的关系,以及链接打开的目标。rel有许多的属性值,比如next、previous,、chapter、section等等。我们要使用的就是rel="externa l"属性。原来这样写的代码:
<a href="document.html" target="_blank">打开一个新窗口</a>现在要写成这样:<a href="document.html" rel="external">打开一个 新窗口</a>这是符合strict标准的方法。当然还必须配合一个javascript才有效。javascript完整的代码JS如下:function externallinks() {if (!document.getElementsByTagName) return;var anchors = document.getElementsByTagName("a");for (var i=0; i<anchors.length; i++) { var anchor = anchors[i]; if (anchor.getAttribute("href") && anchor.getAttribute("rel") == "external") anchor.target = "_blank";}}window.onload = externallinks;你可以把它保存成一个.js文件(比如external.js),然后通过外部联接方法调用:<script type="text/javascript" src="external.js"></script>就是这样。
2 浏览器不支持 有时,使用了上述标签,但是,任旧不见效果,比如使用了target=_blank,却不能弹出窗口,这是因为,有些浏览器被用户设置了,不让弹出窗口,当然这样设置是为了屏蔽广告,因此,这是就无法打开新窗口,知道了原因,解决就很简单了,在浏览器中设置一下就可以了。
3 衡水人才网03188.net首页<base target="_blank" />不起作用了,将它提前,放到了<title>下边,js前边就正常了,原来加载js是会影响到一些代码。
总结一下:在head中,js放最后。
常见问题
在 showModalDialog的模式窗口时 需要配合 <base target="_self" />使用 否则会弹出一个新窗口
文章出自:http://blog.csdn.net/tianzhichengzhr/article/details/6801325
相关推荐
1. **刷新问题**:如果在打开的对话框中使用 `<base target="_self">`,这将导致对话框刷新时出现问题。为了防止这种情况,可以使用 JavaScript 监听 F5 键,并模拟点击隐藏的链接来进行刷新。 2. **兼容性**:由于 ...
要防止`showModalDialog`或`showModelessDialog`弹出新窗口,可以在被打开的HTML文档中添加`<base target="_self">`标签。这将确保所有链接都在当前窗口中打开,而不是新窗口。 ### 三、刷新`showModalDialog`和`...
若希望这两个方法的链接不在新窗口中打开,可以在被打开的网页中添加`<base target="_self">`标签。 总结来说,选择哪种跳转方法取决于具体需求,如是否需要保留原始页面、是否在同一服务器内、是否需要用户交互等...
<base target="_self"> </head> ``` 这样处理后,所有带有 `target="_self"` 的链接都将按照预期在当前窗口中打开。 #### 三、`iframe` 对象与子页面对象的区别 在处理 `iframe` 时,开发者可能会遇到两种不同的...
ASP.NET 是一种强大的 web 应用程序开发框架,它提供了...在使用 `showModalDialog` 或 `showModelessDialog` 时,如果不想弹出新窗口,可以在被打开的网页中添加 `<base target="_self">`,确保链接在当前窗口内打开。
<base target="_self"> ``` 此代码应放置在 `<head>` 标签内,通常位于 `<html>` 和 `<body>` 之间。这样设置之后,所有的超链接都会在当前对话框中打开,而不是弹出新的窗口。 #### 三、刷新showModalDialog和...
这里使用的`<base>`标签是为了确保新打开的窗口中的链接默认会在当前窗口中打开,而不是新开一个窗口。此外,还可以使用以下方式刷新不同的上下文: - `window.location.reload()`:刷新当前窗口。 - `parent....
在页面的 <body>前加入<base target="_self">可以防止在模态窗口中提交后新开一窗口。 调用父窗口的方法同时传递参数 可以使用 window.showModalDialog()方法传递参数,并调用父窗口的方法。 实践示例 可以使用...
1. **刷新问题**:使用`showModalDialog`时,如果页面中有`<base target="_self">`,直接刷新可能会导致意外的行为。可以通过监听键盘事件,阻止F5键的默认刷新行为,确保页面状态的一致性。 2. **返回数据**:从...
另一种解决方案是使用`<base>`标签来指定页面中所有链接和表单的默认目标。设置`<base target="_self">`可以使表单提交在当前窗口(即模态对话框)中进行,而不是打开新的窗口。 ```html <!-- 在弹出页面的<head...
要在showModalDialog或showModelessDialog中打开的页面里的超链接不弹出新窗口,可以在<head>标签中添加<basetarget="_self">属性。这样设置后,所有的链接默认在当前窗口打开,而不是新窗口。 三、在...
<basetarget="_self"> </body> ``` **知识点:** - **`<base>`标签**: 定义文档中所有相对URL的基本URL,常用于设置默认的链接目标。 **应用场景:** 当页面中存在多个框架时,可以通过`<base target="_self">`...
当使用`showModalDialog`或`showModelessDialog`打开的链接时,可以通过在被打开的网页中添加`<base target="_self">`标签,确保内容在同一窗口内加载,而不是新开一个窗口。 3. **刷新对话框内容**: 在`...
若希望在`showModalDialog`或`showModelessDialog`中打开的链接不弹出新窗口,只需在新窗口的HTML文档头部添加`<base target="_self">`标签。这将确保所有链接在当前窗口内打开,而不是新开窗口。 三、刷新`...
需要注意的是,在弹出窗体的头部应该包含`<base target="_self"/>`标签,以确保返回的数据能够在同一个窗口中处理。 #### 总结 通过以上步骤,我们可以清晰地看到如何在ASP.NET应用程序中实现从弹出窗体获取选择值...
需要注意的是,在调用go_link方法时,为了确保链接在当前模态框内打开,应该确保模态框的HTML代码中包含属性`<base target="_self" />`。这个base标签指定了页面中所有链接的默认目标,设置为_self表示链接在当前...
若要让链接在对话框内打开而不是新窗口,只需在目标页面的HTML头部添加 `<base target="_self">`。 7. **大量参数传递** 如果需要在页面间传递大量参数,可以使用以下方法: - 将参数编码为URL查询字符串,如 `...
在HTML文档的`<head>`和`<body>`之间添加`<base target="_self">`标签,可以设置所有链接都在当前窗口(或模式窗口)中打开,而不是新开窗口。 6. **无提示关闭页面的方法** 关闭页面时,如果希望不显示确认提示...
要解决这个问题,可以在弹出页面的`<head>`中添加`<base target="_self">`,这将确保所有链接和表单提交都在当前窗口中执行。 3. **iframe的访问**: `getElementById("myframe")`返回iframe标签对象,允许访问...