特殊字符使用共享按钮导致标题在推文框中被切断

时间:2013-12-24 01:23:04

标签: javascript html share

我使用一些javascript创建了一个分享按钮。它从我的博客中抓取我的标题和网址并将其粘贴到推文框中(它不是推特),但是当有“&”时问题出现了。登录帖子标题,它在“&”之前完全切断登录共享框。

例如,如果标题是:“The Dog Blog:My Dog& I walking”,并且URL是“www.mydogandme.com”..它应该抓住两者并将它们全部粘贴到共享框中但是由于“&”,它在“狗博客:我的狗”中被切断了。

有谁知道我怎么能忽略任何“&”标志所以它将跳过它并继续抓取并粘贴标题和URL的其余部分?或其他任何可以解决这个问题的方法?

感谢您的帮助

的Javascript

<div class='stocktwits-share'>
<script type='text/javascript'>
    var text = 'via @handle';
    var space = ' ';

    function stockTiwtsShare() {
        newShareWindow = window.open('https://stocktwits.com/widgets/share?body=' + document.title + space + text + space + document.URL, '', 'width=200', 'height=100');
        newShareWindow.focus(5000);
    }
</script>
<br />
<img src="http://imageshack.com/a/img542/4766/bsxz.png" onclick='stockTiwtsShare()' />

1 个答案:

答案 0 :(得分:0)

您需要URI encode查询字符串中使用的每个组件,例如

var paramString = encodeURIComponent([document.title, text, document.URL].join(' '));

然后在您的网址

中使用它
window.open('https://stocktwits.com/widgets/share?body=' + paramString, '', 'width=200', 'height=100');

这里的JSFiddle示例 - http://jsfiddle.net/A3jL6/