ক্রোম নেটিভ বিজ্ঞপ্তিগুলি সক্রিয় করুন


11

আমি উবুন্টুতে গুগল ক্রোম (বা ক্রোমিয়াম) ব্যবহার করে কাজ করার জন্য স্থানীয় বিজ্ঞপ্তি পাওয়ার চেষ্টা করছি, তবে এখনও ভাগ্য নেই।

আমি ইতিমধ্যে যে জিনিসগুলি চেষ্টা করেছি:

এবং আমি মনে করি আমি আরও একটি এক্সটেনশন চেষ্টা করেছি কিন্তু এর নাম মনে নেই remember

এদের কেউই কাজ করে না। আমি নিজেই ক্রোমের সাধারণ বিজ্ঞপ্তিগুলি পেতে থাকি।

আমি উবুন্টু 14.04 x64 এ গুগল ক্রোম 34.0.1847.137 ব্যবহার করছি।

কেউ কীভাবে আমাকে এই কাজটি করবেন তা বলতে পারেন?


1
গুগল ক্রোম স্ট্যাবলের সর্বশেষতম সংস্করণ (এখনকার হিসাবে 59) সক্ষম করুন নেটিভ নোটিফিকেশন পতাকাটিকে সমর্থন করে, যা জিনোম শেলের উপর পুরোপুরি সঠিকভাবে কাজ করে। এটি মাধ্যমে উপলব্ধ chrome://flags/#enable-native-notifications
ইমি 21

উত্তর:


10

LibNotify এর জন্য, এটি ইনস্টল করে এমন JSON ফাইলের ভুল এক্সটেনশন আইডি রয়েছে। সঠিকটিকে এক্সটেনশন আইডি আপডেট করা এটি ঠিক করে দেয়।

যান .config/google-chrome/NativeMessagingHosts(Google Chrome এর জন্য) অথবা .config/chromium/NativeMessagingHosts(ক্রোমিয়াম জন্য)। ফোল্ডারে JSON ফাইলটি খুলুন, এবং লক্ষ্য করুন যে allowed_originsবিভাগে এটি এক্সটেনশন আইডির অনুমতি দেয় gphchdpdmccpjmpiilaabhpdfogeiphf। যাইহোক, এক্সটেনশান আইডি (আমার ক্ষেত্রে অন্তত, কিন্তু এটা সবার জন্য সমান হওয়া উচিত) আসলে epckjefillidgmfmclhcbaembhpdeijg

এটি ঠিক করার জন্য, হয় ভুল এক্সটেনশন আইডিটি সঠিক একের সাথে প্রতিস্থাপন করুন, অথবা একটি কমা এবং এর পরে সঠিক এক্সটেনশন আইডি যুক্ত করুন। আমি ব্যক্তিগতভাবে পরবর্তী বিকল্পটি বেছে নিয়েছি এবং আমার জেএসওএন ফাইলটি দেখতে কেমন তা এখানে রয়েছে:

{
  "name": "com.initiated.chrome_libnotify_notifications",
  "description": "Libnotify Notifications in Chrome",
  "path": path to the location of install.sh,
  "type": "stdio",
  "allowed_origins": [
    "chrome-extension://gphchdpdmccpjmpiilaabhpdfogeiphf/",
    "chrome-extension://epckjefillidgmfmclhcbaembhpdeijg/"
  ]
}

সম্পাদনা: এটিই কেবল পরিবর্তন করার দরকার নেই। এক্সটেনশনটি ওয়েবকিট বিজ্ঞপ্তিগুলির উপর নির্ভর করে, যা ক্রোম (আইওএম) এবং সম্ভবত অন্যান্য ব্রাউজারগুলিতে এইচটিএমএল 5 বিজ্ঞপ্তির পক্ষে অবহিত এবং সরানো হয়েছিল। অতএব, google-chrome/default/Extensions/epckjefillidgmfmclhcbaembhpdeijg/1.0_0/notify_hook.jsআপডেট করা প্রয়োজন। আমি এটির জন্য একটি শর্ট স্ক্রিপ্ট লিখেছি, তবে এটি বিজ্ঞপ্তি প্রদর্শন ব্যতীত বেশিরভাগ মানকে ভেঙে দেয়। নিম্নলিখিত ফাইলের সাথে ফাইলের সমস্ত কিছু প্রতিস্থাপন করুন (এখনও ব্যবহার করা সাইটগুলির জন্য বেসিক সমর্থন যুক্ত করা হয়েছে window.webkitNotificationsএবং (আশা করি) উন্নত চিত্র সমর্থন) (অনুমতিগুলি সমর্থন যোগ করা হয়েছে):

