简述
在IE6、7下,一般的a标签(写好在HTML中的,通过dom操作插入到页面中的a标签)中,假如href的值是一个相对路径时,直接通过a.getAttribute("href"),获取到的不是href的原始值,但可以通过a.getAttribute("href",2)获取到原始值;但如果这种a标签是通过innerHTML插入的话,即使通过a.getAttribute("href",2)也无法获取原始的href值。估计在innerHTML='<a href="/haha">test</a>'的时候,IE6、7会对其做兼容处理,加入一些东西,这个时候通过outerHTML查看,a的href已经是完整地址-_-! 据说img的src也会出现类似情况。
匆匆路过的……看完上面即可……下面开始瞎扯:
---------------------------------------------------------------------------------------------------------------------------------
原始目标:一个单页应用,想根据a的href属性的值,是否http://开头。如果是,则继续跳转;如果不是,则通过兼容的pushState修改url地址,触发route。
问题:测试IE6、7时,发现a未能正确拦截……
解决办法:问谷姐……得知IE6、7的getAttribute有第二个参数,设为2即可取回原来的属性值。介绍链接如下:
http://msdn.microsoft.com/en-us/library/ie/ms536429%28v=vs.85%29.aspx
看到这里,心里暗爽,马上补一句代码……在按下Ctrl+F5测试后…马上歇菜……为啥不行呢?!百思不得其解……
这时候跟一位朋友瞎扯……不知道扯哪去了……最后在问Frank的过程中,我排除了代码中其他干扰,用以下代码测试:
复制代码代码如下:
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>test</title>
</head>
<body>
<a id="a" href="" onclick=".getAttribute(\"href\",2)">test</a>
</body>
</html>
在IE6、7下点击,都弹出大大的“/haha”!!!我就开始怀疑是其他东西在搞鬼了。这时候,想到我的a标签是怎么来的(基于字符串的js模板,innerHTML)……于是,再通过以下代码模拟:
复制代码代码如下:
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>test</title>
</head>
<body>
<div id="test"></div>
<script>
document.getElementById("test").innerHTML = '<a id="a" href="/haha" onclick="alert(this.getAttribute(\'href\',2));return false;">test</a>';
</script>
</body>
</html>
再次测试……sister's……重现问题了!实测,在生成a之后,对a再次setAttribute("href","/haha",2),再getAttribute("href",2)可以拿回“/haha”。但如果要在模板中做这种事情,似乎太恶心了,果断放弃!还是听Frank的话……简简单单加个属性标识两种链接元素,别钻牛角尖。
再钻一钻-_-!:
复制代码代码如下:
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>test</title>
</head>
<body>
<div id="test"></div>
<script>
var test = document.getElementById("test");
var a = document.createElement("a");
var txt = document.createTextNode("test");
a.href="/haha";
a.onclick=function() {
alert(this.getAttribute('href',2));//"/haha"
return false;
};
a.appendChild(txt);
test.appendChild(a);
</script>
</body>
</html>
最后,怀疑通过innerHTML插入节点时,ie6、7会做一些它认为正确的“容错”处理……容着容着,就让我错了……
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新动态
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]