`
jin8000608172
  • 浏览: 138470 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

<base target="_self"/>标签的巧妙用法

阅读更多
最近项目中一个小问题卡了我不少时间。我遇到的问题是:在项目的弹出式的模型窗口里,我需要将数据提交到服务器。然后从服务器再返回到本页面。结果:返回了本页面,窗口却是从新打开的。
   现在来谈一下解决方法:书上说在模型窗口中加入<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,却不能弹出窗口,这是因为,有些浏览器被用户设置了,不让弹出窗口, 当然这样设置是为了屏蔽广告,因此,这是就无法打开新窗口,知道了原因,解决就很简单了,在浏览器中设置一下就可以了。
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    HTML常用标签

    - `&lt;strike&gt;&lt;/strike&gt;`、`&lt;s&gt;&lt;/s&gt;`、`&lt;del&gt;&lt;/del&gt;`:删除线,后两者用于表示被删除的文字。 - **特殊样式**: - `&lt;kbd&gt;&lt;/kbd&gt;`:键盘输入样式。 - `&lt;tt&gt;&lt;/tt&gt;`:打字机风格字体。 - `&lt;xmp&gt;&lt;/xmp&gt;`:保留源代码...

    rplidar使用hector_slam的hector_mapping geotiff创建地图方法

    ### rplidar使用hector_slam的hector_mapping与geotiff创建地图方法详解 #### 一、前言 在机器人技术领域,特别是在自主导航和环境感知方面,使用激光雷达(LiDAR)来构建环境地图是十分常见的做法。本文将详细...

    javascript marquee

    &lt;base href=" &lt;a href="http://www.it365cn.com" target="_blank"&gt;http://www.it365cn.com &lt;/a&gt;"&gt; &lt;div id=demo style=overflow:hidden;height:120;width:500;background:#214984;color:#ffffff&gt; &lt;table align=...

    Spring扫描器—spring组件扫描使用详解

    在Spring框架中,`&lt;context:component-scan/&gt;`元素是核心组件扫描的基石,它允许我们自动检测和注册beans,极大地简化了配置工作。这篇博客将深入探讨这个功能强大的特性,以及如何在实际开发中有效利用它。 一、...

    HTML a 标签的 target 属性.doc

    - 如果在 `&lt;base&gt;` 标签中设置了 `target` 属性,则该设置将成为所有 `&lt;a&gt;` 标签的默认行为。 - 使用框架时,确保 `&lt;frame&gt;` 或 `&lt;iframe&gt;` 元素的 `name` 属性与 `&lt;a&gt;` 标签中的 `target` 属性匹配,以便正确地在...

    HTML中的base标签 中文WORD版

    首先,让我们来理解`&lt;base&gt;`标签的基本用法。`&lt;base&gt;`标签通常放置在`&lt;head&gt;`部分,其`href`属性用于设定基础URL。例如: ```html &lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;base href="http://static.cnblogs.com/" /&gt; &lt;/...

    ant实用实例 详细解析ant的用法

    &lt;property name="myclasspath" value="${base}\${build}"/&gt; &lt;target name="build"&gt; &lt;mkdir dir="${build}"/&gt; &lt;javac srcdir="${src}" destdir="${build}"&gt; &lt;include name="**/*.java"/&gt; &lt;/javac&gt; &lt;/target&gt; ...

    HTML语法大全---入门教程

    例如:&lt;h1&gt;这是标题&lt;/h1&gt;,其中 &lt;h1&gt; 是开始标签,&lt;/h1&gt; 是结束标签,"这是标题" 是内容。 HTML 标签 HTML 标签可以分为两类:单标签和双标签。单标签只有开始标签,没有结束标签,例如:&lt;hr&gt; 水平线标签。双标签...

    免费仿爱奇艺官网影视网站模板html

    &lt;link href="css/base.css" rel="stylesheet"&gt; &lt;link href="css/index.css" rel="stylesheet"&gt; &lt;/head&gt; &lt;body&gt; &lt;div class="warp" id="banner"&gt; &lt;div class="layer"&gt;&lt;/div&gt; &lt;div class="header"&gt; &lt;div ...

    arcgis标注技巧

    例如:&lt;_UND&gt; The base text symbol is underlined, &lt;_UND&gt; but this part is not.&lt;/_UND&gt; 18.不加上标 &lt;_SUP&gt;&lt;/_SUP&gt;:无 例如:&lt;SUP&gt;&lt;_SUP&gt; This text is regular, but &lt;/_SUP&gt; this text is superscript.&lt;/SUP...

    维生药业小项目 SSH简单学习项目

    维生药业小项目 SSH简单... proxy-target-class="true" /&gt; &lt;!-- 使用annotation 自动注册bean,并检查@Required,@Autowired的属性已被注入 --&gt; &lt;context:component-scan base-package="com.sixth" /&gt; &lt;/beans&gt;

    雅虎TAB效果代码 Javascript实现

    --[if lte IE 6]&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/a&gt;&lt;![endif]--&gt; &lt;/li&gt; &lt;/ul&gt; &lt;br class="clear" /&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="#nogo" class="four outer"&gt;SEARCH&lt;!--[if IE 7]&gt;&lt;!--&gt;&lt;/a&gt;&lt;!--&lt;![endif]--&gt; &lt;!--[if lte IE 6]&gt;&lt;table&gt;...

    Spring3中配置DBCP,C3P0,Proxool,Bonecp数据源

    &lt;aop:config proxy-target-class="true"/&gt; &lt;tx:annotation-driven transaction-manager="txManager"/&gt; &lt;!-- 采用单数据源事务控制方式,通过注解来定义事务--&gt; &lt;bean id="txManager" class="org.spring...

    基于客房管理系统代码 开发者 刘尧涛

    &lt;td width="27%"&gt;&lt;div align="center"&gt;&lt;strong&gt;&lt;font color=green&gt; 登入名&lt;/font&gt;&lt;font color=green&gt;:&lt;/font&gt;&lt;/strong&gt;&lt;/div&gt;&lt;/td&gt; &lt;td width="73%"&gt; &lt;input name="id" type="text" size="20" maxlength="20"&gt;&lt;a...

    jeecms使用说明文档

    &lt;a href="${c.url}" target="_self"&gt;&lt;span&gt;${c.name}&lt;/span&gt;&lt;/a&gt; [#list tag_list as c1] &lt;@cms_channel_list parentId=c1.id&gt; [#if tag_list?size &gt; 0] &lt;li class="havesubchild"&gt; [#else] &lt;li&gt; [/#if] &lt;a...

    jeecms标签的使用

    JEECMS 标签使用指南 ...&lt;h2&gt;&lt;a href="${base}/guestbook.jspx"target="_blank"&gt;网友留言&lt;/a&gt;&lt;/h2&gt; &lt;/div&gt; &lt;div class="blue_right_...&gt; 这些标签可以帮助开发者快速实现网站的功能和布局,提高开发效率和质量。

    ThinkPHP Ajax 实例源代码

    &lt;load href="__PUBLIC__/Js/Base.js"/&gt; &lt;load href="__PUBLIC__/Js/prototype.js"/&gt; &lt;load href="__PUBLIC__/Js/mootools.js"/&gt; &lt;load href="__PUBLIC__/Js/Ajax/ThinkAjax.js"/&gt; &lt;script language="JavaScript...

    zedgraph_source

    /// &lt;version&gt; $Revision: 3.1 $ $Date: 2006/06/24 20:26:44 $ &lt;/version&gt; [Serializable] abstract public class GraphObj : ISerializable, ICloneable { #region Fields /// &lt;summary&gt; /// Protected ...

Global site tag (gtag.js) - Google Analytics