- <script> function openBlank(){ var aa=document.getElementsByTagName("a"); for (var i=0;i<aa.length;i++){ aa[i].target=\'_blank\'; } } if (document.all){ window.attachEvent(\'onload\',openBlank); } else{ window.addEventListener(\'load\',openBlank,false); }</script>
相关文章
来自:http://www.cnopensource.com/archives/14
下图是一个截图:
![]()
相关文章
在windows xp sp2以上的浏览器浏览带有flash导航的网页时,flash四周会出现一个虚线框,并且提示”单击激活此控件”,让那上面的按钮必须单击两次才能使用
目前只发现了一种方法,即把flash代码放入js里.
实现一:
<script type=”text/javascript”>
AC_FL_RunContent( ‘codebase’,'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0′,’width’,'Flash宽度’,'height’,'Flash高度’,’src’,'Flash地址’,'quality’,'high’,'pluginspage’,'http://www.macromedia.com/go/getflashplayer’,'movie’,'Flash地址’ );
</script>
实现二:
<td><SCRIPT> leftmenu(“cCompany”,4,1); </SCRIPT> </td>
<script language=javascript>
function leftmenu(sectiontype,oDN,tDN ){
document.write(‘<OBJECT classid=”clsid:D27CDB6E-AE6D-11cf-96B8-444553540000″ codebase=”http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0” WIDTH=”163″ HEIGHT=”450″ align=”center” id=”Company”>’);
document.write(‘<PARAM NAME=movie VALUE=?>’);
document.write(‘<param name=wmode value=transparent>’);
document.write(‘<PARAM NAME=quality VALUE=high>’);
document.write(‘<PARAM NAME=allowScriptAccess VALUE=sameDomain>’);
document.write(‘<EMBED src=? quality=high bgcolor=#FFFFFF WIDTH=163 HEIGHT=450 TYPE=”application/x-shockwave-flash” PLUGINSPAGE=”http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash”>’);
document.write(‘</EMBED>’);
document.write(‘</OBJECT>’);
}
</script>
相关文章
在公司,我们团队的项目开发与设计正在逐步的要求标准化、规范化。鉴于firefox的使用者比例越来越高,因此项目进入测试阶段后,我们会采用ie和firefox两种浏览器进行测试。问题出来了,在今天的一个项目测试中,IE下支持的两级联动菜单,到了firefox就不支持了。有趣的是,技术部的程序员居然告诉该项目PM,他不会解决。君既自认不能为之,则吾改之矣。经过几分钟的修改,搞定。
原代码如下:
<SCRIPT language=”javascript”>
switch (document.coform.province.value) {
case ” :
var labels = new Array(‘请选择城市’);
var values = new Array(”);
break;
case ‘安徽省’ :
var labels = new Array(‘合肥市’,'淮北市’,'淮南市’,'黄山市’,'安庆市’,'蚌埠市’,'巢湖地区’,'池州地区’,'滁州市’,'六安地区’,'马鞍山市’,'宣城地区’,'宿县地区’,'铜陵市’,'芜湖市’,'阜阳市’);
var values = new Array(‘合肥市’,'淮北市’,'淮南市’,'黄山市’,'安庆市’,'蚌埠市’,'巢湖地区’,'池州地区’,'滁州市’,'六安地区’,'马鞍山市’,'宣城地区’,'宿县地区’,'铜陵市’,'芜湖市’,'阜阳市’);
break;
document.coform.citys.options.length = 0;
var j=0;
// 从数组中添加内容
for(var i = 0; i <labels.length; i++) {
document.coform.citys.add(document.createElement(“OPTION”));
document.coform.citys.options[i].text=labels[i];
document.coform.citys.options[i].value=values[i];
if (labels[i]==str)
{
j=i;
}
}
document.coform.citys.selectedIndex = j; }
< /SCRIPT>
<form name=”coform” action=”" method=”post”>
<select NAME=”province” OnChange=”setcitys()”>
<option value=”" selected>请选择省份</option><option value=”安徽省” selected>安徽省</option>< /select>
<SELECT name=”citys”><option value=”0″>请选择城市</option></SELECT>
<SCRIPT language=”JavaScript”>setcitys();</SCRIPT>
< /form>
改进后的代码:
<SCRIPT language=”javascript”>
switch (document.getElementById(“sprovince”).value) {
case ” :
var labels = new Array(‘请选择城市’);
var values = new Array(”);
break;
case ‘安徽省’ :
var labels = new Array(‘合肥市’,'淮北市’,'淮南市’,'黄山市’,'安庆市’,'蚌埠市’,'巢湖地区’,'池州地区’,'滁州市’,'六安地区’,'马鞍山市’,'宣城地区’,'宿县地区’,'铜陵市’,'芜湖市’,'阜阳市’);
var values = new Array(‘合肥市’,'淮北市’,'淮南市’,'黄山市’,'安庆市’,'蚌埠市’,'巢湖地区’,'池州地区’,'滁州市’,'六安地区’,'马鞍山市’,'宣城地区’,'宿县地区’,'铜陵市’,'芜湖市’,'阜阳市’);
break;
document.getElementById(“scitys”).options.length = 0;
var j=0;
// 从数组中添加内容
for(var i = 0; i <labels.length; i++) {
document.getElementById(“scitys”).appendChild(document.createElement(“OPTION”));
document.getElementById(“scitys”).options[i].text=labels[i];
document.getElementById(“scitys”).options[i].value=values[i];
if (labels[i]==str)
{
j=i;
}
}
document.getElementById(“scitys”).selectedIndex = j; }
< /SCRIPT>
<form name=”coform” action=”" method=”post”>
<select NAME=”province” id=sprovince OnChange=”setcitys()”>
<option value=”" selected>请选择省份</option><option value=”安徽省” selected>安徽省</option>< /select>
<SELECT id=scitys name=”citys”><option value=”0″>请选择城市</option></SELECT>
<SCRIPT language=”JavaScript”>setcitys();</SCRIPT>
< /form>
两者的差异:
1、采用document.getElementById(“”)标记html标签
2、appendChild替换了add方法
简单的几个改造,就能使该两级联动菜单同时支持ie及firefox了。
PS:时间有限,未对该代码进行精简
相关文章
21cn免费邮箱的pop3出现了短暂的不能使用了,于是乎,web登陆上去收邮件。无意发现21cn在做一个邮箱积分换礼品的活动,其中采用alexa登陆21cn的积分几乎是不采用alexa登陆的2倍以上。因此,对于21cn邮箱如何判断访问者是否使用alexa产生了浓厚的兴趣。
由于安装alexa的时候会安装一些文件到访问者的机器上,这些文件中是包含一些js文件的,只要调用客户端的这些js文件即可。如果能调用,则说明安装了;如果不能调用,则说明没有安装。从网上找了一下,通用的方法如下:
<script language=”javascript” xsrc=”res://AlxRes.dll/s cript/dsn.class.js”></script>
<script language=”javascript”>
function doTryAlexa()
{
try
{
aborted();
return 1;
}
catch(e)
{
return 0;
}
}
</script>
<input type=”button” value=”tryAlexa” onclick=”alert(doTryAlexa())”>
返回1则说明安装了,返回0则没有安装
相关文章
原理:利用javascript对link标签的href属性的值进行修改。
javascript代码如下:
function SetStyle(stylename){
for (var i=0; i<document.getElementsByTagName(“link”).length; i++){
var e = document.getElementsByTagName(“link”)[i];
if (e.getAttribute(“media”).indexOf(“screen”) != -1){
e.setAttribute(“href”,stylename);}
}
}
在网页上调用的时候,只需要在skin的连接上调用该方法即可。当然,前提是得准备好几个不同风格的css。stylename就是你的css名称。比如如下用法:
<a href=”" mce_href=”" onclick=”SetStyle(‘1.css’)”>风格1</a>
<a href=”" mce_href=”" onclick=”SetStyle(‘2.css’)”>风格2</a>
升级:如果需要用户选择风格以后,每次访问的都是该风格,那么只需要在SetStyle的代码中增加一些javascript对cookie的读写就可以了。
相关文章
xhtml+css设计的网页,如果在超连接中使用了target=_blank是不能通过w3c校验的。因此,采用调用js的方法新开窗口是比较合理的。
js代码:
function externalLinks(){
if (!document.getElementsByTagName) return;
var anchors = document.getElementsByTagName(“a”);
for (var i=0; i var anchor = anchors[i];
if (anchor.getAttribute(“href”) &&
anchor.getAttribute(“rel”) == “external”)
anchor.target = “_blank”;
}
}
window.onload = externalLinks;
网页中超连接调用的方式:<a href=”" mce_href=”" rel=”external” >连接</a>
相关文章
准备两个CSS分别控制不同的风格。
[code]
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>css</title>
<LINK title="C1" rel="stylesheet" href="C1.css" mce_href="C1.css" type="text/css" />
<link title="C2" rel="alternate stylesheet" href="C2.css" mce_href="C2.css" type="text/css" />
</head>
<body>
<span class="foo">文字</span>
<script type="text/javascript" language="javascript">
<!--
function SetActiveStyleSheet(title)
{
for (var i=0; i<document.getElementsByTagName("link").length; i++)
{
//循环所有名称为link的标签
var e = document.getElementsByTagName("link")[i];
if (e.getAttribute("rel").indexOf("style") != -1)
{
//这个link标签的rel属性含style,证明其作用是链接CSS文件的
if (e.getAttribute("title") == title)
{
//当前link对应的CSS就是要使用的CSS,将disabled属性设置为false表示启用
e.disabled = false;
}
else
{
e.disabled = true;
}
}
}
}
-->
</script>
<input type="button" value="C1" onclick="SetActiveStyleSheet(this.value);">
<input type="button" value="C2" onclick="SetActiveStyleSheet(this.value);">
</body>
</html>
相关文章
最近负责的一个项目应用到了ajax技术,遇到一个问题,当xml文件过大的时候,程序的反应速度会比较慢,只有等到下载完成才能有响应.于是我设想能否在用户刚访问页面的时候就预先加载好xml文件.
研究了一下,代码如下:
[code]
<SCRIPT language=javascript>
<!--
var pubXmlDoc,pubXmlPath;
window.attachEvent("onload", CacheXml);
//预先加载xml数据
function CacheXml() {
self.defaultStatus = "Downloading Xml Data...";
pubXmlPath="your.xml"; //设置xml文件路径
pubXmlDoc = new ActiveXObject("Microsoft.XMLDOM");
pubXmlDoc.async=true; //设置异步传输
pubXmlDoc.load(pubXmlPath);
pubXmlDoc.onreadystatechange=function(){
if(pubXmlDoc.readyState==4){
if( pubXmlDoc == null || pubXmlDoc.documentElement == null) {
return ;
}
self.defaultStatus = 'ok';
}
}
window.setTimeout(function(){pubXmlDoc.load(pubXmlPath);},10);
}
</SCRIPT>