spliturl函数追加两次

时间:2011-09-08 14:48:44

标签: javascript function split

这是代码:

function chatWin(url,name){
    var nw;
    var splitUrlResults = url.split("#");

    url = appendDataWakeNVPs(splitUrlResults[0]) + '#' + splitUrlResults[1] ;

    nw=window.open(url,name,"height=600,width=433,left=100,top=100,resizable=yes,scrollbars=no,toolbar=no,status=no");

    if (nw.focus) {nw.focus();}
}

然后是代码中的链接:

PROD_TAB_EXPRT_LNK_EMAIL=javascript:chatWin('/customerService/contactUs/help.html#1','Help')

但渲染的代码是:

<a href="javascript:chatWin('/customerService/contactUs/help.html#0#1','Help');">

每个链接都在标签标识符之前附加#0(在这种情况下为#1)。

想法?

1 个答案:

答案 0 :(得分:0)

我认为,如果#0#1appendDataWakeNVP()附加到其返回值并且您的代码随后添加了#0到此结束。

所以,我认为您的问题出在#1。我建议你在你最喜欢的调试器中使用该功能,你可以发现它的作用。或者在源代码树中grep它并在编辑器中检查它。如果它想要在末尾添加appendDataWakeNVP()并且你不能改变它,但你不想那样,那么你必须在将自己的哈希附加到它的末尾之前删除它。

您可以删除任何您不想要的哈希值:

#0

所以,你可以改变这行代码:

url = url.replace(/#.*$/, "");

到此:

url = appendDataWakeNVPs(splitUrlResults[0]) + '#' + splitUrlResults[1] ;