在网页中,经常碰到这种情况:点击某些链接,就会弹出新窗口,原来的页面部改变,而有些链接,就在原窗口上打开新的链接,原窗口没有了,被覆盖了。这个是为什么呢?怎么实现的呢?
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放最后。
分享到:
相关推荐
如果不使用 `<base>` 标签,并且没有设置 `target` 属性,链接默认会在当前页面(`target="_self"`)中打开,也就是说,它们会替换掉当前页面的内容。例如: ```html <a href="p1.html">第一页</a> <a href="p2....
HTML中的`<base>`标签是一个非常实用但不常被广泛了解的元素,它主要用于设置页面中所有链接的默认基础URL和目标窗口。了解并正确使用`<base>`标签可以帮助优化网页的导航行为,提高用户体验。 首先,我们来看`...
- 如果在 `<base>` 标签中设置了 `target` 属性,则该设置将成为所有 `<a>` 标签的默认行为。 - 使用框架时,确保 `<frame>` 或 `<iframe>` 元素的 `name` 属性与 `<a>` 标签中的 `target` 属性匹配,以便正确地在...
<a href="${c.url}" target="_self"><span>${c.name}</span></a> [#list tag_list as c1] <@cms_channel_list parentId=c1.id> [#if tag_list?size > 0] <li class="havesubchild"> [#else] <li> [/#if] <a...
在HTML中,我们还可以使用`<font>`标签(虽然在现代HTML5中不推荐使用)来调整字体、大小和颜色,或者使用CSS来更精细地控制文本样式。 总之,理解和熟练运用这些HTML标签是网页设计的基础,它们使得我们可以创建...
<a href="${c.url}" target="_self"><span>${c.name}</span></a> [@cms_channel_list parentId=c.id] [#if tag_list?size>0] <ul> [@cms_channel_list parentId=c.id] [#list tag_list as c1] [@cms_channel_list ...
在深入理解`<base>`标签的用法之前,我们先要明白URL(统一资源定位符)在网页中的作用。 URL是互联网上每个资源的唯一地址,它包含协议(如http或https)、主机名、路径和可能的查询参数。相对URL则是相对于当前...
- <base>标签通常和<base target=>属性一起使用,以控制链接的默认打开行为。 2. target属性: - target属性可以设置为不同的值,决定链接在哪个窗口或框架中打开。 - target的值一般有_self、_blank、_parent和...
-->` 用于在HTML代码中添加注释,这对开发者来说是一种记录和解释代码的方法,这些注释不会显示在最终的网页中。 2. **跑马灯**:`<marquee>` 标签用来创建滚动或循环显示的效果。例如: - `<marquee>` 创建普通...
同样,确保使用`<base target="_self">`来避免打开新窗口后再关闭。 ### 五、数据传递技巧 通常,`showModalDialog`或`showModelessDialog`通过`dialogArguments`参数传递数据: ```javascript window....
通过使用 `<s:base>`,开发者可以方便地管理整个应用中的链接,避免硬编码 URL,从而提高代码的可维护性和可读性。当页面中有多个链接指向同一域名下的资源时,使用 `<s:base>` 标签可以极大地减少重复代码,并且当...
<base target="_self"> </head> ``` 这样处理后,所有带有 `target="_self"` 的链接都将按照预期在当前窗口中打开。 #### 三、`iframe` 对象与子页面对象的区别 在处理 `iframe` 时,开发者可能会遇到两种不同的...
2. **在当前页打开链接或刷新**:在文件头添加`<base target="_self">`可以让链接在当前页面打开。 #### 六、示例代码 下面是一些具体的示例代码: - **回到主页**: ```html <a href="index.htm">回到主页</a>...
以上内容涵盖了HTML入门阶段所需了解的核心知识点,包括HTML的基本概念、发展历程、基本语法以及常用标签的使用方法等。这对于初学者来说是非常重要的基础知识,有助于构建扎实的前端开发基础。
HTML中的锚点`<a name="AnchorName">`用于创建一个书签,其他链接可以通过`<a href="#AnchorName">`直接跳转到页面的特定位置。而链接标签`<a>`除了基本的跳转功能外,还可以通过`target`属性控制新链接是在当前窗口...
- `<base target="frameName">`:设置文档中的所有链接都在特定框架或窗口打开。 #### 四、总结 本文主要介绍了HTML中的一些基本标签及其属性,包括常用的文本样式、链接、图像、表格以及框架等元素。这些元素是...
另一种解决方案是使用`<base>`标签来指定页面中所有链接和表单的默认目标。设置`<base target="_self">`可以使表单提交在当前窗口(即模态对话框)中进行,而不是打开新的窗口。 ```html <!-- 在弹出页面的<head...
- **示例用法:** `<title>我的网站</title>` ##### 4. `<link>` 标签 - **用途:** 用于链接外部资源,如CSS文件。 - **示例用法:** `<link rel="stylesheet" href="styles.css">` ##### 5. `<isindex>` 标签 - ...
ASP.NET 是一种强大的 web 应用程序开发框架,它提供了...在使用 `showModalDialog` 或 `showModelessDialog` 时,如果不想弹出新窗口,可以在被打开的网页中添加 `<base target="_self">`,确保链接在当前窗口内打开。
<base target="_self"> ``` 此代码应放置在 `<head>` 标签内,通常位于 `<html>` 和 `<body>` 之间。这样设置之后,所有的超链接都会在当前对话框中打开,而不是弹出新的窗口。 #### 三、刷新showModalDialog和...