Chrome দেব সরঞ্জাম - জাভাস্ক্রিপ্ট পরিবর্তন করুন এবং পুনরায় লোড করুন


192

কোনও পৃষ্ঠার জাভাস্ক্রিপ্ট পরিবর্তন করা এবং পরিবর্তিত জাভাস্ক্রিপ্ট ফাইলটি পুনরায় লোড না করে পৃষ্ঠাটি পুনরায় লোড করা সম্ভব (এবং এইভাবে পরিবর্তনগুলি হারাতে)?

উত্তর:


216

এটি প্রায় কোনও কাজ, তবে জাভাস্ক্রিপ্ট ফাইলের শুরুতে একটি ব্রেকপয়েন্ট যুক্ত করে আপনি যে কৌশলটি পরিচালনা করতে চান সেটি ব্লক করে আপনি এটি অর্জন করতে পারেন way

তারপরে আপনি যখন পুনরায় লোড করবেন তখন ডিবাগারটি এই ব্রেকপয়েন্টে বিরতি দেবে এবং আপনি উত্সটিতে যে কোনও পরিবর্তন করতে পারবেন ফাইলটি সংরক্ষণ করুন এবং তারপরে পরিবর্তিত কোডের মাধ্যমে ডিবাগারটি চালাতে পারেন।

তবে সবাই যেমন বলেছে, পরবর্তী পুনরায় লোড পরিবর্তনগুলি চলে যাবে - কমপক্ষে এটি আপনাকে কিছুটা সংশোধিত জেএস ক্লায়েন্টের দিক দিয়ে চালায়।


10
আমি যে উত্তরটি সন্ধান করছিলাম এটি সন্ধান করে। জাভাস্ক্রিপ্ট কোডের প্রথম লাইনে একটি ব্রেকপয়েন্ট রাখুন। তারপরে যখন বিরতি ঘটে তখন আপনার সংশোধিত কোডটি সেখানে আটকে দিন। বিরতি দিন এবং এটি কাজ করে!
নিকোলাস ব্লেজেন

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

দুর্ভাগ্যক্রমে এটি এখনও একটি দুর্দান্ত সমাধান নয়। আপনার যুক্ত করা কোনও কোড কনসোলে উপলভ্য নয়। যেমন var foo = 'bar'কোনও স্ক্রিপ্টে যুক্ত করা fooকনসোলে প্রকাশিত হয় না ।
AgmLauncher

বাহ্যিক স্ক্রিপ্টগুলি কী ঘটবে? ব্রেকপয়েন্টগুলি এগুলি থেকে অদৃশ্য হয়ে গেছে বলে মনে হচ্ছে।
ওলেহজিনিয়াক

এটি যতক্ষণ কাজ করে আপনি বহিরাগত লোড হওয়া স্ক্রিপ্টগুলিকে সংশোধন করতে চান, ততক্ষণ ক্রোম বা ফায়ারফক্স ডিবাগিং সরঞ্জামগুলি ইনলাইন জাভাস্ক্রিপ্টটি সংশোধন করার অনুমতি দেয় না, এমনকি যদি এর প্রয়োগটি ব্রেকপয়েন্টের সাথে বাধা হয়ে যায়।
মারেক 16

147

দুর্দান্ত খবর, ফিক্সটি মার্চ 2018 এ আসছে, এই লিঙ্কটি দেখুন: https://developers.google.com/web/updates/2018/01/devtools

"স্থানীয় ওভাররাইডগুলি আপনাকে দেবটুলগুলিতে পরিবর্তন করতে দেয় এবং সেই পরিবর্তনগুলি পৃষ্ঠা লোড জুড়ে রাখতে দেয় ly পূর্বে, পৃষ্ঠাটি পুনরায় লোড করার সময় আপনি ডিভটুলগুলিতে যে কোনও পরিবর্তন করেছিলেন তা হারিয়ে যাবে। স্থানীয় ওভাররাইডগুলি বেশিরভাগ ফাইলের ধরণের জন্য কাজ করে

কিভাবে এটা কাজ করে:

  • আপনি একটি ডিরেক্টরি নির্দিষ্ট করেছেন যেখানে ডিভলটুলের পরিবর্তনগুলি সংরক্ষণ করা উচিত। আপনি যখন ডিভুলগুলিতে পরিবর্তন করেন, ডেভটুলগুলি আপনার ডিরেক্টরিতে পরিবর্তিত ফাইলের একটি অনুলিপি সংরক্ষণ করে।
  • আপনি পৃষ্ঠাটি পুনরায় লোড করার সময়, ডিভটুলগুলি নেটওয়ার্ক সংস্থানের পরিবর্তে স্থানীয়, পরিবর্তিত ফাইল পরিবেশন করে।

স্থানীয় ওভাররাইড সেট আপ করতে:

  1. উত্স প্যানেল খুলুন।
  2. ওভাররাইড ট্যাবটি খুলুন।
  3. ওভাররাইড সেটআপ ক্লিক করুন।
  4. আপনি কোন ডিরেক্টরিতে আপনার পরিবর্তনগুলি সংরক্ষণ করতে চান তা নির্বাচন করুন।
  5. আপনার ভিউপোর্টের শীর্ষে, ডিভটুলগুলি ডিরেক্টরিতে পড়তে এবং লেখার অ্যাক্সেস দিতে মঞ্জুর করুন ক্লিক করুন।
  6. আপনার পরিবর্তনগুলি করুন। "

