· 4 years ago · Jan 18, 2021, 11:30 PM
1var ok = {
2 init: function() {
3 var self = this;
4 // Публикация по клику на кнопку с классом .btn-share
5 $(".btn-share").click(function () {
6 self.share("https://www.google.com.ua/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png", "https://google.com");
7 });
8 },
9 /* img - абсолютный url к картинке для публикации. url - ссылка в публикации */
10 share: function (img, url) {
11 var attach = {
12 "media": [
13 {
14 "type": "text",
15 "text": "Some text" /* заголовок сверху */
16 },
17 {
18 "type": "app",
19 "text": "Тутклассно", /* Серация подпись над картинкой */
20 "images": [
21 {
22 "url": img,
23 "title": "",
24 "mark": "tutklassno", /* обязательно для указания, не отображается */
25 }
26 ],
27 "actions": [
28 {
29 "text": "Тутклассно",
30 "mark": "tutklassno" /* описание публикации чуть выше серой надписи */
31 }
32 ]
33 },
34 {
35 "type": "link",
36 "url": url /* прикреплённая ссылка */
37 }
38 ]
39 };
40
41 var str = encodeURIComponent(JSON.stringify(attach));
42 var forSignGeneration = JSON.stringify(attach);
43 var secretKey = "8A4A914A5CA5AFCACA8FA069"; /* секретный ключ */
44 var sign = CryptoJS.MD5("st.attachment=" + forSignGeneration + secretKey); /* генерируем сигнатуру для публикации */
45
46 var params = "menubar=yes,location=yes,resizable=yes,scrollbars=yes,status=yes"
47 // Необходимо указать st.app=.... полученный при регистрации
48 // DEBUG режим. st.silent=on (дебаг выключен)/off (дебаг включен)
49 var url = 'http://connect.ok.ru/dk?st.cmd=WidgetMediatopicPost&st.app=*******&st.attachment=' + str + '&st.signature=' + sign + '&st.popup=on&st.silent=on&st.utext=on';
50 window.open(url, "_blank", params)
51 }
52 }
53
54 $(function () {
55 ok.init();
56 })