2012-04-09 5 views
0

Парень, которому я помогаю, использует CMS CMSART. Их код избегает одинарных кавычек по соображениям безопасности, которые я предполагаю (я не очень хорошо разбираюсь с js).javascript одинарные кавычки сбежавших

<script> 
function share_click() 
{ 

    RPXNOW.loadAndRun(['Social'], function() { <--- This line gets escaped around social 
    var activity = new RPXNOW.Social.Activity(
     "Share your comment", 
     "commented on 'Like My New Perfume?' on cuteoverload.com", <--- This line as well 
     "http://cuteoverload.com/2009/10/26/like-my-new-perfume/"); 

    RPXNOW.Social.publishActivity(activity, 
     {finishCallback:function(data){ 
     window.location = "http://google.com/" 
     } 
    }); 
    }); 

} 
</script> 

Любые идеи, как я могу обойти это?

+0

Что именно вы подразумеваете под «сбежавшим»? – Pointy

+0

Я не понимаю ваш вопрос. –

+0

«Социальный» = «Социальный», когда я проверяю размещенный код –

ответ

0

Просто используйте двойные кавычки. Если ваш пример верен, двойные кавычки вокруг «http://google.com/» не могут быть экранированы, не так ли? Итак, проблема решена.

А что касается одиночных кавычек внутри строки с двойными кавычками, это вызывает проблемы, если они экранированы? Я пробовал, но я не могу найти разницу в поведении, скрываются ли эти внутренние кавычки или нет.

0

Попробуйте использовать:

&apos; 

вместо '

Или, как кто-то другой прокомментировал \' обычно держит апостроф от взлома.

0

попробовать

<script> 
function share_click() { 
    var arr = ["Social"]; 

    RPXNOW.loadAndRun(arr, function() { 
    var activity = new RPXNOW.Social.Activity(
     "Share your comment", 
     "commented on `Like My New Perfume?` on cuteoverload.com", 
     "http://cuteoverload.com/2009/10/26/like-my-new-perfume/"); 

    RPXNOW.Social.publishActivity(activity, 
     {finishCallback:function(data){ 
     window.location = "http://google.com/" 
     } 
    }); 
    }); 

} 
</script> 
Смежные вопросы