パラメータ付きURLって、SNSでシェアできないの?(Twitter・Facebook)


できます

ただし一手間が必要。
それはエンコード

実装方法

// URLとパラメータを分ける
var href = location.href;
var param = location.search;
var url = href.replace(param, '');

// パラメータをエンコード
param = encodeURIComponent(param);

// 各SNSのシェアURLと、シェアしたいURL、パラメータ、ハッシュタグを結合
// Twitter
var twLink = 'http://twitter.com/share?url=' + url + param + '&hashtags=ハッシュタグ'; 
// Facebook
var fbLink = 'https://www.facebook.com/sharer/sharer.php?u=' + url + param;

// シェアボタンのリンクを置き換える
// Twitter
$('#js-tw-link').attr('href', twLink);
// Facebook
$('#js-fb-link').attr('href', fbLink);

encodeURIComponent()にパラメータを入れる一手間が必要。
最初、http://〜からURL全体をエンコードしてたのでうまくいきませんでした。