WEB标准学习:自定义打开链接的方式

web|web标准|链接

  最近继续在准备一个新产品的网站,涉及到W3C标准以及自定义等方面的内容,所以做了一个链接小实例,由于在XHTML1.0过渡型标准之前,target="_blank"属性一直是点击链接后弹出新窗口的方法,但是XHTML1.0严格型标准以及XHTML1.1之后就不再支持target属性,也就是说不能再用target="_blank"来弹出一个新的窗口!本实例探讨的就是在XHTML1.1标准下弹出新窗口的方法,并结合Cookies实现客户端自定义弹出新窗口的方法。

  代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>自定义打开链接的方式</title>
<style type="text/css">
<!--
#main {
    width: 600px;
    margin-right: auto;
    margin-left: auto;
    border: 1px solid #006699;
    height: 600px;
}
#title {
    background-color: #006699;
    padding: 10px;
    width: 100%;
    font-family: Verdana, Arial;
    font-size: 16px;
    color: #FFFFFF;
    font-weight: bold;
}
#property {
    margin: 10px;
    border: 1px solid #99CC00;
    height: 24px;
    background-color: #F8FEE9;
    font-size: 12px;
    line-height: 24px;
}
#link {
    margin: 10px;
    border: 1px solid #0099CC;
    background-color: #EFEEFF;
    font-size: 12px;
    height: 366px;
    padding: 20px;
}
#copyright {
    font-size: 12px;
    padding: 20px;
    color: #003333;
    line-height: 16px;
}
img{
    border-top-style: none;
    border-right-style: none;
    border-bottom-style: none;
    border-left-style: none;
}
.center {
    text-align: center;
}
-->
</style>
<script type="text/javascript">
<!--
function onlinks(){

if(getCookie("links")=="_blank"){
document.getElementById("c1").checked=true;
document.getElementById("c2").checked=true;
newlinks();//dolinks();
}
else{
document.getElementById("c1").checked=false;
document.getElementById("c2").checked=false;
newlinks();//dolinks();
}
}

function dolinks(){
document.getElementById("c2").checked?setCookie('links','_blank',1):deleteCookie('links');
}

function newlinks() {
 document.getElementById("c1").checked?fc1():fc2()
 function fc1(){
 linktarget="_blank";document.getElementById("cookies_p").style.display="block"}
 function fc2(){
 linktarget="";document.getElementById("cookies_p").style.display="none"}

 var anchors = document.getElementsByTagName("a");
 for (var i=0; i<anchors.length; i++) {
   var anchor = anchors[i];
   if (anchor.getAttribute("href"))
     anchor.target = linktarget;
 }
}

function getCookie(name) {
    var start = document.cookie.indexOf( name + "=" );
    var len = start + name.length + 1;
    if ( ( !start ) && ( name != document.cookie.substring( 0, name.length ) ) ) {
        return null;
    }
    if ( start == -1 ) return null;
    var end = document.cookie.indexOf( ";", len );
    if ( end == -1 ) end = document.cookie.length;
    return unescape( document.cookie.substring( len, end ) );
}   

function setCookie( name, value, expires, path, domain, secure ) {
    var today = new Date();
    today.setTime( today.getTime() );
    if ( expires ) {
        expires = expires * 1000 * 60 * 60 * 24;
    }
    var expires_date = new Date( today.getTime() + (expires) );
    document.cookie = name+"="+escape( value ) +
        ( ( expires ) ? ";expires="+expires_date.toGMTString() : "" ) + //expires.toGMTString()
        ( ( path ) ? ";path=" + path : "" ) +
        ( ( domain ) ? ";domain=" + domain : "" ) +
        ( ( secure ) ? ";secure" : "" );
}
   
function deleteCookie( name, path, domain ) {
    if ( getCookie( name ) ) document.cookie = name + "=" +
            ( ( path ) ? ";path=" + path : "") +
            ( ( domain ) ? ";domain=" + domain : "" ) +
            ";expires=Thu, 01-Jan-1970 00:00:01 GMT";
}
-->
</script>
<script src="http://www.google-analytics.com/urchin.js&qu ... /javascript">
</script>
<script type="text/javascript">
_uacct = "UA-97125-1";
urchinTracker();
</script>
</head>
<body >
<div id="main">
  <div id="title">自定义打开链接的方式</div>
  <div id="property">
    <label>
    <input type="checkbox" id="c1" value="checkbox" />
    打开链接为新窗口</label>
    <span id="cookies_p" style="display:none">
    <label>
    <input type="checkbox" id="c2" value="checkbox" />
    记住我的选择</label></span>
  </div>
  <div id="link">
    <p><a href="http://www.163.com"> 网易</a></p>
    <p><a href="http://www.sina.com.cn"> 新浪</a></p>
    <p><a href="http://www.microsoft.com/china"> 微软中国</a></p>
    <p><a href="http://www.blueidea.com"> 蓝色理想</a></p>
  </div>
  <div id="copyright">
