注册 登录
编程论坛 JavaScript论坛

js设置A标记新窗口打开。

lele2007 发布于 2010-12-23 23:24, 5114 次点击
在一个  textarea文本框里。。。

<a href="kkk.html">ok</a><a href="kkk.html">ok</a><a href="kkk.html">ok</a><a href="kkk.html">ok</a>

如何用js实现所有链接加上 target="_blank"新窗口打开链接啊?
就是让每个A标记后面加上  target="_blank"  这段内容到时要获取写入数据库。。
10 回复
#2
冰镇柠檬汁儿2010-12-23 23:46
把字符串<a href="kkk.html">替换成<a target="_blank" href="kkk.html">不就可以了吗?
#3
aspic2010-12-24 09:03
lele还是研究编辑器啊
#4
lele20072010-12-24 09:49
恩恩。。是编辑器。。

把字符串<a href="kkk.html">替换成<a target="_blank" href="kkk.html">不就可以了吗?
但是这个<a href="kkk.html">  这个链接不是全部都相同的。

我只会用asp简单过滤实现。这段是前台才用到,后台我想直接在js里加。
程序代码:
'*****************************************************************
'如未登录会员,过滤所有A链接仅保留文字,会员自动加:_blank
'*****************************************************************
function a(str)
  dim re
  Set re = new RegExp
  re.IgnoreCase = true
  re.Global = true
  re.pattern = "<a.*?>|</a>"
  if request.Cookies("UserId")<>"" then
    a = replace(str,"<a","<a target=""_blank""")
  else
    a = re.replace(str,"")
  end if
end function

我也是借ASP的知识编写js代码的。。 我想在编辑器里用js实现A链接加上新窗口打开 target="_blank"。,在客户端处理就可以了。。这个编辑器是在后台调用的,所以全部链接要要在新窗口打开。

编辑器效果图:
只有本站会员才能查看附件,请 登录



[ 本帖最后由 lele2007 于 2010-12-24 10:04 编辑 ]
#5
lele20072010-12-25 19:05
parent.$(parentID).value = content.replace(/<a[^>]*>/gi,function(lele){
            if(lele.indexOf("taret=")>0){return lele.replace('target=',"").replace('_blank','target="_blank"');}
            else{return lele.replace('>',' target="_blank">');}
        });

我试这样做会添加了两个  target="_blank" 变成了  <a href="kkk.html" target="_blank" target="_blank">kk</a>
请教大家指点下。。。。



[ 本帖最后由 lele2007 于 2010-12-25 19:07 编辑 ]
#6
lele20072010-12-26 12:05
parent.$(parentID).value = content.replace(/<a[^>]*>/gi,function(lele){
            if(lele.indexOf("target")>0){return lele;}else{return lele.replace('>',' target="_blank">');}});
可以了。xixi..
#7
gulimeksoft2010-12-27 16:40
回复 6楼 lele2007
parent.$(parentID).value = content.replace(/<a[^>]*>/gi,function(lele){
            if(lele.indexOf("target")>0){return lele;}else{return lele.replace('>',' target="_blank">');}});
红色部分换成 _blank 好些
#8
lele20072010-12-27 18:04
以下是引用gulimeksoft在2010-12-27 16:40:51的发言:

红色部分换成 _blank 好些
   问下,gulimeksoft。。
   为什么?有什么好处啊。。?

#9
lele20072010-12-27 18:09
target="_self"  防止这些吗?
#10
makebest2010-12-27 18:45
只需要在页面的最后加上一段脚本:
<SCRIPT LANGUAGE="JavaScript">
<!--
var alllink = document.links;
for(var i=0;i<alllink.length;i++)
{
    alllink[i].target = "_blank";
}
//-->
</SCRIPT>
#11
aspic2010-12-27 19:37
人家做的是编辑器 要实际生成的代码 不是要效果
1