zoukankan      html  css  js  c++  java
  • <base target > 标签用法 及showModalDialog 问题

    HTML <base> 标签

    定义和用法

    target 属性规定在何处打开页面上的所有链接。

    实例

    为页面上所有链接规定默认目标:

    <head>

    <base target="_blank" />

    </head>

     

    <body>

    <a href="http://www.w3school.com.cn">W3School</a>

    </body>

    TIY

    语法

    <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

     

  • 相关阅读:
    线段树 hdu3255 Farming
    3.CCFadeOutTRTiles,部落格效果,跳动的方块特效,3D瓷砖晃动特效,破碎的3D瓷砖特效,瓷砖洗牌特效,分多行消失特效,分多列消失特效
    分析:新建短信,当我们接受人RecipientsEditor中输入+86的时候,系统会自己主动在+86后增加空格
    【POJ3377】Ferry Lanes 最短路
    Please ensure that adb is correctly located at &#39;D:Androidandroid-sdkplatform-toolsadb.exe&#39; and
    Objective-C
    分布式高维空间近邻搜索项目开发
    我的改进版2048(2)
    github关联域名,创建个人站点教程终结篇
    数据结构(6)二叉树
  • 原文地址:https://www.cnblogs.com/ITRoad/p/2536438.html
Copyright © 2011-2022 走看看