আমি আমার প্রকল্পের জন্য ভ্যুজেএস এবং লারাভেল ব্যবহার করছি। এই সমস্যাটি ইদানীং দেখাতে শুরু করেছে এবং এটি পুরানো গিট শাখাগুলিতেও প্রদর্শিত হয়।
এই ত্রুটিটি কেবল ক্রোম ব্রাউজারে দেখায়।
আমি আমার প্রকল্পের জন্য ভ্যুজেএস এবং লারাভেল ব্যবহার করছি। এই সমস্যাটি ইদানীং দেখাতে শুরু করেছে এবং এটি পুরানো গিট শাখাগুলিতেও প্রদর্শিত হয়।
এই ত্রুটিটি কেবল ক্রোম ব্রাউজারে দেখায়।
উত্তর:
আমি Chrome এ ইনস্টল করা সমস্ত এক্সটেনশান অক্ষম করেছি - আমার জন্য কাজ করে। আমার এখন ত্রুটি ছাড়াই স্পষ্ট কনসোল রয়েছে।
আপনি যদি কোনও এক্সটেনশান বিকাশকারী হন যিনি এখানে ত্রুটি সৃষ্টি করে থামানোর চেষ্টা করছেন আপনার পথটি এখানে গুগল করেছিলেন:
ইস্যুটি সিওআরবি নয়, যেমন অবরুদ্ধ সিওআর ম্যানিফেস্টের মতো সতর্কতা -
ক্রস-অরিজিন রিড ব্লকিং (সিওআরবি) এমআইএমআই টাইপের পাঠ্য / এইচটিএমএল সহ ক্রস-আদি প্রতিক্রিয়া https://www.example.com/example.html কে অবরুদ্ধ করেছে । আরও তথ্যের জন্য https://www.chromestatus.com/feature/5629709824032768 দেখুন ।
সমস্যাটি সম্ভবত রানটাইম.সেন্ডমেসেজের জন্য ভুলভাবে ছড়িয়ে পড়া অ্যাসিঙ্ক প্রতিক্রিয়া। এমডিএন যেমন বলে :
একটি অ্যাসিনক্রোনাস প্রতিক্রিয়া পাঠাতে, দুটি বিকল্প রয়েছে:
- ইভেন্ট শ্রোতা থেকে সত্য ফিরে। এটি শ্রোতার প্রত্যাবর্তনের পরে সেন্ডআরস্পোন ফাংশনটিকে বৈধ রাখে, যাতে আপনি পরে এটি কল করতে পারেন।
- ইভেন্ট শ্রোতার কাছ থেকে একটি প্রতিশ্রুতি ফেরান, এবং আপনার প্রতিক্রিয়া হলে সমাধান করুন (বা কোনও ত্রুটির ক্ষেত্রে এটি প্রত্যাখ্যান করুন)।
আপনি যখন একটি অ্যাসিঙ্ক প্রতিক্রিয়া প্রেরণ করেন তবে এই প্রক্রিয়াগুলির মধ্যে কোনওটি ব্যবহার করতে ব্যর্থ হন, তখন সরবরাহ করা sendResponse
যুক্তিটি sendMessage
সুযোগের বাইরে চলে যায় এবং ত্রুটি বার্তাটি বলে ঠিক এর ফলস্বরূপ: প্রতিক্রিয়া হওয়ার আগে আপনার বার্তা পোর্ট (বার্তাটি উত্তীর্ণকারী যন্ত্রপাতি) বন্ধ হয়ে যায় লাভ করেন।
ওয়েবেক্সটেনশন-পলফিল লেখকরা জুন 2018 এ ইতিমধ্যে লিখেছেন ।
সুতরাং নীচের লাইন, যদি আপনি দেখেন আপনার এক্সটেনশানটি এই ত্রুটিগুলির কারণ ঘটায় - আপনার সমস্ত onMessage শ্রোতাদের ঘনিষ্ঠভাবে পরীক্ষা করুন। তাদের মধ্যে সম্ভবত কিছু প্রতিশ্রুতি ফিরিয়ে দেওয়া শুরু করতে হবে (এ্যাসিঙ্ক হিসাবে তাদের চিহ্নিত করা যথেষ্ট হওয়া উচিত)। [ধন্যবাদ @ ভিডিজেন]
async/await
আপনার ব্যাকগ্রাউন্ড শ্রোতাদের কলব্যাকের জন্য ব্যবহার করবেন না । এটিই আমার পক্ষে ব্যর্থ হয়েছিল, আমি async
আমার await
কাঠামোটিকে then
কাঠামোর কোডে সরিয়ে নিয়েছি এবং এটি এখন কার্যকর হয়।
return true;
আমার ক্রোম.আরুনটাইম.অনমেসেজ.অ্যাডলিস্টনার () ফাংশনের নীচে যুক্ত করা এবং সমস্যাটি সমাধান করা হয়েছিল! আমি $.ajax
এই ফাংশনের অভ্যন্তরে jQuery এর ব্যবহার করছি যার কারণেই আমার এই ঠিক করা দরকার need
আপনি যদি ক্রোম: // এক্সটেনশানস / এ যান , আপনি একবারে প্রতিটি এক্সটেনশান একবারে টগল করতে পারেন এবং দেখতে পারেন কোনটি আসলে সমস্যাটি ট্রিগার করছে।
একবার আপনি এক্সটেনশনটি টগল বন্ধ করার পরে, পৃষ্ঠাটি রিফ্রেশ করুন যেখানে আপনি ত্রুটিটি দেখছেন এবং মাউসটি চারপাশে টানুন, বা ক্লিক করুন। মাউস ক্রিয়া হ'ল জিনিস যা ত্রুটি ছুঁড়ে ফেলেছে।
সুতরাং আমি কোন এক্সটেনশানটি আসলে সমস্যাটি সৃষ্টি করেছিল এবং এটি অক্ষম করে তা চিহ্নিত করতে সক্ষম হয়েছি।
Google Publisher Toolbar
ভিভালদীর অধীনে ছিলvivaldi://extensions
পোস্টটি বরং পুরানো এবং ক্রোম এক্সটেনশান বিকাশের সাথে ঘনিষ্ঠভাবে সম্পর্কিত নয়, তবে এটি এখানে থাকুক।
কলব্যাকের বার্তায় প্রতিক্রিয়া জানাতে আমার একই সমস্যা হয়েছিল। সমাধানটি হ'ল ব্যাকগ্রাউন্ড বার্তা শ্রোতাদের মধ্যে সত্য ফিরে আসা ।
এখানে ব্যাকগ্রাউন্ড.জেএস এর সহজ উদাহরণ । এটি পপআপ.জেএস এর যে কোনও বার্তার প্রতিক্রিয়া জানায়।
chrome.runtime.onMessage.addListener(function(rq, sender, sendResponse) {
// setTimeout to simulate any callback (even from storage.sync)
setTimeout(function() {
sendResponse({status: true});
}, 1);
// return true; // uncomment this line to fix error
});
এখানে পপআপ.জেএস , যা পপআপে বার্তা প্রেরণ করে। আপনি ব্যাকগ্রাউন্ড.জেএস ফাইলে "সত্য ফেরান" লাইনটি মন্তব্য না করা পর্যন্ত আপনি ব্যতিক্রম পাবেন ।
document.addEventListener("DOMContentLoaded", () => {
chrome.extension.sendMessage({action: "ping"}, function(resp) {
console.log(JSON.stringify(resp));
});
});
manifest.json , শুধু ক্ষেত্রে :) অ্যালার্ম অনুমতি বিভাগে মনোযোগ দিন!
{
"name": "TestMessages",
"version": "0.1.0",
"manifest_version": 2,
"browser_action": {
"default_popup": "src/popup.html"
},
"background": {
"scripts": ["src/background.js"],
"persistent": false
},
"permissions": [
"alarms"
]
}
return false
দরকারী হবে?
This function becomes invalid when the event listener returns, unless you return true
। অবৈধ মানে কী? মনে হয় না যে প্রতিবারই এটি কোনও বার্তা পেয়েছে তা তৈরি করা হবে?
ক্রোম in৩ এ এই ত্রুটিটি ডিবাগ করতে এখানে আসছেন তাদের জন্য, একটি সম্ভাবনা হ'ল ক্রম wards৩ এর পরে সামগ্রী স্ক্রিপ্টগুলিতে ক্রস-আর্জি অনুরোধগুলি অস্বীকার করে।
আরও পঠন:
এটি বহু ক্রোম এক্সটেনশান লেখককে প্রভাবিত করে, যাদের এক্সটেনশানগুলি ঠিক করার জন্য এখন স্ক্যাম্বল করা দরকার কারণ ক্রোম মনে করে যে "আমাদের ডেটা দেখায় যে বেশিরভাগ এক্সটেনশানগুলি এই পরিবর্তনের দ্বারা প্রভাবিত হবে না।"
(এটির সাথে আপনার অ্যাপ্লিকেশন কোডের কোনও সম্পর্ক নেই)
আপডেট : আমি সিওআরএস সমস্যাটি স্থির করেছি তবে আমি এখনও এই ত্রুটিটি দেখতে পাচ্ছি। আমি সন্দেহ করি এটি এখানে ক্রোমের দোষ।
এই ত্রুটিটি আপনার ক্রোম এক্সটেনশনের মধ্যে সাধারণত ঘটে থাকে।
আমি এই ওয়ান-ক্লিক এক্সটেনশন ডিজেবলার ইনস্টল করার পরামর্শ দিচ্ছি , আমার সমস্ত এক্সটেনশানগুলি দ্রুত অক্ষম / সক্ষম করতে আমি এটি কীবোর্ড শর্টকাট COMMAND (⌘)+ SHIFT (⇧)+ দিয়ে ব্যবহার করি D।
এক্সটেনশানগুলি অক্ষম হয়ে গেলে এই ত্রুটি বার্তাটি চলে যায়।
সালাম ✌️
আপনি সঠিক বাক্য গঠন ব্যবহার করছেন তা নিশ্চিত করুন।
এটি শোনার পরে আমাদের সেন্ডম্যাসেজ () পদ্ধতিটি ব্যবহার করা উচিত ।
বিষয়বস্তুর স্ক্রিপ্ট.জেএস এর একটি সাধারণ উদাহরণ এখানে এটি অ্যাপ.জেএস-তে অনুরোধ প্রেরণ করে ।
contentScript.js
chrome.extension.sendRequest({
title: 'giveSomeTitle', params: paramsToSend
}, function(result) {
// Do Some action
});
app.js
chrome.extension.onRequest.addListener( function(message, sender,
sendResponse) {
if(message.title === 'giveSomeTitle'){
// Do some action with message.params
sendResponse(true);
}
});
আমার জন্য এটি ছিল Auto Tab Discard
, যা ত্রুটিটি পিন করা ট্যাবগুলিতে ফেলে দেয়। আমি একটি বাগ রিপোর্ট তৈরি করেছি, https://github.com/rNeomy/auto-tab-discard/issues/101 ।
আমার ক্ষেত্রে এটি আমার নিজের পৃষ্ঠা উত্সে একটি ব্রেকপয়েন্ট ছিল। যদি আমি ব্রেকপয়েন্টটি সরিয়ে বা অক্ষম করি তবে ত্রুটিটি পরিষ্কার হয়ে যাবে।
ব্রেকপয়েন্টটি রেন্ডারিং কোডের একটি মাঝারি জটিল জটিল অংশ ছিল। পৃষ্ঠার বিভিন্ন অংশের অন্যান্য ব্রেকপয়েন্টগুলিতে এর কোনও প্রভাব ছিল না। আমি কোনও সাধারণ পরীক্ষার কেস কাজ করতে সক্ষম হইনি যা সর্বদা এই ত্রুটিটি ট্রিগার করে।