2014-09-30 6 views
0

Я продолжаю получать эту ошибку «SyntaxError: синтаксическая ошибка» в первой запятой, что я должен изменить, чтобы заставить ее работать?Почему замена javascript вызывает ошибку

if (location.pathname.replace(/^//,'') == this.pathname.replace(/^//,'') && location.hostname == this.hostname) 
+0

Подсветка синтаксиса предполагает, что что-то не так, понимаете? Дважды проверьте регулярное выражение. – elclanrs

ответ

1

Вам нужно бежать косую черту в своем регулярном выражении

if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) 
0

Используйте RegExp конструктор

var regexp = new RegExp("^/", ""); 
if (location.pathname.replace(regexp,'') == this.pathname.replace(regexp,'') && location.hostname == this.hostname) 

или маскирующим /

if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) 
1

Это d (

if (location.pathname.replace(/^/,'') == this.pathname.replace(/^/,'') && location.hostname == this.hostname) 
+0

Я думаю, что op предназначался для «/», чтобы быть там, только нужно было сбежать. Однако может быть неправильно. – Hacknightly