最近由于要做一个新产品网站,涉及到W3C标准以及自定义等方面的内容,所以做了一个链接小实例,由于在XHTML1.0过渡型标准之前,target="_blank"属性一直是点击链接后弹出新窗口的方法,但是XHTML1.0严格型标准以及XHTML1.1之后就不再支持target属性,也就是说不能再用target="_blank"来弹出一个新的窗口!本实例探讨的就是在XHTML1.1标准下弹出新窗口的方法,并结合Cookies实现客户端自定义弹出新窗口的方法。 </div>
<p class="center">
<a href="http://validator.w3.org/check?uri=referer"><imgsrc="http://www.w3.org/Icons/valid-xhtml11&quo ... 31"width="88"/></a></p></div>
</body>
</html>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>自定义打开链接的方式</title><style type="text/css"><!--#main { width: 600px; margin-right: auto; margin-left: auto; border: 1px solid #006699; height: 600px;}#title { background-color: #006699; padding: 10px; width: 100%; font-family: Verdana, Arial; font-size: 16px; color: #FFFFFF; font-weight: bold;}#property { margin: 10px; border: 1px solid #99CC00; height: 24px; background-color: #F8FEE9; font-size: 12px; line-height: 24px;}#link { margin: 10px; border: 1px solid #0099CC; background-color: #EFEEFF; font-size: 12px; height: 366px; padding: 20px;}#copyright { font-size: 12px; padding: 20px; color: #003333; line-height: 16px;}img{ border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none;}.center { text-align: center;}--></style><script type="text/javascript"><!--function onlinks(){if(getCookie("links")=="_blank"){document.getElementById("c1").checked=true;document.getElementById("c2").checked=true;newlinks();//dolinks();}else{document.getElementById("c1").checked=false;document.getElementById("c2").checked=false;newlinks();//dolinks();}}function dolinks(){document.getElementById("c2").checked?setCookie('links','_blank',1):deleteCookie('links');}function newlinks() { document.getElementById("c1").checked?fc1():fc2() function fc1(){ linktarget="_blank";document.getElementById("cookies_p").style.display="block"} function fc2(){ linktarget="";document.getElementById("cookies_p").style.display="none"} var anchors = document.getElementsByTagName("a"); for (var i=0; i<anchors.length; i++) { var anchor = anchors[i]; if (anchor.getAttribute("href")) anchor.target = linktarget; } } function getCookie(name) { var start = document.cookie.indexOf( name + "=" ); var len = start + name.length + 1; if ( ( !start ) && ( name != document.cookie.substring( 0, name.length ) ) ) { return null; } if ( start == -1 ) return null; var end = document.cookie.indexOf( ";", len ); if ( end == -1 ) end = document.cookie.length; return unescape( document.cookie.substring( len, end ) );} function setCookie( name, value, expires, path, domain, secure ) { var today = new Date(); today.setTime( today.getTime() ); if ( expires ) { expires = expires * 1000 * 60 * 60 * 24; } var expires_date = new Date( today.getTime() + (expires) ); document.cookie = name+"="+escape( value ) + ( ( expires ) ? ";expires="+expires_date.toGMTString() : "" ) + //expires.toGMTString() ( ( path ) ? ";path=" + path : "" ) + ( ( domain ) ? ";domain=" + domain : "" ) + ( ( secure ) ? ";secure" : "" );} function deleteCookie( name, path, domain ) { if ( getCookie( name ) ) document.cookie = name + "=" + ( ( path ) ? ";path=" + path : "") + ( ( domain ) ? ";domain=" + domain : "" ) + ";expires=Thu, 01-Jan-1970 00:00:01 GMT";}--></script><script src="http://www.google-analytics.com/urchin.js&qu ... /javascript"> </script><script type="text/javascript">_uacct = "UA-97125-1";urchinTracker();</script></head><body ><div id="main"> <div id="title">自定义打开链接的方式</div> <div id="property"> <label> <input type="checkbox" id="c1" value="checkbox" /> 打开链接为新窗口</label> <span id="cookies_p" style="display:none"> <label> <input type="checkbox" id="c2" value="checkbox" /> 记住我的选择</label></span> </div> <div id="link"> <p><a href="http://www.163.com"> 网易</a></p> <p><a href="http://www.sina.com.cn"> 新浪</a></p> <p><a href="http://www.microsoft.com/china"> 微软中国</a></p> <p><a href="http://www.blueidea.com"> 蓝色理想</a></p> </div> <div id="copyright">最近由于要做一个新产品网站,涉及到W3C标准以及自定义等方面的内容,所以做了一个链接小实例,由于在XHTML1.0过渡型标准之前,target="_blank"属性一直是点击链接后弹出新窗口的方法,但是XHTML1.0严格型标准以及XHTML1.1之后就不再支持target属性,也就是说不能再用target="_blank"来弹出一个新的窗口!本实例探讨的就是在XHTML1.1标准下弹出新窗口的方法,并结合Cookies实现客户端自定义弹出新窗口的方法。 </div><p class="center"><a href="http://validator.w3.org/check?uri=referer"><imgsrc="http://www.w3.org/Icons/valid-xhtml11&quo ... 31"width="88"/></a></p></div> </body></html>

 [Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

时间: 2025-01-31 05:45:01

WEB标准学习:自定义打开链接的方式的相关文章

web标准学习之a标签

web|web标准 在web标准学习中,我们今天来研究下a标签. 我们要在新窗口中打开链接通常的做法是在链接后面加target="_blank",我们采用过渡型的DOCTYPE(xhtml1-transitional. dtd)时没有问题,但是当我们使用严格的DOCTYPE(xhtml1-strict.dtd)时,这个方法将通不过W3C的校验,会出现如下错误提示: "there is no attribute target for this element(in this H

Web标准学习资源(书籍、网站)推荐_经验交流

一.Web标准学习书籍推荐 1.<网站重构--应用WEB标准进行设计> screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" border=0> 作者: (美)塞尔达曼译者: 王宗义 / 傅捷 / 祝军 页数: 358出版社: 电子工业出版社定价:

Web标准学习:Xhtml标准中弹出新窗口

web|web标准|xhtml 最近在做IDRSS在线RSS阅读器,符合XHTML1.1标准,但是发现一个问题,target="_blank"属性不再被支持! 在XHTML1.0过渡型标准之前,target="_blank"属性一直是点击链接后弹出新窗口的方法,但是在XHTML1.0严格型标准以及XHTML1.1之后就不再支持target属性(这个方法将通不过W3C的校验),也就是说不能再用target="_blank"来弹出一个新的窗口!我也不

Web标准学习:未知高度的非表格垂直对齐

web|web标准 非已知高度的垂直对齐的条件: 表格单元格 行内块(inline-block) 第一个比较好理解,第二个很多人可能会忽略.比如,很多人在图片与文本混排的时候想让图片相对于文本垂直居中除了用IE的私有特性 valign="absmiddle"别无他法.记住,默认下图片就是属于inline-block,你只需简单的img {vertical-align:middle;}即可. 那么,我们进入主题.现在我们由于某些特殊需要两个并排的div想实现垂直居中.如前所述,div非表

web标准相关的一些链接

web|web标准|链接 1.网站标准http://www.zeldman.com/ http://webstandards.org/ http://webstandardsgroup.org/ http://www.nypl.org/styleguide/ 2.有语义代码http://brainstormsandraves.com/ar ... ics/structure/ 3.校验(Validation )http://validator.w3.org/ http://www.htmlhel

Web标准学习:保持清晰的文档结构

web|web标准 我十分支持Web标准,并且认为它提出的文档对象模型(DOM,Document Object Model)是非常合理而且有用的.文档对象模型让我们脱离字符,在结构层面高级方式操作文档. 在网页制作(HTML/XHTML)方面,遵循Web标准可以使网站的结构更加合理.但是,新的标准总会导致一部分旧的网页制作者的排斥,很简单,因为他们无法掌握新的标准或者/同时他们认为不需要新的标准,原来的方式已经够用了.我不跟后一部分的人讨论. 应用标准的时候,有些网页制作者已经走进了一些误区.往

Web标准学习推荐书籍

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 经过阅读和讨论,我们将国内市场上关于WEB标准方面的书籍进行整理.分类,并标注出推荐书籍,希望大家都能从中快速地选择到自己最需要的好书. 理论手册类 网站重构:应用Web标准进行设计 点评:不是一本提高技术的书籍,而是一个改变观念的文献. 下载地址:http://www.zzx8.com/html/c16384.html HTML与XHTML

自定义打开Reflector的方式

刚才突然想到了这个问题,我们经常需要用Reflector这个工具来查看程序集的源代码,而每次使用都 是有如下的步骤 1. 打开Reflector 2. 找到项目生成的exe或者dll.(这个路径一般都比较长,也比较难找) 3. 将exe或者dll拖拽到reflector中去 我就在想,这个操作能不能更加智能一些,例如一个步骤就完成上面三个操作呢?动了一下脑筋,最 后找到下面这个方法,很不错:简单实用 1. 在Visual Studio中,点击"工具"=>"外部工具&qu

Web标准学习:CSS样式书写风格

这个格式是我自创的,经常有人问我为什么,这里做个简单总结: 1. 分类,一个模块或者同类功能定义为一类定义,每类定义之间用段落隔开.2. 分级,每类定义中的每个定义语句,根据结构或语意级别使用Tab缩进纵向对齐.3. 分断,每个定义内的每个属性定义之间,用"分号+空格"隔开,注意定义语句与分号间无空格,"{}"内前有空格而后无空格.4. 连排,每个定义不换行,一直横排.某些编辑器会自动换行,但无大影响,毕竟定义语句很长的是少数. 我自己理解的优点为:一是程序结构清晰