Я работаю с RSS-каналами. Я хотел бы передать ссылку и название функции Javascript, как это.
'<a href="javascript:void(0)" onclick="shareFb(\''+item.link+'\',\''+item.title+'\')"></a>'
Этот item.link и item.title динамически генерируются. Если ссылка содержит некоторые слова типа (facebook) и т.д., То (') одинарные кавычки и некоторые другие символы создают проблему, а консоль браузера бросает ошибку uncaught syntaxerror: unexpected identifier.
Если заголовок и ссылка, которую я передаю, содержат простой текст, тогда я могу передать их в качестве аргументов. Есть ли какая-нибудь идея, чтобы заставить ее работать.
Попробуй это:
'<a href="javascript:void(0)" onclick="shareFb(\''+encodeURIComponent(item.link)+'\',\''+encodeURIComponent(item.title)+'\')"></a>'
В заголовке элемента замените вхождения '
with \'
+ Изменить
item.title
в
item.title.replace('\'', '\\'')
Как вы сказали, есть проблематичные персонажи. На стороне сервера попробуйте выйти из item.link и item.title.
В С# вы должны использовать: HttpUtility.UrlEncode, например. В JavaScript вы должны использовать encodeURI(). Затем, когда вы хотите декодировать параметр, используйте decodeURI().
В item.link вы можете использовать encodeURIComponent
http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_encodeuricomponent