আপডেট (মার্চ 19, 2018): এটি সরাসরি, বিস্তারিত ব্যাখ্যা এখানে রয়েছে: https://developers.google.com/web/updates/2018/01/devtools#overrides


12
ক্রোম 65 প্রকাশের সাথে সাথে এটি নতুন স্বীকৃত উত্তর হওয়া উচিত। (ক্রোম ক্যানেরিতে কার্যকারিতা ইতিমধ্যে উপলব্ধ ছিল)
মাইক্রোস

1
আমার কাছে "a.js? Ver = 1.2" ফাইল রয়েছে। এটি "a.js" হিসাবে ওভাররাইড ফোল্ডারে সংরক্ষিত হয়েছে এবং ওভাররাইড হিসাবে লোড হয় না। প্যারামিটার থাকলে এটি কাজ করে না? এখানে কি কাজ আছে?
রাল্ফ

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

61

রিসোর্স ওভাররাইড এক্সটেনশান আপনাকে ঠিক যে কাজ করতে অনুমতি দেয়:

  • আপনি যে url প্রতিস্থাপন করতে চান তার জন্য একটি ফাইল বিধি তৈরি করুন
  • এক্সটেনশনে জেএস / সিএসএস / ইত্যাদি সম্পাদনা করুন
  • যতবার ইচ্ছা পুনরায় লোড করুন :)

1
কৌতুকটি আমাকে ধন্যবাদ দিয়েছিল। আমি এই এক্সটেনশনের আগে উইন্ডোজের জন্য ফিডলার ব্যবহার করতাম। এখনই আমি যে কোনও প্ল্যাটফর্মে রিমোট ফাইলগুলি ডিবাগ করতে পারি।
আহমদ আল্ফাই

আমি সফটওয়্যারটি বুঝতে পারি না, কেউ কীভাবে এটি সেট আপ করতে হবে তা আমাকে ব্যাখ্যা করতে পারে?
কালো

0

আমি জানি এটি সুনির্দিষ্ট প্রশ্নের (ক্রোম বিকাশকারী সরঞ্জাম) উত্তোলনকারী নয় তবে আমি এই সাফল্যটি সফলভাবে ব্যবহার করছি: http://www.telerik.com/fiddler

(বেশ কিছু ওয়েব ডেভস ইতিমধ্যে এই সরঞ্জাম সম্পর্কে জানে)

  1. স্থানীয়ভাবে ফাইলটি সংরক্ষণ করুন
  2. প্রয়োজনীয় হিসাবে সম্পাদনা করুন
  3. লাভ!

এখানে চিত্র বর্ণনা লিখুন

সম্পূর্ণ দস্তাবেজ: http://docs.telerik.com/fiddler/KnowledgeBase/OutoResponder

পুনশ্চ. আমি বরং এটি ক্রোমে একটি পতাকা হিসাবে প্রয়োগ করা উচিত, এখন এটি preserve after reloadকরতে পারব না, ফোরাম এবং আলোচনা গোষ্ঠীগুলি কর্পোরেট নেটওয়ার্কে ব্লক করা হয়েছে :)


-8

হ্যাঁ, কেবলমাত্র ডি-সরঞ্জামগুলিতে "উত্স" ট্যাবটি খুলুন এবং আপনি যে স্ক্রিপ্টটি পরিবর্তন করতে চান তাতে নেভিগেট করুন। সরাসরি ডিভাইস উইন্ডোতে আপনার সামঞ্জস্য করুন এবং তারপরে স্ক্রিপ্টটি সংরক্ষণ করতে ctrl + s টিপুন - জেনে রাখুন আপনি পুরো পৃষ্ঠাটি রিফ্রেশ না করা পর্যন্ত নতুন জেএস ব্যবহার করা হবে।


ক্রোমের কোন সংস্করণ? হ্যাঁ, আপনি কোনও স্ক্রিপ্টের বিষয়বস্তু "সম্পাদনা" করতে পারেন (যদিও পৃষ্ঠায় নিজেই স্ক্রিপ্ট নেই) তবে পরিবর্তনের কোনও প্রভাব নেই এবং ctrl-s / save কেবল স্থানীয়ভাবে স্ক্রিপ্টটি সংরক্ষণ করুন (সিআরটিএল-হিসাবে যেমন মূল উইন্ডো)।
ডেভিডকনরাদ

আমি সংস্করণ 34 ব্যবহার করি - যখন আমি কোনও স্ক্রিপ্ট সম্পাদনা করি যেমন একটি ক্লিক ইভেন্টে কনসোল.লগ যুক্ত করুন (ইতিমধ্যে বন্ড) এবং সংরক্ষণ করুন, নিম্নলিখিত বার্তাটি কনসোল আউটপুট দেয়: "পুনরায় সংশোধন এবং আপডেট সফল হয়েছে" " - তারপর. আমি যখন ক্লিক ইভেন্টটি ট্রিগার করি তখন কনসোলে লগ-আউটপুট পাই।
জ্যাকবক্স

আপনি পৃষ্ঠাটি পুনরায় লোড করার সময় এটি স্থানীয়ভাবে পরিবর্তিত ফাইল ব্যবহার করা হবে না বলে মনে হয়।
জ্যাক উইলসন

32
আপনি আমাকে "হ্যাঁ" এ পেয়েছিলেন ... তবে তারপরে আপনি আমাকে হারিয়ে ফেলেন "যতক্ষণ না আপনি পুরো পৃষ্ঠাটি রিফ্রেশ করবেন" ....
শীতল ব্লু
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.