喜悦国际村 
» 游客:  注册 | 登录 | 搜索 | 统计 | 喜悦证交所 | 帮助

RSS 订阅当前论坛  

$5.95 Web Hosting     

上一主题 下一主题
     
标题: [讨论] 昨天发现替换文字链接地址的一个问题 感觉很bt  
 
村长夫人
高级会员
Rank: 4


UID 94673
精华 0
积分 501
帖子 973
金钱 501 喜悦币
威望 0
人脉 0
阅读权限 50
注册 2007-6-29
状态 离线
[广告]: Enom域名自助付费 自助注册 自助PUSH 主流域名COM等一律57.99元年
昨天发现替换文字链接地址的一个问题 感觉很bt

昨天发现替换文字链接地址的一个问题 感觉很bt 不知道大家有没有发现这个问题 请看如下代码:

<a href="#" name="xxx">abc@xxx.com</a>
<a href="#" name="xxx">http://abc.com</a>
<a href="#" name="xxx">yyyyy</a>
<a href="#" name="xxx">abc@xxx.com</a>
<script type="text/javascript">
var links = document.getElementsByName("xxx");
for(var i = 0;i < links.length;i ++)
{
        links[i].href="http://lalala.hehehe.pi/1.bla";
}
</script>
我发现的问题是这样的,在ie浏览器下 如果链接的内容(也就是innerHTML)本身是一个文字链接地址 并且js将要替换其链接(也就是href)到一个带有域名或协议的地址上(类似http://xxx/) 符合以上两个条件的话链接的文字内容就会被替换为链接地址
这个情况在ff上不存在 我不清楚ie为什么要这样做 如果是出于安全原因 有很多种方法可以 让它失效 比如预先读一下连接的内容 并在替换地址后马上将其原来的内容替换回去
请大家指点下 为什么会出这种情况




又该换马甲了.....
2007-11-23 10:34 AM#1
查看资料  发短消息  顶部
 
wzhu (wzhu)
版主
Rank: 7Rank: 7Rank: 7
C[A-Z]O


UID 68040
精华 0
积分 47793
帖子 1568
金钱 47770 喜悦币
威望 0
人脉 23
阅读权限 100
注册 2006-1-14
来自 湖北荆州>陕西西安>辽宁 ...
状态 离线
[广告]: 代充Paypal帐号美元
确实有问题.
参考附件图片所示. 使用的是 IE Developer Toolbar
在修改A标签的href之前, 可以看到 TEXT的内容是原来的值

修改Href后, 看到试图部分的TEXT部分也改变了

再看TEXT的内容却没有了

真够BT的


 附件: 您所在的用户组无法下载或查看附件



<?wzhu
wzhu.print("http://www.cncmm.com");
?>
2007-11-26 01:41 PM#2
查看资料  访问主页  Blog  发短消息  QQ  顶部
 
村长夫人
高级会员
Rank: 4


UID 94673
精华 0
积分 501
帖子 973
金钱 501 喜悦币
威望 0
人脉 0
阅读权限 50
注册 2007-6-29
状态 离线
[推荐阅读] 喜悦股市揭密
以后写代码得注意这个问题了 我还没有用ie7测试过 不知道是否都存在相同的问题
主要是不知道这应该算是ie存心做的弱智事 还是纯粹的bug




又该换马甲了.....
2007-11-26 03:55 PM#3
查看资料  发短消息  顶部
 
wzhu (wzhu)
版主
Rank: 7Rank: 7Rank: 7
C[A-Z]O


UID 68040
精华 0
积分 47793
帖子 1568
金钱 47770 喜悦币
威望 0
人脉 23
阅读权限 100
注册 2006-1-14
来自 湖北荆州>陕西西安>辽宁 ...
状态 离线
[推荐阅读] PHP怎么读取显示和保存XML中的数据


<a href="javascript: void(0)" name="B">abc@xxx.com</a><br>
<a href="javascript: void(0)" name="B">ttp://abc.com</a><br>
<a href="javascript: void(0)" name="B">yyyyy</a><br>
<a href="javascript: void(0)" name="B">abc@xxx.com</a><br>

<script type="text/javascript">
var links = document.getElementsByName("B");
for(var i = 0;i < links.length;i ++)
{
        alert( links[i].innerText);
        links[i].setAttribute("href","http://www.baidu.com/1.bla");
        alert( links[i].innerText);
}
</script>
后面的那个alert的值居然是href的属性值. 看来IE不是一般的变态.




<?wzhu
wzhu.print("http://www.cncmm.com");
?>
2007-11-26 04:37 PM#4
查看资料  访问主页  Blog  发短消息  QQ  顶部
     


  可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题 | 开通个人空间  


 




Powered by Discuz! 6.1.0  © 2001-2010 Comsenz Inc.
Processed in 0.059134 second(s), 6 queries

(冀ICP备05009913号) 管理员:sadly 邮箱/MSN: sadly@phpx.com QQ:824008(长隐) 清除 Cookies - - Archiver - WAP