OriginalNotification = Notification

Notification = function(title, properties) {
        if (Notification.permission != "granted") {
                if (this.onError) {
                        this.onError();
                }
                return;
        }
        if (!properties.hasOwnProperty("body")) {
                properties["body"] = "";
        }
        if (!properties.hasOwnProperty("icon")) {
                properties["icon"] = "";
        }
        if (properties["icon"]) {
                properties["icon"] = getBaseURL() + properties["icon"];
        }
        document.getElementById('libnotify-notifications-transfer-dom-area').innerText = JSON.stringify({title:title, body:properties["body"], iconUrl:properties["icon"]});
        var event = document.createEvent("UIEvents");
        event.initUIEvent("change", true, true);
        document.getElementById('libnotify-notifications-transfer-dom-area').dispatchEvent(event);
        if (this.onShow) {
                this.onShow();
        }
};

Object.defineProperty(Notification, "permission", {
        get: function() {
                return OriginalNotification.permission;
        },
        set: undefined
});

Notification.requestPermission = function(callback) {
        OriginalNotification.requestPermission(callback);
}

window.webkitNotifications = {}

window.webkitNotifications.checkPermission = function() {
        return 0;
}

window.webkitNotifications.createNotification = function(image, title, body) {
        if (image) {
                image = getBaseURL() + image;
        }
        document.getElementById('libnotify-notifications-transfer-dom-area').innerText = JSON.stringify({title:title, body:body, iconUrl:image});
        var event = document.createEvent("UIEvents");
        event.initUIEvent("change", true, true);
        document.getElementById('libnotify-notifications-transfer-dom-area').dispatchEvent(event);
}

function getBaseURL() {
           return location.protocol + "//" + location.hostname + 
                   (location.port && ":" + location.port) + "/";
}

1
এটি কাজ করছে এবং সিপিইউ ব্যবহারটি নিজেই সমাধান হয়ে গেছে বলে মনে হচ্ছে। তবে, আমি যে অ্যাপ্লিকেশনটি চাইছি ( ওয়েবগ্রাম ) তা এখনও কাজ করে না । তবে আপনার উত্তর এবং প্রচেষ্টার জন্য আপনাকে অনেক ধন্যবাদ এবং আমি ক্রোমের জন্য দেশীয় বিজ্ঞপ্তিগুলি সমর্থন করার জন্য অপেক্ষা করব!
লুই ম্যাথিজসেন

দয়া করে নীচে আমার মন্তব্য দেখুন, ক্রোম 35
Konstigt

@ কন্সটিগ্ট: বিজ্ঞপ্তিগুলি কাজ করে না এমন নয়; এটি হ'ল বিজ্ঞপ্তিগুলি দেশীয় লিনাক্স নোটিফিকেশন ছিল না এবং বিদ্যমান সমাধানগুলি (উপরের কমপক্ষে প্রথম দুটি লিঙ্ক) অবচিত পদ্ধতি ব্যবহার করেছে। (আমি ব্যক্তিগতভাবে এর জন্য ক্রোমকে (আইওএম) দোষ দিই না))
সাইয়ারকোট 895

আমার কোনও .config/chromium/NativeMessagingHostsফোল্ডার নেই
আম্পিরস্কি

3
ম্যান, আপনার সত্যই আপনার নিজের প্লাগইন লিখতে হবে এবং এটি গুগল স্টোরে পোস্ট করা উচিত। আপনি যদি নিবন্ধনের জন্য 5 paying প্রদানের জন্য আগ্রহী না হন তবে আমি এটি আপনার জন্য করতে পারি।
Błażej মিশালিক

0

এখন এটি ক্রোম 35 ইনস্টল করার পরে ডিফল্টভাবে ইউনিটিতে কাজ করে

http://www.webupd8.org/2014/05/google-chrome-stable-35-for-linux.html


6
সেগুলি ইউনিটির বিজ্ঞপ্তি নয়। এটি ক্রোমের বিজ্ঞপ্তিগুলির জন্য একটি নতুন ত্বক।
লুই ম্যাথিজসেন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.