Правильно, вы не можете видеть это, потому что s
- это тип SuperClass
, который не имеет этого метода - это, очевидно, нарушит принцип Полиморфизм .
Поэтому вам нужно либо изменить код, как ((ChildClass) s).childClassMethod();
, либо сделать s
как ChildClass
.
if(subscription){
const key = subscription.getKey('p256dh');
const token = subscription.getKey('auth');
const contentEncoding = (PushManager.supportedContentEncodings || ['aesgcm'])[0];
return fetch('/scripts/notification-subscribe.php', {
method: 'POST',
body: JSON.stringify({
endpoint: subscription.endpoint,
publicKey: key ? btoa(String.fromCharCode.apply(null, new Uint8Array(key))) : null,
authToken: token ? btoa(String.fromCharCode.apply(null, new Uint8Array(token))) : null,
contentEncoding,
user: 1,
}),
}).then(() => subscription);
}
}
Just modify this function hope pushSubscription with if block it works