我正在使用用户选择/突出显示的文字为Twitter小部件的“推文文字”功能生成intent/tweet?text=
内容。
当在元素的内容中遇到打开或关闭双/单个引号时,除了时效果很好:''“”(‘ ’ “ ”
)。当所选文本中包含任何这些字符时,整个推文文本对话框窗口为空白。
我尝试过各种javascript方法来搜索/替换那些ASCII代码或Unicode版本,但无济于事。
escape(text)
方法在文本到达Twitter小部件之前就已经被使用了,所以我很困惑为什么它会窒息。在位置栏中,它显示这些字符正在转换为Unicode版本,如u201C。
什么可能导致Tweet文本框在这些字符上失败,即使它似乎正确地转换它们呢?
答案 0 :(得分:0)
我发现需要自己搜索/替换文字实体,而不是ASCII代码或Unicode对应物。
因此,在Twitter小部件文本意图中使用所选文本的解决方案是:
text = text.replace(/“/g, "\'").replace(/”/g, "\'").replace(/‘/g, "\'").replace(/’/g, "\'");
实体不需要转义。