chabokpush / chabok-client-js

Chabok Push Javascript SDK
https://webpush.chabokpush.com/
MIT License
8 stars 1 forks source link

chabokpush.Chabok is not a constructor #14

Closed rasez closed 5 years ago

rasez commented 5 years ago

سلام من پیاده سازی رو انجام دادم کدم هم به صورت زیر هست من فقط میخوام یوزر رجیستر کنم توی جابک از طریق جاوااسکریپت ولی با این ارور مواجه میشم Uncaught TypeError: chabokpush.Chabok is not a constructor کد من هم به این صورت هست

<script src="https://unpkg.com/chabokpush@1.0.1/dist/chabokpush.min.js"></script>
<script src="<?= baseHtmlUrl() ?>/ChabokSDKWorker.js"></script>
<script>
var userId= "<?=UserHelper::getKey(SSN_TOKEN)?>"
const auth = {
  appId: 'APP_ID',
  apiKey: 'API_KEY',
  username: 'USERNAME',
  password: 'PASSWORD',
  devMode:true
}
const options = {
      webpush: {
        enabled: true,
        publicKey: 'PUBLIC_KEY'
      },
      silent: false,
    };
const chabok = new chabokpush.Chabok(auth, options)
chabok.on('registered', deviceId => console.log('DeviceId ', deviceId))

if (chabok.isRegistered()) {
    chabok.register(chabok.getUserId())
} else {
    chabok.register(userId)
    ajaxing("",{"token":userId},"/user/updateAdminToken");
}
</script>
amir-yaghoubi commented 5 years ago

این مشکل به خاطر وجود خط زیر در کد شما می‌باشد:

<script src="<?= baseHtmlUrl() ?>/ChabokSDKWorker.js"></script>

همانطور که در این قسمت از مستندات گفته شده فایل ChabokSDKWorker.js لازم است در root پروژه شما قرار بگیرد و ایمپورت آن به این شکل اشتباه می‌باشد.

rasez commented 5 years ago

من الان داخل روت پروژه قرار دادم فایل رو و فایل هم باز میشه دقیقا منظورتون از روت چی هست؟

amir-yaghoubi commented 5 years ago

مثلا اگه صفحه اصلی سایت شما فایل index.html باشد و شما آن را در پوشه public قرار داده‌اید، منظور از root در این جا یعنی داخل پوشه public

نکته: همانطور که قبلتر‌ هم اشاره کردم نیازی به ایمپورت فایل ChabokSDKWorker.js با استفاده از تگ <script> نمی‌باشد و در نتیجه خط Githubissues.

  • Githubissues is a development platform for aggregating issues.