PageSourceSearch

https://www.webuomo.jp/js/pushNotification/uomo-webpush.js?cache_ban_query=c0cd44054

js webuomo.jp collected 2026-09-24 18:37:56 UTC 7,209 bytes, 198 lines download raw bytes

1//ステージ環境
2var docroot   = document.location.hostname;
3var apiroot   = docroot === 'www.webuomo.jp' || docroot === '3rd.webuomo.jp'
4  ? "push-webuomo.hpplus.jp" // uomo-product
5  : "push-stage-webuomo.hpplus.jp"; // uomo-stage
6var publicKey = docroot === 'www.webuomo.jp' || docroot === '3rd.webuomo.jp'
7  ? "BAXWH_3rAVPNzaTwcOMrdAkKrKW0Owm_0e0rISl8sWOD7OjoEmZ9zdm3a1CDxj0miPaf7LTiy_jhJp392igty68" // uomo-product
8  : "BAMxuWmn_hwkPvuusZ8xkd3_3f8QvvCdkb-mU8yJ1C41bjzLm7PMQWx3bWVPyr_jBW0dneq844nF91BmMyMpILg"; // uomo-stage
9var baseUrl   = "https://" + apiroot + "/api/v1.1";                // Boltz Messenger API
10var serviceWorkerUrl = "https://" + docroot + "/serviceworker.js"; // serviceworkerの在り処
11
12//var bm;                   // apply webpack
13//var container;            // reserved feature
14//var channels_container;   // reserved feature
15
16var onReady = function() {
17    //showConfirm();
18    console.log("プッシュ通知有効");
19    //console.log('WebPush Available:' + bm.getStoredToken());
20    //console.log('BoltzMessenger UserKey:' 
20+ bm.getUserKey());
21    /*container.html(
22	'\
23        <div class="webpush-confirm">\
24            <h2>プッシュ通知が利用可能です</h2>\
25            <p>現在プッシュ通知を受信できる状態です。</p>\
26        </div>\
27	'
28    );*/
29
30    // チャンネル別受信設定(チュートリアル)
31    /*
32    var ch_html = '<h3>購読中のチャンネル/ご利用できるチャンネル</h3>';
33    bm.getChannels(function(channels){
34        ch_html += '<ul>';
35        channels.forEach(function(element) {
36            ch_html += '<li>' + element.channel_name;
37            if( element.subscribed ) {
38                ch_html += '&nbsp;購読中(<a href="javascript:void(0);" id="subscribe_'+element.channel_id+'" action="unsubscribe" data="'+element.channel_id+'" class="unsubscribe-button">購読しない</a>)';
39            }
40            else {
41                ch_html += '&nbsp;<a href="javascript:void(0);" id="subscribe_'+element.channel_id+'" action="subscribe" data="'+element.channel_id+'" class="subscribe-button">購読する</a>';
42            }
43            ch_html += '</li>';
44        });
45        ch_html += '</ul>';
46        channels_container.html(ch_html);
47
48        var onResp = function() {
49        };
50
51        var onError = function(error) {
52	    console.log(error);
53        };
54
55        $("[id^='subscribe_']").click(function () {
56            var ch_id = $(this).attr('data');
57            if( $(this).attr('action') == 'subscribe' ) {
58                bm.subscribeChannel( ch_id, onResp, onError );
59                console.log("subscribed ch-" + ch_id);
60            }
61            else {
62                bm.unsubscribeChannel( ch_id, onResp, onError );
63                console.log("unsubscribed ch-" + ch_id);
64            }
65            bm.start();
66        });
67    });
68    */
69};
70
71// 直接有効化の場合
72var immediateActivate = function() {
73    bm.activate();
74};
75
76/* 購読ページを別に立てる場合は活用
77var renderInitialPage = function() {
78    showConfirm();
79    console.log("プッシュ通知有効化確認");
80    //console.log('Available Webpush Token:' + bm.getStoredToken());
81    container.html(
82        '\
83        <div class="webpush-confirm">\
84            <h2>プッシュ通知を受信できます</h2>\
85            <p>このサイトからプッシュ通知を受け取るには下のボタンをクリックし、ブラウザからのメッセージで「通知を許可」をクリックしてください。</p>\
86            <a href="javascript:void(0);" id="request-permission" class="action-button">プッシュ通知を有効化する</a>\
87        </div>\
88        '
89    );
90    $('#request-permission').click(function () {
91        bm.activate();
92    });
93};
94*/
95
96var renderDeniedPage = function() {
97    //showConfirm();
98    console.log("プッシュ通知拒否状態");
99    /* container.html(
100        '\
101        <div class="webpush-confirm">\
102          <h2>プッシュ通知の利用が拒否されています</h2>\
103          <p>プッシュ通知の利用を拒否しています。ブラウザの設定を確認してください。</p>\
104        </div>\
105        '
106    ); */
107};
108
109var renderUnavailablePage = function() {
110    //showConfirm();
111    console.log("プッシュ通知未対応ブラウザ");
112    /* container.html(
113	'\
114        <div class="webpush-confirm">\
115            <h2>未対応ブラウザ</h2>\
116            <p>このブラウザではプッシュ通知をご利用になれません。</p>\
117        </div>\
118	'
119    ); */
120};
121
122var renderInvalidConfigPage = function() {
123    //showConfirm();
124    console.log("プッシュ通知設定間違い");
125    /* container.html(
126	'\
127        <div class="webpush-confirm">\
128            <h2>プッシュ通知の設定に問題があります</h2>\
129            <p>WebPush 用のキーの設定が不足しています。開発者にご連絡ください。</p>\
130        </div>\
131	'
132    ); */
133};
134
135var renderSetupFailedPage = function() {
136    //showConfirm();
137    console.log("プッシュ通知初期化失敗");
138    /* container.html(
139        '\
140        <div class="webpush-confirm">\
141            <h2>登録を行いませんでした</h2>\
142            <p>プッシュ通知の情報登録を行いませんでした。ページを再読み込みして再度お試しください。</p>\
143        </div>\
144        '
145    ); */
146};
147
148var renderErrorPage = function() {
149    //showConfirm();
150    console.log("プッシュ通知チャンネルまたはセグメント設定エラー");
151   /*  container.html(
152	'\
153        <div class="webpush-confirm">\
154            <h2>エラーが発生しています</h2>\
155            <p>何らかの技術的な問題が発生しています。開発者にご連絡ください。</p>\
156        </div>\
157	'
158    ); */
159};
160
161var sendSegment = function(key, value) {
162    var values = {};
163    if (key === undefined || key === null || key.length === 0) {
164        console.log('セグメント属性キーに問題があります');
165        return;
166    }
167    values[key] = value;
168    bm.putSegmentValues(values, function () {
169        console.log('セグメントを更新しました=' + key + ':' + values[key]);
170    }, renderErrorPage);
171};
172
173document.addEventListener('DOMContentLoaded', function() {
174    //container = $('#content-container');
175    //channels_container = $('#channels-container');
176    if (publicKey === undefined || publicKey === null || publicKey.length === 0) {
177        renderInvalidConfigPage();
178        return;
179    }
180    bm = new BoltzMessenger({
181        baseUrl: baseUrl,			// BoltzMessenger Web API URL
182        serverKey: publicKey,			// サーバー公開鍵
183        serviceWorkerUrl: serviceWorkerUrl,	// Serviceworker を設置したURL
184        onInitialState:immediateActivate,
185        //onInitialState:renderInitialPage, // 購読ページを別に立てる場合は活用
186        onDenied:      renderDeniedPage,
187        onReady:       onReady,
188        onSetupFailed: renderSetupFailedPage,
189        onUnavailable: renderUnavailablePage,
190        onMessageOpen: function(){
191            //console.log("メッセージを開封しました");
192        }
193    });
194
195
196    bm.start();
197});
198

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.