Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > .NET > VB.NET > 学习Atlas是发现的几个小问题
【标  题】:学习Atlas是发现的几个小问题
【关键字】:Atlas
【来  源】:http://Jaffa.cnblogs.com/archive/2006/01/18/319633.html

学习Atlas是发现的几个小问题

Your Ad Here         最近这段时间在学习Ajax,在看 http://atlas.asp.net 的时候发现 Nikhil Kothari 博客的换肤系统很有趣,同时也发现LINK使用的时候得一些问题,决定发到主页上来,希望有明白的朋友可以指点一下迷津。
        第一,Link如果链接近来三个CSS文件,最后一个的样式显示就会出错,研究半天,不知道是什么原因;
        第二,不能使用外部连接的JS文件,这个不知道和引用Atlas库有关系,在创建了Atlas Site之后,head标记的runat属性就会变成Server。在<head>和</head>之间如果要是引入外部JS文件就会出现语法错误。

        下面把Nikhil Kothari的ThemeSwitcher.js的代码贴出来,大家可以有共同学习。
function getDefaultTheme() {
    
var linkElements = document.getElementsByTagName("link");
    
var i;
    
for (i=0; i < linkElements.length; i++{
        
var linkElement = linkElements[i];
        
if ((linkElement.getAttribute("rel").indexOf("style"!= -1&&
            (linkElement.getAttribute(
"rel").indexOf("alt"== -1&&
            linkElement.getAttribute(
"title")) {
            
return linkElement.getAttribute("title");
        }

    }

    
return null;
}


function setTheme(themeName) {
    
var linkElements = document.getElementsByTagName("link");
    
var i;
    
for (i=0; i < linkElements.length; i++{
        
var linkElement = linkElements[i];
        
if ((linkElement.getAttribute("rel").indexOf("style"!= -1&&
            linkElement.getAttribute(
"title")) {
            linkElement.disabled 
= true;
            
if (linkElement.getAttribute("title"== themeName) {
                linkElement.disabled 
= false;
            }

        }

    }


    
var date = new Date();

    date.setTime(date.getTime() 
+ (365*24*60*60*1000));
    
var expires = "; expires=" + date.toGMTString();

    document.cookie 
= ".Theme" + "=" + themeName + expires +"; path=/";
}


function onThemeButtonClick(themeName) {
    setTheme(themeName);
}


function onWindowLoad() {
    
var themeName = null;
    
var cookies = document.cookie.split(';');
    
for (var i = 0; i < cookies.length; i++{
        
var cookie = cookies[i];
        
var cookieParts = cookie.split('=');
        
if (cookieParts[0].indexOf('.Theme') != -1{
            themeName 
= cookieParts[1];
            
break;
        }

    }

    
if (themeName == null{
        themeName 
= getDefaultTheme();
    }

    
if (themeName != null{
        setTheme(themeName);
    }

}


window.onload 
= onWindowLoad;

        在页面的<HEAD>和</HEAD>之间,有这样的LINK标记:
<link href="/Themes/Core.css" type="text/css" rel="stylesheet" />
    
<link href="/Themes/Dark/Theme.css" type="text/css" title="Dark" rel="stylesheet" />
    
<link href="/Themes/Light/Theme.css" type="text/css" title="Light" rel="alternate stylesheet" />

        第三个标记的rel属性的值为“alternate”,在HTML的文档之解释,这个值为在标记中包含元素的替换版本,而在setTheme方法中使用了一句 :
                linkElement.disabled = true;
        将标签的效果屏蔽掉,然后再在后一个循环中开启。这样在默认情况下使用的样式文件为Core.css,然后在处理之后可以将Dark屏蔽掉,然后让另外一个发挥作用。
ASN.1 -2( 笔记 ):【上一篇】
MYSQL BUG #5020及解决方法:【下一篇】
【相关文章】
  • Atlas Table Layout Template
  • ASP.NET ‘Atlas’ Technology Preview October 2005 release
  • Ajax&Atlas技术团队成立,请大家踊跃参加!
  • Ajax&Atlas技术团队下一步活动讨论,请团队成员进来给点意见!
  • Ajax&Atlas技术团队[公告]:请大家清理自己发布在团队页面上的post!
  • Atlas (微软的AJAX) 预览版
  • Atlas的整体架构概述
  • 上周技术关注:ASP.NET Project 'Atlas' Quickstart Tutorial
  • 【随机文章】
  • parity.c(将一个value进行寄偶校验)
  • 某个数据文件损坏,如何打开数据库?(for Linux)
  • 几种Apache CGI模块性能简单分析比较
  • HEAR 会议电话SoundPoint® Pro
  • 模拟雪景-CorelDRAW对战Photoshop
  • 初学mysql指南
  • 《MS SQL Server 2000管理员手册》系列——13. T-SQL 与 SQL Query Analyzer
  • Java解析网络数据流的三种特殊方法
  • 图片聚光灯效果
  • Jsp的九种对象
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.