最近项目中一个小问题卡了我不少时间。我遇到的问题是:在项目的弹出式的模型窗口里,我需要将数据提交到服务器。然后从服务器再返回到本页面。结果:返回了本页面,窗口却是从新打开的。
现在来谈一下解决方法:书上说在模型窗口中加入<base target="_self"/>标签即可。我把该标签放上去却没有任何反应,当时我不明白这为什么?后来经过查证原来这个属性有IE6与IE7之分。忘了说我的浏览器是IE7的。
注:
1、如果你是IE6,你将<base target="_self"/>加入到<head>标签里就可以了。
2、如果你是IE7,你必须将<base target="_self"/>加入到<head>的对口中位置。
代码示例:
<html>
<head>
<title>test</title>
<base target="_self"/>
.............
</head>
</html>
心得:
<base target="可以是你框架页面的框架名"/>
<base target=_blank>是将基本链接的目标框架都改为新页打开,如果对HTML、CSS和JS不是很熟悉,不建议使用这种方法,改为独立控制。
其实<a>、<form>等很多标签都支持target="black"的属性,建议在这样的标签里单独做设置,比如:
<a href="http://blog.163.com/chenwenlin_89/blog/xxx.htm" target="_blank">超链接内容</a> <form action="xxx.htm" target="_blank">表达内容<input type="submit" value="提交按钮"></form> 如果不加这一句,默认均为本页刷新,即target="_self"。
在网页中,经常碰到这种情况:点击某些链接,就会弹出新窗口,原来的页面部改变,而有些链接,就在原窗口上打开新的链接,原窗口没有了,被覆盖了。这个是为什么呢?怎么实现的呢?
target=_blank,这个标签,就是解决这个问题的。<base target=_blank>是将基本链接的目标框架都改为新页打开,即弹出新窗口。<a>、<form>等很多标签都支 持target="black"的属性,可以在这样的标签里单独做设置,比如:
<a href="http://blog.163.com/chenwenlin_89/blog/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.try0212.blog.sohu.com/" target="_blank">单独定义,新窗口打开</a>
<a href="http://www.try0212.blog.sohu.com/" target="_self">单独定义,相同窗口打开</a>
<a href="http://www.try0212.blog.sohu.com/" target="_top">单独定义,整页窗口打开</a>
<a href="http://www.try0212.blog.sohu.com/" 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 attribute target for 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="http://blog.163.com/chenwenlin_89/blog/document.html" target="_blank"> 打开一个新窗口</a> 现在要写成这样:
<a href="http://blog.163.com/chenwenlin_89/blog/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="http://blog.163.com/chenwenlin_89/blog/external.js"></script>
就是这样。
2 浏览器不支持
有时,使用了上述标签,但是,任旧不见效果,比如使用了target=_blank,却不能弹出窗口,这是因为,有些浏览器被用户设置了,不让弹出窗口, 当然这样设置是为了屏蔽广告,因此,这是就无法打开新窗口,知道了原因,解决就很简单了,在浏览器中设置一下就可以了。
分享到:
相关推荐
- `<strike></strike>`、`<s></s>`、`<del></del>`:删除线,后两者用于表示被删除的文字。 - **特殊样式**: - `<kbd></kbd>`:键盘输入样式。 - `<tt></tt>`:打字机风格字体。 - `<xmp></xmp>`:保留源代码...
### rplidar使用hector_slam的hector_mapping与geotiff创建地图方法详解 #### 一、前言 在机器人技术领域,特别是在自主导航和环境感知方面,使用激光雷达(LiDAR)来构建环境地图是十分常见的做法。本文将详细...
<base href=" <a href="http://www.it365cn.com" target="_blank">http://www.it365cn.com </a>"> <div id=demo style=overflow:hidden;height:120;width:500;background:#214984;color:#ffffff> <table align=...
在Spring框架中,`<context:component-scan/>`元素是核心组件扫描的基石,它允许我们自动检测和注册beans,极大地简化了配置工作。这篇博客将深入探讨这个功能强大的特性,以及如何在实际开发中有效利用它。 一、...
- 如果在 `<base>` 标签中设置了 `target` 属性,则该设置将成为所有 `<a>` 标签的默认行为。 - 使用框架时,确保 `<frame>` 或 `<iframe>` 元素的 `name` 属性与 `<a>` 标签中的 `target` 属性匹配,以便正确地在...
首先,让我们来理解`<base>`标签的基本用法。`<base>`标签通常放置在`<head>`部分,其`href`属性用于设定基础URL。例如: ```html <!DOCTYPE html> <html> <head> <base href="http://static.cnblogs.com/" /> </...
<property name="myclasspath" value="${base}\${build}"/> <target name="build"> <mkdir dir="${build}"/> <javac srcdir="${src}" destdir="${build}"> <include name="**/*.java"/> </javac> </target> ...
例如:<h1>这是标题</h1>,其中 <h1> 是开始标签,</h1> 是结束标签,"这是标题" 是内容。 HTML 标签 HTML 标签可以分为两类:单标签和双标签。单标签只有开始标签,没有结束标签,例如:<hr> 水平线标签。双标签...
<link href="css/base.css" rel="stylesheet"> <link href="css/index.css" rel="stylesheet"> </head> <body> <div class="warp" id="banner"> <div class="layer"></div> <div class="header"> <div ...
例如:<_UND> The base text symbol is underlined, <_UND> but this part is not.</_UND> 18.不加上标 <_SUP></_SUP>:无 例如:<SUP><_SUP> This text is regular, but </_SUP> this text is superscript.</SUP...
维生药业小项目 SSH简单... proxy-target-class="true" /> <!-- 使用annotation 自动注册bean,并检查@Required,@Autowired的属性已被注入 --> <context:component-scan base-package="com.sixth" /> </beans>
--[if lte IE 6]></td></tr></table></a><![endif]--> </li> </ul> <br class="clear" /> <ul> <li><a href="#nogo" class="four outer">SEARCH<!--[if IE 7]><!--></a><!--<![endif]--> <!--[if lte IE 6]><table>...
<aop:config proxy-target-class="true"/> <tx:annotation-driven transaction-manager="txManager"/> <!-- 采用单数据源事务控制方式,通过注解来定义事务--> <bean id="txManager" class="org.spring...
<td width="27%"><div align="center"><strong><font color=green> 登入名</font><font color=green>:</font></strong></div></td> <td width="73%"> <input name="id" type="text" size="20" maxlength="20"><a...
<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...
JEECMS 标签使用指南 ...<h2><a href="${base}/guestbook.jspx"target="_blank">网友留言</a></h2> </div> <div class="blue_right_...> 这些标签可以帮助开发者快速实现网站的功能和布局,提高开发效率和质量。
<load href="__PUBLIC__/Js/Base.js"/> <load href="__PUBLIC__/Js/prototype.js"/> <load href="__PUBLIC__/Js/mootools.js"/> <load href="__PUBLIC__/Js/Ajax/ThinkAjax.js"/> <script language="JavaScript...
/// <version> $Revision: 3.1 $ $Date: 2006/06/24 20:26:44 $ </version> [Serializable] abstract public class GraphObj : ISerializable, ICloneable { #region Fields /// <summary> /// Protected ...