2017-09-23 38 views
-3

即時通訊新編碼,以便在最後一行收到javascript錯誤任何人都可以幫助我嗎?該文件已被縮小。非常感謝未捕獲的SyntaxError:意外的標識符 - Javascript

; 
jQuery(document).ready(function() { 
    String.prototype.filename = function(extension) { 
     var s = this.replace(/\\/g, '/'); 
     s = s.substring(s.lastIndexOf('/') + 1); 
     return extension ? s.replace(/[?#].+$/, '') : s.split('.')[0]; 
    } 
    jQuery("img").each(function() { 
     var alt = jQuery(this).attr('alt'); 
     if (alt === "") { 
      var namefile = jQuery(this).attr('src').filename(); 
      var rep = namefile.replace(/[_#?%*[email protected]!=&]/g, '-'); 
      var temp = rep.split('-'); 
      var alt = ''; 
      for (i = 0; i < temp.length; i++) { 
       alt = alt + ' ' + temp[i]; 
      } 
      jQuery(this).attr('alt', alt); 
     } 
     if (alt === undefined) { 
      var namefile = jQuery(this).attr('src').filename(); 
      var rep = namefile.replace(/[_#?%*[email protected]!=]/g, '-'); 
      var temp = rep.split('-'); 
      var alt = ''; 
      for (i = 0; i < temp.length; i++) { 
       alt = alt + ' ' + temp[i]; 
      } 
      jQuery(this).attr('alt', alt); 
     } 
    }); 
}); 
+1

什麼錯誤?你怎麼調試這個問題? – FluffyKitten

回答

1

這裏是你的代碼unminified:

; 
jQuery(document).ready(function() { 
    String.prototype.filename = function(extension) { 
     var s = this.replace(/\\/g, '/'); 
     s = s.substring(s.lastIndexOf('/') + 1); 
     return extension ? s.replace(/[?#].+$/, '') : s.split('.')[0]; 
    } 
    jQuery("img").each(function() { 
     var alt = jQuery(this).attr('alt'); 
     if (alt === "") { 
      var namefile = jQuery(this).attr('src').filename(); 
      var rep = namefile.replace(/[_#?%*[email protected]!=&]/g, '-'); 
      var temp = rep.split('-'); 
      var alt = ''; 
      for (i = 0; i < temp.length; i++) { 
       alt = alt + ' ' + temp[i]; 
      } 
      jQuery(this).attr('alt', alt); 
     } 
     if (alt === undefined) { 
      var namefile = jQuery(this).attr('src').filename(); 
      var rep = namefile.replace(/[_#?%*[email protected]!=]/g, '-'); 
      var temp = rep.split('-'); 
      var alt = ''; 
      for (i = 0; i < temp.length; i++) { 
       alt = alt + ' ' + temp[i]; 
      } 
      jQuery(this).attr('alt', alt); 
     } 
    }); 
}); 

你可以看到,有7號線缺少;,右括號之後。

這裏是固定的非註冊碼;

; 
jQuery(document).ready(function() { 
    String.prototype.filename = function(extension) { 
     var s = this.replace(/\\/g, '/'); 
     s = s.substring(s.lastIndexOf('/') + 1); 
     return extension ? s.replace(/[?#].+$/, '') : s.split('.')[0]; 
    }; 
    jQuery("img").each(function() { 
     var alt = jQuery(this).attr('alt'); 
     if (alt === "") { 
      var namefile = jQuery(this).attr('src').filename(); 
      var rep = namefile.replace(/[_#?%*[email protected]!=&]/g, '-'); 
      var temp = rep.split('-'); 
      var alt = ''; 
      for (i = 0; i < temp.length; i++) { 
       alt = alt + ' ' + temp[i]; 
      } 
      jQuery(this).attr('alt', alt); 
     } 
     if (alt === undefined) { 
      var namefile = jQuery(this).attr('src').filename(); 
      var rep = namefile.replace(/[_#?%*[email protected]!=]/g, '-'); 
      var temp = rep.split('-'); 
      var alt = ''; 
      for (i = 0; i < temp.length; i++) { 
       alt = alt + ' ' + temp[i]; 
      } 
      jQuery(this).attr('alt', alt); 
     } 
    }); 
}); 

和固定精縮碼;

;jQuery(document).ready(function() { String.prototype.filename=function(extension){ var s= this.replace(/\\/g, '/'); s= s.substring(s.lastIndexOf('/')+ 1); return extension? s.replace(/[?#].+$/, ''): s.split('.')[0]; }; jQuery("img").each(function() { var alt = jQuery(this).attr('alt'); if(alt === ""){ var namefile = jQuery(this).attr('src').filename(); var rep = namefile.replace(/[_#?%*[email protected]!=&]/g,'-'); var temp = rep.split('-'); var alt =''; for (i = 0; i < temp.length; i++) { alt = alt+' '+temp[i]; } jQuery(this).attr('alt',alt); } if(alt === undefined){ var namefile = jQuery(this).attr('src').filename(); var rep = namefile.replace(/[_#?%*[email protected]!=]/g,'-'); var temp = rep.split('-'); var alt =''; for (i = 0; i < temp.length; i++) { alt = alt+' '+temp[i]; } jQuery(this).attr('alt',alt); } }); }); 
-1

您需要轉義正則表達式中的反斜線。

this.replace(/\/g, '/'); // wrong 
this.replace(/\\/g, '/'); // right 
+0

反斜槓在其原始文章中被轉義(請參閱[原始源代碼](https://stackoverflow.com/revisions/b62a1d99-dba5-4a23-af5e-dcc93fa06716/view-source))。 @ guest271314的編輯已將其刪除。 –

+0

@JackWilsdon:你怎麼知道要看源代碼?原始問題在頁面上呈現時不顯示轉義。 https://stackoverflow.com/revisions/46384077/1只有源視圖顯示。 – llama

+0

我正在編輯帖子,把代碼放到代碼塊中,當我最初看到這個問題時,從那裏複製,我只注意到它在渲染版本中丟失時,再次複製它來格式化我的答案。 –

相關問題