2013-03-12 5 views
0

Я использую следующий скрипт на своем сайте (http://www.xeasycorex.net) для кнопки Tumblr в каждом сообщении. Строка strPostTitle.replace избегает любых двойных кавычек, но мне нужно сделать то же самое для одиночных кавычек, поскольку она завершает строку, когда присутствует в заголовках сообщений, и не отображает кнопку, я просто не уверен, как это сделать.Как избежать одиночных кавычек в Javascript?

Благодаря!

<script> 
var strPostUrl = "<data:post.url/>"; 
var strPostTitle = '<data:post.title/>'; 
var strNewUrl = strPostUrl.replace("http://",""); 
var strNewTitle = strPostTitle.replace(/"/g, '"'); 
document.write("<a href='http://www.tumblr.com/share/link?url="+strNewUrl+"&amp;name="+strNewTitle+"'><img src='https://lh4.googleusercontent.com/-Vw74mICSigg/USjO29GAujI/AAAAAAAARHE/dY0nzXtwTVU/s81/tumblr-share.png'/></a>"); 
</script> 
+0

использование \», чтобы избежать одиночные кавычки – kinakuta

+0

Как' <данные: post.url /> 'заменен? – icktoofay

ответ

0

Поскольку одинарные кавычки выглядят как специальный символ в javascript, вы должны использовать обратную косую черту для ее передачи. \' Перейдите по этой ссылке, чтобы найти дополнительную информацию об этом: http://www.w3schools.com/js/js_obj_string.asp. Я изменил код, так что теперь ему ничего не нужно спасать.

<script> 
     var strPostUrl = escape('<data:post.url/>'); 
    var strPostTitle = escape('<data:post.title/>'); 
    var strNewUrl = strPostUrl.replace("http://",""); 
    document.write('<a href="http://www.tumblr.com/share/link?url='+strNewUrl+'name="'+strPostTitle+'"><img src="https://lh4.googleusercontent.com/-Vw74mICSigg/USjO29GAujI/AAAAAAAARHE/dY0nzXtwTVU/s81/tumblr-share.png"/></a>'); 
     </script> 
+0

Как бы реализовать это в моем коде? –

+0

Я отредактировал ответ. – OQJF

+0

Хм, похоже, не работает. Я понимаю, чего он пытается достичь, но кнопка вообще не отображается. –

Смежные вопросы