2011-12-29 18 views
0

例如,如果

location.href = 'http://mydomain.com/en/' 

,我有

<a href="my-file.html" id="myId">i am just a link</a> 

所以

href = $('a#id').attr('href'); 

出於某種原因火狐,Chrome和Opera回報:my-file.html

但IE7會返回:http://mydomain.com/en/my-file.html

我試圖與域名此功能,但提供了一個錯誤:

function str_replace(busca, repla, orig) 
{ 
    str  = new String(orig); 
    rExp = "/"+busca+"/g"; 
    rExp = eval(rExp); 
    newS = String(repla); 
    str = new String(str.replace(rExp, newS)); 
    return str; 
} 

domain-name is not defined 
[Detener en este error] rExp = eval(rExp); 

如何防止它的任何想法?

+3

你'和'eval' str_replace'功能實在是太可怕了 - 以多種方式使用EVAL滲出全局。 – ThiefMaster 2011-12-29 09:01:26

+0

請告訴,你想達到什麼目的? – 2011-12-29 09:03:42

+0

@Umex我只需要firefox,chrome和opera的行爲 – 2011-12-29 09:15:33

回答

1

嘗試以下操作:

 

//this will give you filename only 
var chk = "http://mydomain.com/en/test.html"; 
var chkArr = chk.split("/"); 
var filenameOnly = chkArr.pop(); 
 

希望它可以幫助

0

您應該避免在代碼中使用eval。

您可以使用str = str.replace(/.*\//, '');去除字符串中最後一個/之前的所有內容。