কীভাবে একজন ক্রোম ডেস্কটপ বিজ্ঞপ্তি ব্যবহার করে ? আমি এটি আমার নিজের কোডে ব্যবহার করতে চাই।
আপডেট : এখানে একটি ব্লগ পোস্ট একটি উদাহরণ সহ ওয়েবকিট বিজ্ঞপ্তিগুলি ব্যাখ্যা করে।
কীভাবে একজন ক্রোম ডেস্কটপ বিজ্ঞপ্তি ব্যবহার করে ? আমি এটি আমার নিজের কোডে ব্যবহার করতে চাই।
আপডেট : এখানে একটি ব্লগ পোস্ট একটি উদাহরণ সহ ওয়েবকিট বিজ্ঞপ্তিগুলি ব্যাখ্যা করে।
উত্তর:
আধুনিক ব্রাউজারগুলিতে, দুটি ধরণের বিজ্ঞপ্তি রয়েছে:
গুগলের ওয়েব ফান্ডামেন্টাল সাইটে এমডিএন এবং পরিষেবা কর্মীদের জন্য ডকুমেন্টেড এপিআই কল একই প্যারামিটারগুলি গ্রহণ করে (ক্রিয়া ব্যতীত - ডেস্কটপ বিজ্ঞপ্তিতে পাওয়া যায় না) takes
নীচে ক্রোম, ফায়ারফক্স, অপেরা এবং সাফারির জন্য ডেস্কটপ বিজ্ঞপ্তির কার্যকারী উদাহরণ রয়েছে । নোট করুন যে সুরক্ষার কারণে, ক্রোম 62 দিয়ে শুরু করে, বিজ্ঞপ্তি এপিআই-র জন্য আর কোনও ক্রস-অরিজিন ইফ্রামের কাছে অনুরোধ করা যাবে না, তাই আমরা স্ট্যাকওভারফ্লো এর কোড স্নিপেট ব্যবহার করে এটি ডেমো করতে পারি না। আপনার এই উদাহরণটি আপনার সাইট / অ্যাপ্লিকেশনটিতে একটি এইচটিএমএল ফাইলে সংরক্ষণ করতে হবে এবং এটি ব্যবহার করতে localhost://
বা এইচটিটিপিএস নিশ্চিত করতে হবে ।
// request permission on page load
document.addEventListener('DOMContentLoaded', function() {
if (!Notification) {
alert('Desktop notifications not available in your browser. Try Chromium.');
return;
}
if (Notification.permission !== 'granted')
Notification.requestPermission();
});
function notifyMe() {
if (Notification.permission !== 'granted')
Notification.requestPermission();
else {
var notification = new Notification('Notification title', {
icon: 'http://cdn.sstatic.net/stackexchange/img/logos/so/so-icon.png',
body: 'Hey there! You\'ve been notified!',
});
notification.onclick = function() {
window.open('http://stackoverflow.com/a/13328397/1269037');
};
}
}
<button onclick="notifyMe()">Notify me!</button>
আমরা ডাব্লু 3 সি বিজ্ঞপ্তি এপিআই ব্যবহার করছি । এটি আলাদা করে ক্রোম এক্সটেনশান বিজ্ঞপ্তি এপিআই দিয়ে বিভ্রান্ত করবেন না । ক্রোম এক্সটেনশনের বিজ্ঞপ্তিগুলি স্পষ্টতই কেবল ক্রোম এক্সটেনশনে কাজ করে এবং ব্যবহারকারীর কাছ থেকে কোনও বিশেষ অনুমতি প্রয়োজন হয় না।
ডাব্লু 3 সি বিজ্ঞপ্তিগুলি অনেকগুলি ব্রাউজারে কাজ করে ( ক্যানিউসে সমর্থন দেখুন ) এবং ব্যবহারকারীর অনুমতি প্রয়োজন। সেরা অনুশীলন হিসাবে, সরাসরি ব্যাট থেকে এই অনুমতি চাইবেন না। প্রথমে ব্যবহারকারীকে কেন তারা বিজ্ঞপ্তি চান এবং অন্যান্য ধাক্কা বিজ্ঞপ্তিগুলির ধরণগুলি দেখুন তা ব্যাখ্যা করুন ।
নোট করুন যে ক্রোম এই বাগের কারণে লিনাক্সে বিজ্ঞপ্তি আইকনটিকে সম্মান করে না ।
বিজ্ঞপ্তি সমর্থন অব্যাহত প্রবাহে চলেছে, বিগত বছরগুলিতে বিভিন্ন এপিআই-কে অবচয় করা হয়েছে। আপনি যদি কৌতূহলী হন তবে Chrome এ কী কাজ করে এবং সমৃদ্ধ এইচটিএমএল বিজ্ঞপ্তির গল্প শিখতে এই উত্তরটির পূর্ববর্তী সম্পাদনাগুলি পরীক্ষা করে দেখুন।
এখন সর্বশেষ মানটি https://notifications.spec.whatwg.org/ এ ।
আপনি কোনও পরিষেবা কর্মী রয়েছেন কি না তার উপর নির্ভর করে কেন একই প্রভাবের জন্য দুটি পৃথক কল রয়েছে - Google এ কাজ করার সময় আমি এই টিকিটটি দায়ের করেছি দেখুন ।
সহায়ক লাইব্রেরির জন্যও notify.js দেখুন ।
পরীক্ষা করে দেখুন নকশা এবং এপিআই স্পেসিফিকেশন (এটি এখনও একটি খসড়া এর) অথবা একটি সহজ উদাহরণস্বরূপ থেকে উৎস (পৃষ্ঠা আর উপলব্ধ) পরীক্ষা: এটি প্রধানত একটি কল এর window.webkitNotifications.createNotification
।
আপনি যদি আরও দৃ example় উদাহরণ চান (আপনি নিজের গুগল ক্রোমের এক্সটেনশন তৈরি করার চেষ্টা করছেন এবং অনুমতি, স্থানীয় স্টোরেজ এবং এর সাথে কীভাবে ডিল করতে হয় তা জানতে চান), জিএমএল নোটিফায়ার এক্সটেনশনটি দেখুন : ইনস্টল করার পরিবর্তে সিআরএক্স ফাইলটি ডাউনলোড করুন এটি আনজিপ করুন এবং এর উত্স কোডটি পড়ুন।
এটি window.webkitNotifications
ইতিমধ্যে প্রত্যাখ্যান এবং সরানো হয়েছে বলে মনে হয় । তবে একটি নতুন এপিআই রয়েছে এবং এটি ফায়ারফক্সের সর্বশেষ সংস্করণেও কাজ করবে বলে মনে হচ্ছে।
function notifyMe() {
// Let's check if the browser supports notifications
if (!("Notification" in window)) {
alert("This browser does not support desktop notification");
}
// Let's check if the user is okay to get some notification
else if (Notification.permission === "granted") {
// If it's okay let's create a notification
var notification = new Notification("Hi there!");
}
// Otherwise, we need to ask the user for permission
// Note, Chrome does not implement the permission static property
// So we have to check for NOT 'denied' instead of 'default'
else if (Notification.permission !== 'denied') {
Notification.requestPermission(function (permission) {
// Whatever the user answers, we make sure we store the information
if(!('permission' in Notification)) {
Notification.permission = permission;
}
// If the user is okay, let's create a notification
if (permission === "granted") {
var notification = new Notification("Hi there!");
}
});
} else {
alert(`Permission is ${Notification.permission}`);
}
}
else
সমস্যাটি কী তা বলার জন্য আমি শেষে একটি অতিরিক্ত যুক্ত করেছি । আপনি সম্ভবত আমার মতো বিশ্বব্যাপী বিজ্ঞপ্তিগুলি অক্ষম করেছেন:
আমি পছন্দ করি: http://www.html5rocks.com/en/tutorials/notifications/quick/#toc- উদাহরণ উদাহরণ তবে এটি পুরানো ভেরিয়েবল ব্যবহার করে, তাই ডেমোটি আর কাজ করে না। webkitNotifications
এখন Notification
।
আমি এই সাধারণ বিজ্ঞপ্তি আবরণ তৈরি। এটি ক্রোম, সাফারি এবং ফায়ারফক্সে কাজ করে।
সম্ভবত অপেরা, আইই এবং এজতেও কিন্তু আমি এখনও এটি পরীক্ষা করে দেখিনি।
কেবল এখান থেকে notify.js ফাইলটি পান https://github.com/gravmatt/js-notify এবং এটি আপনার পৃষ্ঠাতে রাখুন।
এটি বোর পেতে
$ bower install js-notify
এটা এভাবে কাজ করে:
notify('title', {
body: 'Notification Text',
icon: 'path/to/image.png',
onclick: function(e) {}, // e -> Notification object
onclose: function(e) {},
ondenied: function(e) {}
});
আপনাকে শিরোনামটি সেট করতে হবে তবে দ্বিতীয় আর্গুমেন্টটি isচ্ছিক হিসাবে জসন অবজেক্ট।
এখানে এপিআই-তে দুর্দান্ত ডকুমেন্টেশন রয়েছে,
https://developer.chrome.com/apps/notifications
এবং, গুগল দ্বারা সরকারী ভিডিও ব্যাখ্যা,
Notify.js হ'ল নতুন ওয়েবকিট বিজ্ঞপ্তিগুলির চারপাশে একটি মোড়ক। এটি বেশ ভাল কাজ করে।
http://alxgbsn.co.uk/2013/02/20/notify-js-a-handy-wrapper-for-the-web-notifications-api/
<!DOCTYPE html>
<html>
<head>
<title>Hello!</title>
<script>
function notify(){
if (Notification.permission !== "granted") {
Notification.requestPermission();
}
else{
var notification = new Notification('hello', {
body: "Hey there!",
});
notification.onclick = function () {
window.open("http://google.com");
};
}
}
</script>
</head>
<body>
<button onclick="notify()">Notify</button>
</body>
Notification.requestPermission();
, তখন var notification = new Notification('hello', { body: "Hey there!", });
বিজ্ঞপ্তিটি প্রদর্শিত হবে।