모바일쇼핑몰 카카오톡 링크 보내기 기능 추가
This commit is contained in:
95
js/kakao.link.js
Normal file
95
js/kakao.link.js
Normal file
@ -0,0 +1,95 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2012 KAKAO
|
||||||
|
*/
|
||||||
|
|
||||||
|
(function (window, undefined) {
|
||||||
|
var kakao = {};
|
||||||
|
window.kakao = window.kakao || kakao;
|
||||||
|
|
||||||
|
var uagent = navigator.userAgent.toLocaleLowerCase();
|
||||||
|
if (uagent.search("android") > -1) {
|
||||||
|
kakao.os = "android";
|
||||||
|
if (uagent.search("chrome") > -1) {
|
||||||
|
kakao.browser = "android+chrome";
|
||||||
|
}
|
||||||
|
} else if (uagent.search("iphone") > -1 || uagent.search("ipod") > -1 || uagent.search("ipad") > -1) {
|
||||||
|
kakao.os = "ios";
|
||||||
|
}
|
||||||
|
|
||||||
|
var app = {
|
||||||
|
talk: {
|
||||||
|
base_url: "kakaolink://sendurl?",
|
||||||
|
apiver: "2.0.1",
|
||||||
|
store: {
|
||||||
|
android: "market://details?id=com.kakao.talk",
|
||||||
|
ios: "http://itunes.apple.com/app/id362057947"
|
||||||
|
},
|
||||||
|
package: "com.kakao.talk"
|
||||||
|
},
|
||||||
|
story: {
|
||||||
|
base_url: "storylink://posting?",
|
||||||
|
apiver: "1.0",
|
||||||
|
store: {
|
||||||
|
android: "market://details?id=com.kakao.story",
|
||||||
|
ios: "http://itunes.apple.com/app/id486244601"
|
||||||
|
},
|
||||||
|
package: "com.kakao.story"
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
kakao.link = function (name) {
|
||||||
|
var link_app = app[name];
|
||||||
|
if (!link_app) return { send: function () {
|
||||||
|
throw "No App exists";
|
||||||
|
}};
|
||||||
|
return {
|
||||||
|
send: function (params) {
|
||||||
|
var _app = this.app;
|
||||||
|
params['apiver'] = _app.apiver;
|
||||||
|
var full_url = _app.base_url + serialized(params);
|
||||||
|
|
||||||
|
var install_block = (function (os) {
|
||||||
|
return function () {
|
||||||
|
window.location = _app.store[os];
|
||||||
|
};
|
||||||
|
})(this.os);
|
||||||
|
|
||||||
|
if (this.os == "ios") {
|
||||||
|
var timer = setTimeout(install_block, 2 * 1000);
|
||||||
|
window.addEventListener('pagehide', clearTimer(timer));
|
||||||
|
window.location = full_url;
|
||||||
|
} else if (this.os == "android") {
|
||||||
|
if (this.browser == "android+chrome") {
|
||||||
|
window.location = "intent:" + full_url + "#Intent;package=" + _app.package + ";end;";
|
||||||
|
} else {
|
||||||
|
var iframe = document.createElement('iframe');
|
||||||
|
iframe.style.display = 'none';
|
||||||
|
iframe.src = full_url;
|
||||||
|
iframe.onload = install_block;
|
||||||
|
document.body.appendChild(iframe);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
app: link_app,
|
||||||
|
os: kakao.os,
|
||||||
|
browser: kakao.browser
|
||||||
|
};
|
||||||
|
|
||||||
|
function serialized(params) {
|
||||||
|
var stripped = [];
|
||||||
|
for (var k in params) {
|
||||||
|
if (params.hasOwnProperty(k)) {
|
||||||
|
stripped.push(k + "=" + encodeURIComponent(params[k]));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return stripped.join("&");
|
||||||
|
}
|
||||||
|
|
||||||
|
function clearTimer(timer) {
|
||||||
|
return function () {
|
||||||
|
clearTimeout(timer);
|
||||||
|
window.removeEventListener('pagehide', arguments.callee);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}(window));
|
||||||
@ -1421,6 +1421,9 @@ function get_sns_share_link($sns, $url, $title, $img)
|
|||||||
case 'googleplus':
|
case 'googleplus':
|
||||||
$str = '<a href="https://plus.google.com/share?url='.urlencode($url).'" class="share-googleplus" target="_blank"><img src="'.$img.'" alt="구글플러스에 공유"></a>';
|
$str = '<a href="https://plus.google.com/share?url='.urlencode($url).'" class="share-googleplus" target="_blank"><img src="'.$img.'" alt="구글플러스에 공유"></a>';
|
||||||
break;
|
break;
|
||||||
|
case 'kakaotalk':
|
||||||
|
$str = '<button type="button" onclick="kakaolink_message(this);"><img src="'.$img.'" alt="카카오톡링크 보내기"></button>';
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return $str;
|
return $str;
|
||||||
|
|||||||
@ -7,6 +7,7 @@ add_stylesheet('<link rel="stylesheet" href="'.G5_MSHOP_SKIN_URL.'/style.css">',
|
|||||||
|
|
||||||
<script src="<?php echo G5_JS_URL; ?>/jquery.nicescroll.min.js"></script>
|
<script src="<?php echo G5_JS_URL; ?>/jquery.nicescroll.min.js"></script>
|
||||||
<script src="<?php echo G5_JS_URL; ?>/jquery.fancyalert.js"></script>
|
<script src="<?php echo G5_JS_URL; ?>/jquery.fancyalert.js"></script>
|
||||||
|
<script src="<?php echo G5_JS_URL; ?>/kakao.link.js"></script>
|
||||||
|
|
||||||
<form name="fitem" action="<?php echo $action_url; ?>" method="post" onsubmit="return fitem_submit(this);">
|
<form name="fitem" action="<?php echo $action_url; ?>" method="post" onsubmit="return fitem_submit(this);">
|
||||||
<input type="hidden" name="it_id[]" value="<?php echo $it['it_id']; ?>">
|
<input type="hidden" name="it_id[]" value="<?php echo $it['it_id']; ?>">
|
||||||
@ -64,6 +65,7 @@ add_stylesheet('<link rel="stylesheet" href="'.G5_MSHOP_SKIN_URL.'/style.css">',
|
|||||||
<?php echo get_sns_share_link('facebook', $sns_url, $sns_title, G5_MSHOP_SKIN_URL.'/img/sns_fb2.png'); ?>
|
<?php echo get_sns_share_link('facebook', $sns_url, $sns_title, G5_MSHOP_SKIN_URL.'/img/sns_fb2.png'); ?>
|
||||||
<?php echo get_sns_share_link('twitter', $sns_url, $sns_title, G5_MSHOP_SKIN_URL.'/img/sns_twt2.png'); ?>
|
<?php echo get_sns_share_link('twitter', $sns_url, $sns_title, G5_MSHOP_SKIN_URL.'/img/sns_twt2.png'); ?>
|
||||||
<?php echo get_sns_share_link('googleplus', $sns_url, $sns_title, G5_MSHOP_SKIN_URL.'/img/sns_goo2.png'); ?>
|
<?php echo get_sns_share_link('googleplus', $sns_url, $sns_title, G5_MSHOP_SKIN_URL.'/img/sns_goo2.png'); ?>
|
||||||
|
<?php echo get_sns_share_link('kakaotalk', $sns_url, $sns_title, G5_MSHOP_SKIN_URL.'/img/sns_kko2.png'); ?>
|
||||||
</div>
|
</div>
|
||||||
<table class="sit_ov_tbl">
|
<table class="sit_ov_tbl">
|
||||||
<colgroup>
|
<colgroup>
|
||||||
@ -456,4 +458,51 @@ function fitem_submit(f)
|
|||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 카카오톡 링크 보내기 메세지 입력
|
||||||
|
function kakaolink_message()
|
||||||
|
{
|
||||||
|
var popup = "<div id=\"kakao_message\">";
|
||||||
|
popup += "<form name=\"fkakao\" onsubmit=\"return kakaolink_send(this);\">";
|
||||||
|
popup += "<label for=\"message\">메세지</label>";
|
||||||
|
popup += "<textarea id=\"message\" name=\"message\"></textarea>";
|
||||||
|
popup += "<input type=\"submit\" value=\"보내기\">";
|
||||||
|
popup += "<button type=\"button\" onclick=\"send_cancel();\">취소</button>";
|
||||||
|
popup += "</form>";
|
||||||
|
popup += "</div>";
|
||||||
|
|
||||||
|
$("form[name=fitem]").before(popup);
|
||||||
|
}
|
||||||
|
|
||||||
|
function send_cancel()
|
||||||
|
{
|
||||||
|
$("#kakao_message").remove();
|
||||||
|
}
|
||||||
|
|
||||||
|
// 카카오톡 링크 보내기
|
||||||
|
function kakaolink_send(f)
|
||||||
|
{
|
||||||
|
var msg = f.message.value;
|
||||||
|
if(!msg) {
|
||||||
|
alert("메세지를 입력해 주세요");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
msg, url, appid, appname은 실제 서비스에서 사용하는 정보로 업데이트되어야 합니다.
|
||||||
|
*/
|
||||||
|
kakao.link("talk").send({
|
||||||
|
msg : msg,
|
||||||
|
url : "<?php echo $sns_url; ?>",
|
||||||
|
appid : "<?php echo $_SERVER['HTTP_HOST']; ?>",
|
||||||
|
appver : "2.0",
|
||||||
|
appname : "<?php echo $config['cf_title']; ?>",
|
||||||
|
type : "link"
|
||||||
|
});
|
||||||
|
|
||||||
|
$("#kakao_message").remove();
|
||||||
|
|
||||||
|
return false;
|
||||||
|
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
Reference in New Issue
Block a user