数枚の画像から一枚を選択し、その画像をogpに設定して、urlも設定し、
画像に対応した画面に遷移さいたいのですが、
1回目に指定したurlがそのまま2回目も3回目も使用されてしまいます。
どのようにすればurlを変更してshareできるようになるのでしょうか?
下記がshareする際のコードになります。
// 1回目の画像選択とfbのシェア // ./img/hoge_1.png を選択 => 飛び先のurl: 'http://hoge_1.co.jp // 2回目の画像選択とfbのシェア // ./img/hoge_3.png を選択 => 飛び先のurl: 'http://hoge_1.co.jp // 本来は2回目のurlは "http://hoge_3.co.jp"になってほしい var img_arr = ["./img/hoge_1.png", "./img/hoge_2.png", "./img/hoge_3.png" ] var result_url = ''; $.ajax({ type: "POST", url: "/api/img", dataType: 'json', data: post_params, success: function(res){ // apiのレスポンスでurlが返ってきます。 // 選択した画像に対してurlを作成しております。 result_url = res.url; }, }) //facebook $('meta[property="og:title"]').attr({'content': "タイトル"}); $('meta[property="og:site_name"]').attr({'content': "サイト名"}); $('meta[property="og:description"]').attr({'content':"詳細"}); var encode_url = encodeURIComponent(result_url); console.log(encode_url); // ここでは選択画像に対してのurlを取得できています。 var fburl = 'http://www.facebook.com/sharer.php?u=' + encode_url; console.log(fburl); // ここでも選択画像に対するurlが取得できています。 $('.fb_btn').on('click', function(){ window.open(fburl); // ここで飛んだ先のurlが、1回目に飛んだ先のurlに変わってしまいます。 });
あなたの回答
tips
プレビュー