‘前端开发’ 分类的存档
1. 背景使用到png图片,可以有二种解决方案
1.1 CSS
background-image: url(icon_home.png)!important;
background-repeat: no-repeat;
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src=’icon_home.png’);
_ background-image: none;
1.2 JS
<script>
function poprawPNG() {
var divs = document.getElementsByTagName(‘DIV’); //这里只处理的div的背景,其他的请自行修改
for(var i=0; i<divs.length; i++) {
var div = divs[i];
var back = eval(‘div.currentStyle.backgroundImage’);
if(back.indexOf(".png") != -1) {
div.style.backgroundImage = ‘none’;
div.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src=’" + back.substring(5, back.length-2) + "’, sizingMethod=’scale’)";
}
}
}
if(window.attachEvent) {
window.attachEvent(‘onload’, poprawPNG);
}
</script>
2. 直接使用png图象,也可以有二种解决方案
2.1 CSS
azimuth: expression(
this.pngSet?this.pngSet=true:(this.nodeName == "IMG" && this.src.toLowerCase().indexOf(‘.png’)>-1?(this.runtimeStyle.backgroundImage = "none",
this.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src=’" + this.src + "’, sizingMethod=’image’)",
this.src = "transparent.gif"):(this.origBg = this.origBg? this.origBg :this.currentStyle.backgroundImage.toString().replace(‘url("’,”).replace(‘")’,”),
this.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src=’" + this.origBg + "’, sizingMethod=’crop’)",
this.runtimeStyle.backgroundImage = "none")),this.pngSet=true);
2.2 JS
<script. language="JavaScript">
function correctPNG() // correctly handle PNG transparency in Win IE 5.5 & 6
{
var arVersion = navigator.appVersion.split("MSIE")
var version = parseFloat(arVersion[1])
if ((version >= 5.5) && (document.body.filters))
{
for(var j=0; j<document.images.length; j++)
{
var img = document.images[j]
var imgName = img.src.toUpperCase()
if (imgName.substring(imgName.length-3, imgName.length) == "PNG")
{
var imgID = (img.id) ? "id=’" + img.id + "’ " : ""
var imgClass = (img.className) ? "class=’" + img.className + "’ " : ""
var imgTitle = (img.title) ? "title=’" + img.title + "’ " : "title=’" + img.alt + "’ "
var imgStyle. = "display:inline-block;" + img.style.cssText
if (img.align == "left") imgStyle. = "float:left;" + imgStyle.
if (img.align == "right") imgStyle. = "float:right;" + imgStyle.
if (img.parentElement.href) imgStyle. = "cursor:hand;" + imgStyle.
var strNewHTML = "<span " + imgID + imgClass + imgTitle
+ " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle. + ";"
+ "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
+ "(src=\’" + img.src + "\’, sizingMethod=’scale’);\"></span>"
img.outerHTML = strNewHTML
j = j-1
}
}
}
}
window.attachEvent("onload", correctPNG);
</script>
请自行测试调整相关代码,有问题,请留言~或者你有更好的解决方案,欢迎向我提供!
父框架到子框架的引用方法
也许最少使用的引用路径是父窗口中的脚本访问框架中的一些元素。该父窗口包含两个或多个框架,就是说父窗口包含子框架对象的一个数组。可以通过数组语法或框架名定位一个框架,框架名可以用<frame>标记中的name属性进行设置。在下面引用语法的例子中,名为ObjFuncVarName的占位符即表示需在其他窗口或框架中访问的对象、函数或全局变量。记住每个可见框架都包含一个document对象,它一般是脚本使用的元素的容器,应当确保这个元素的引用包括document。从父框架到子框架的引用如下例所示:
[window.]frames[n].ObjFuncVarName
[window.]frameName.ObjFuncVarName
框架的索引值由<frame>标记出现在框架集文档中的顺序决定。假如给每个框架指定可识别的名字并在引用中使用该框架名,引用就会更加简单。注意在早期的脚本浏览器中以window开头引用其他框架时会存在一些问题,建议大家从所有这些引用中忽略window。
子框架到父框架的引用方法
通常脚本会放在父框架中(存在于Head部分),这个父框架被多个子框架或一个框架的多个文档用做脚本库。如果在框架集中载入这些脚本,它们在框架集可见时只载入一次。假如其他文档多次载入框架中,它们不用将自己的副本载入浏览器中就可利用父脚本。
从子框架的角度来看,它的上一层称为parent(父层)。因此,从子框架到父层的元素的引用就很简单:
parent.ObjFuncVarName
假如父框架中被访问的元素是有返回值的函数,这个返回值就会直接超越父/子界线传到子框架中。
当父窗口位于当前载入浏览器中的对象层次的顶部,可以随意地把它作为顶部窗口,如下例所示:
top.ObjFuncVarName
当Web页面显示在其他Web站点的框架集中时,使用top引用可能会导致错误,因为此时顶部窗口不是主框架集的顶部窗口,因此,应尽可能使用parent引用。
子框架到子框架的引用方法
当浏览器使一个子窗口与它的同类进行通信时,需要一些帮助。任何窗口或框架都拥有parent属性(对单个窗口它的值是null),引用必须使用parent属性来跳出当前的框架,并转到所有子框架的共同点,在这个例子中共同点是父框架。一旦这个引用转到父框架层次上,引用可以接着进行,就像在父框架上开始执行一样。因此,从一个子框架到另一个子框架,可以使用下列引用格式中的一种:
parent.frames[n].ObjFuncVarName
parent.frameName.ObjFuncVarName
其他子框架对第一个子框架的引用表面上是一样的,但是frames[]数组索引或引用的frameName部分不同。当然,在HTML中存在更为复杂的框架层次。即使这样,文档对象模型、引用机制,能为大部分复杂嵌套和框架结构提供解决方案。
用到背景音乐的网站很少,一般下为了一些特殊的效果,才会使用…
这里是使用最多的一种情况:
框架文件内容如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>我的职业生涯</title>
<style type="text/css">
body{ margin:0; padding:0 }
</style>
</head>
<frameset rows="0,*" frameborder="no" border="0" framespacing="0">
<frame src="music.asp" name="topFrame" scrolling="No" noresize="noresize" id="topFrame" />
<frame src="default.asp" name="mainFrame" id="mainFrame" />
</frameset>
<noframes>
<body>
框架不被支持!
</body>
</noframes>
</html>
说明:
default.asp 为正常使用的文件, music.asp为音乐文件,其内容为:
<embed autostart=”true” src=”xiwangjiuzaiqianfang.wma” width=”0” height=”0” loop=”-1” name=”bgmusic” />
在default.asp文件中,控制音乐的IMAGE为: 1.images/off.gif 2. images/on.gif
JS如下:
<img src="images/off.gif" id="musiccontrol" alt="MUSIC" style="cursor:pointer;" onclick="return domusic();" />
function domusic(){
var obj = document.getElementById(‘musiccontrol’);
if(obj.src.indexOf(‘images/off.gif’)>0){
musiccontrol.src = ‘images/on.gif’;
parent.topFrame.bgmusic.pause();
}else{
musiccontrol.src = ‘images/off.gif’;
parent.topFrame.bgmusic.play();
}
}
如果谁有更好的方法,请联系我,谢谢!
uft-8会引起没有指定编码的js输出中文的时候出现乱码
例如:
<script>
alert(‘我的职业生涯’);
</script>
那么必须要进行必要的处理,方法如下:
如果web application的编码规则是utf-8,如网页头中的:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
那么js文件中如果有中文输出就会出现乱码,解决此个问题可在引用javascript输出的地方加上charset="gb2312" 或 charset="big5"(假设输出的是Big5繁体字)。
例如:
<script type="text/javascript" language="javascript" src="scripts/output.js" charset="gb2312"></script>
PS:另一种解决方法是把js文件保存为utf-8编码。
===========================================
在js文件加:document.charset="UTF-8"
微软新动作,Mix09下一代互联网技术大会
微软于本周3月19日(北京时间)在拉斯维加斯举办Mix09,Mix(http://www.visitmix.com)是微软举办的面向互联网的技术大会,已连续举办三届,每次大会都会发布微软在Web开发领域的新技术和新产品。虽然有经济危机的影响,但今年参会的人员不少于去年,估计参会人数超过3000人。

第一天早上大会的主讲嘉宾是微软副总裁Scott-Guthrie(负责开发工具)和UX(用
户体验)设计大师Bill Buxton.

Experisece Design时代
带着设计师发型的Bill Buxton第一个出场,Buxton回顾了工业设计的发展,
那也是在经济大萧条的1929年,经典的电话设计(苹果ipod采用同样的颜色)
不过工业设计关注是设计对象,而体验设计关注的是用户和产品的交互。
移动电话的设计例子 
如何设计使用电话的体验,这是设计的挑战。 
从草案到原型,设计师需要更好的工具来帮助。 

Bill Buxton三年前加入微软的时候,微软的技术管理层只有一人有设计背景,
现在已经有10人,微软的用户体验设计师已经有800人。可以期待微软未来的产品设计将会越来越人性化。
Bill Buxton的结束语 
真的羡慕大公司的他们!
