簡體   English   中英

如何在包含(',“)的Javascript函數中傳遞動態字符串

[英]How to pass a dynamic string in Javascript function which contains (',")

我正在使用RSS Feed。 我想將鏈接和標題傳遞給這樣的Javascript函數。

'<a href="javascript:void(0)" onclick="shareFb(\''+item.link+'\',\''+item.title+'\')"></a>'

此item.link和item.title是動態生成的。 如果鏈接中包含諸如(facebook)等之類的單詞。則該(')單引號和其他一些字符會引起問題,並且瀏覽器控制台拋出uncaught syntaxerror: unexpected identifier.錯誤錯誤uncaught syntaxerror: unexpected identifier. 如果我傳遞的標題和鏈接包含純文本,則可以將其作為參數傳遞。 有什么想法可以使它起作用。

嘗試這個:

'<a href="javascript:void(0)" onclick="shareFb(\''+encodeURIComponent(item.link)+'\',\''+encodeURIComponent(item.title)+'\')"></a>'

在項目標題中,將“的出現'替換為' \\'

更改

item.title

item.title.replace('\'', '\\'')

就像您說的那樣,有一些有問題的字符。 在服務器端,嘗試轉義item.link和item.title。

在C#中,您將使用:例如HttpUtility.UrlEncode。 在JavaScript中,您將使用encodeURI()。 然后,當您想對參數進行解碼時,請使用decodeURI()。

在item.link中,您可以使用encodeURIComponent

http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_encodeuricomponent

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM