ক্রোম এই জাভাস্ক্রিপ্ট ফাইলটি কার্যকর করতে অস্বীকার করেছে


32

আমার এইচটিএমএল পৃষ্ঠার শিরোনামে:

<script src="https://raw.github.com/cloudhead/less.js/master/dist/less-1.3.3.js"></script>

যখন আমি পৃষ্ঠাটি আমার ব্রাউজারে (গুগল ক্রোম বনাম 27.0.1453.116) লোড করি এবং বিকাশকারী সরঞ্জামগুলি সক্ষম করি তখন তা বলে:

' Https://raw.github.com/cloudhead/less.js/master/dist/less-1.3.3.js ' থেকে স্ক্রিপ্ট কার্যকর করতে অস্বীকৃতি জানায় কারণ এর মাইম টাইপ ('পাঠ্য / প্লেইন') সম্পাদনযোগ্য নয়, এবং কঠোর মাইম টাইম চেকিং সক্ষম করা হয়েছে।

আসলে, স্ক্রিপ্টটি চলবে না। ক্রোম কেন মনে করে যে এটি একটি সরল পাঠ্য ফাইল? এটির স্পষ্টভাবে একটি .jsফাইল এক্সটেনশন রয়েছে।

যেহেতু আমি এইচটিএমএল 5 ব্যবহার করছি type, তাই আমি বৈশিষ্ট্যটি বাদ দিয়েছি, তাই আমি ভেবেছিলাম যে সম্ভবত সমস্যা তৈরি হচ্ছে। তাই আমি যোগ type="text/javascript"করতে <script>ট্যাগ, এবং একই ফলাফল পেয়েছেন। আমি এমনকি চেষ্টা করেছি type="application/javascript"এবং এখনও একই ত্রুটি পেয়েছি।

তারপরে আমি type="text/plain"কৌতুহলের বাইরে এটিকে পরিবর্তন করার চেষ্টা করেছি । ব্রাউজারটি কোনও ত্রুটি ফেরায় নি তবে অবশ্যই জাভাস্ক্রিপ্টটি চালিত হয়নি।

অবশেষে আমি ভেবেছিলাম ফাইলের সময়সীমাগুলি ব্রাউজারটি বন্ধ করে দিচ্ছে। সুতরাং আমার এইচটিএমএল কোডে, আমি সমস্ত পিরিয়ডগুলিকে ইউআরএল পালানোর চরিত্রটিতে পরিবর্তন করেছি %2E:

<script src="https://raw.github.com/cloudhead/less%2Ejs/master/dist/less-1%2E3%2E3.js"></script>

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

লিঙ্কযুক্ত ফাইলটি আসলে একটি জাভাস্ক্রিপ্ট টাইপ বলে আমি কীভাবে ক্রোমকে সনাক্ত করব?

উত্তর:


16

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

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

কাঁচা সাবডোমেনের Content-Type text/plain; charset=utf-8গিথুব হোস্টিং এমআইএম টাইপ হিসাবে ফিরে আসবে যার অর্থ এটি জেএস হিসাবে ব্যবহার করা হবে না বরং কাঁচা পাঠ্য হিসাবে হবে, নীচে একটি উদাহরণ রয়েছে যা ফাইল রেন্ডার করতে আপনাকে সার্ভারের ফিরে আসতে হবে এবং আরও নীচে রয়েছে গিথুব যে কোডটি ফিরিয়ে দিচ্ছে

JS MIME প্রকারকে সমর্থন করে এমন একটি সার্ভার এর মতো দেখতে পাবেন:

Accept-Ranges   bytes
Connection  Keep-Alive
Content-Encoding    gzip
Content-Length  31097
Content-Type    application/javascript
Vary    Accept-Encoding
Request Headersview source
Accept  text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

এবং এটি হ'ল https://raw.github.com/cloudhead/less.js/master/dist/less-1.3.3.jsশিরোনাম হিসাবে (RAW দেখুন) হিসাবে প্রতিক্রিয়া জানায়।

Accept-Ranges   bytes
Connection  Keep-Alive
Content-Disposition inline
Content-Encoding    gzip
Content-Length  41354
Content-Transfer-Encoding   binary
Content-Type    text/plain; charset=utf-8

এর, কি? তাহলে ঠিক কি?
pabram

2
আপনার নিয়ন্ত্রণের মধ্যে সঠিক হোস্ট ব্যবহার করে @ পাব্রামগুলি হ'ল
সাইমন

25

ডিসেম্বর 2018 এডিট করুন

দূষিত ব্যবহারের কারণে RawGit এখন সূর্যাস্তে নেমেছে, সুতরাং তারা পরিবর্তে নিম্নলিখিত পরিষেবাগুলির মধ্যে একটি ব্যবহার করার পরামর্শ দিয়েছেন:


আসল পোস্ট

Rawgithub.com ব্যবহারকারীদের একটি গিটের "কাঁচা" সংস্করণ নিতে এবং <script>ট্যাগগুলিতে ব্যবহারযোগ্য ইউআরএল রূপান্তর করতে দেয় । এটি ব্যবহার করা বেশ সহজ, কেবল প্রথম .কাঁচা ইউআরএল থেকে সরান । উদাহরণস্বরূপ, এটি:

https://raw.github.com/joelambert/CSS-Animation-Store/master/cssanimationstore.js

পরিণত হবে এই

https://rawgithub.com/joelambert/CSS-Animation-Store/master/cssanimationstore.js

এবং তারপরে আপনি এটিকে <script>উপযুক্ত টাইপের সাথে একটি ট্যাগে রেখেছেন । এটা সহজ!

তারা অনুরোধের সংখ্যা সীমাবদ্ধ করে কারণ এটি কেবলমাত্র উন্নয়নের উদ্দেশ্যে, উত্পাদন নয়।

2014 সম্পাদনা

রেন্ডারিয়েন যেমন উল্লেখ করেছেন, কাঁচগিথুব এখন সবেমাত্র কাঁচগিট, তাই নতুন স্ক্রিপ্ট লিঙ্কটি হবে

https://rawgit.com/joelambert/CSS-Animation-Store/master/cssanimationstore.js

6
এটি ঠিক কাঁচিথথ হোম পৃষ্ঠায় বলেছে, এটি উত্পাদন সাইটের জন্য ব্যবহার করবেন না । এছাড়াও এটি কোনও অফিসিয়াল গিথুব সাইট বলে মনে হয় না।
অসন্তুষ্ট গোয়াট

1
আমি কখনও বলিনি যে এটি হয় নি ...
জ্যাচ সসইয়ার

1
দ্রষ্টব্য - এটি এখন Rawgit.com এ পুনর্নির্দেশ করে। এবং এটি কাজ করে!
রিন্ডেরিয়েন

1
এই সাইটটি এখন 403 টি অনুরোধের জন্য দেয় এবং শিরোনাম আপনাকে জানায় যে এটি ডুবে যাচ্ছে।
মাইকেল

@ মিশেল সাদ :( ভাগ্যক্রমে কাঁচাঘাট তার ওয়েবসাইটে কিছু বিকল্প সরবরাহ করেছে, তাই আমি সরবরাহকারীদের সাথে আমার উত্তর আপডেট করেছি
জ্যাচ সাউসিয়ার

6

ফাইল এক্সটেনশন অপ্রাসঙ্গিক, এটি বিষয়বস্তু-টাইপ শিরোনাম যেটি গুরুত্বপূর্ণ, এবং সেই ফাইলটি একটি text/plainসামগ্রীর ধরণের (যা গিথুবের "কাঁচা" দৃশ্যের উদ্দেশ্য) এর সাথে পরিবেশন করা হয় ।

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


8
"আপনার সত্যিকার অর্থে স্থানীয়ভাবে ফাইলটির একটি অনুলিপি আপনার সাইটে ডাউনলোড করা উচিত এবং সেখান থেকে অন্তর্ভুক্ত করা উচিত", কীটি বলছে। এর অর্থ গিটহাব থেকে হোস্ট করা হবে না।
অক্টোপাস

@ অ্যাক্টপাস আমরা এটির স্থানীয় কপি ডাউনলোড এবং সংরক্ষণের জন্য কনফিগার করতে পারি এবং তারপরে স্ক্রিপ্টটি প্রোগ্রামিকভাবে দেখিয়ে দিতে পারি ..
সুদীপ ভান্ডারী

2

এটি কোনও এক্সএসএস আক্রমণ প্রতিরোধ করার জন্য ডিজাইন করা একটি ইচ্ছাকৃত বৈশিষ্ট্য ।

মাইক ওয়েস্ট যেমন ব্যাখ্যা করেছেন , raw.github.comসিডিএন হিসাবে ব্যবহার করবেন না ; ব্যবহার GitHub পেজ পরিবর্তে।

এছাড়াও, পরিষ্কারভাবে সংরক্ষণহীন অক্ষরগুলিকে এনকোডিং করলে ইউআরএলকে কীভাবে আচরণ করা হবে তা পরিবর্তন হবে না change


1

হিসাবে আউট bybe পয়েন্ট যে ভাবে বিষয়বস্তু অন্য কোন অ্যাপ্লিকেশন অথবা সমস্যা ভাবে পাচ্ছেন না আপনার ব্রাউজারে সাধারণ পাঠে পেশ করা হয়েছে - সমস্যাটি হল এই যে প্রায় সব বিষয়বস্তু raw.github.com দ্বারা আপ পরিবেশিত একটি টেক্সট ফাইল হিসাবে নাযিল হয়। অন্যথায় আপনি এমন পরিস্থিতিতে পড়তে পারেন যেখানে .js ফাইল দেখার চেষ্টা করার ফলে ব্রাউজারটি এটি না দেখানোর পরিবর্তে এটি চালানোর চেষ্টা করতে পারে।

তার উপরে, গিথুব বা পৃষ্ঠাগুলি সিথএনব কোনও সিডিএন হওয়ার চেষ্টা করছে না। আপনার সত্যিই হয়:

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