ওভাররাইড ইন্ট্রানেট সামঞ্জস্যতা মোড IE8


200

ডিফল্টরূপে IE8 ইন্ট্রানেট ওয়েবসাইটগুলিকে সামঞ্জস্য মোডে বাধ্য করে। আমি মেটা শিরোনামটি আইই 8 তে পরিবর্তন করার চেষ্টা করেছি, তবে এটি মেটা শিরোনামকে স্বীকৃতি দেয় না এবং কেবল ব্রাউজার সেটিংস ব্যবহার করে। কেউ কীভাবে এটি অক্ষম করতে জানে?


1
স্ট্যাকওভারফ্লো.com / জিজ্ঞাসা / ২74৪৪৮৫৫ / / দিয়ে চেষ্টা করুন , যা আমার পক্ষে কাজ করেছিল।
ডেভিড কলার

2
এটি আপনার পৃষ্ঠাগুলির প্রধান ট্যাগের মধ্যে যুক্ত করুন: <মেটা http-برابر = "এক্স-ইউএ-সামঞ্জস্যপূর্ণ" সামগ্রী = "আইই = 8" /> (আপনি চান আইই সংস্করণটি লক্ষ্য করে) want দ্রষ্টব্য, এটি ব্রাউজারটি তার সামঞ্জস্যতা মোডে (ব্রাউজার মোড নামে পরিচিত) বলেছে তা পরিবর্তিত করবে না, তবে পৃষ্ঠাটি IE8 মান মোডে রেন্ডার করবে। এরপরে আপনার "IE8 বা তার পরে আপনার চেকিংয়ের জন্য" ট্রিিডেন্ট "পরীক্ষা করতে জাভাস্ক্রিপ্ট পরিবর্তন করতে হবে। দেখুন: ব্লগস.এমএসডিএন
n00b

@ n00b - এটি আমার সাইটে কোনও প্রভাব ফেলবে না।
পিট

আমার বুদ্ধিটি হ'ল মেটা ট্যাগ হ'ল হেড ট্যাগের সাথে সাথেই। আমি লক্ষ্য করেছি যে কিছু স্ক্রিপ্ট সূচি 0 তে মাথা ;োকানো হবে; সুতরাং, মেটা ট্যাগ আর মাথার পরে হবে না।
এমিসিকো

উত্তর:


224

ইন্ট্রানেটে সামঞ্জস্যতা মোড ওভাররাইড করা সম্ভব।

আইআইএসের জন্য, কেবলমাত্র ওয়েবকনফিগটিতে নীচের কোডটি যুক্ত করুন। আইই 9 নিয়ে আমার জন্য কাজ করেছেন।

<system.webServer>
  <httpProtocol>
    <customHeaders>
      <clear />
      <add name="X-UA-Compatible" value="IE=edge" />
    </customHeaders>
  </httpProtocol>
</system.webServer> 

অ্যাপাচি সমতুল্য:

Header set X-UA-Compatible: IE=Edge

এবং nginx জন্য:

add_header "X-UA-Compatible" "IE=Edge";

এবং এক্সপ্রেস.জেএস এর জন্য:

res.set('X-UA-Compatible', 'IE=Edge')

20
এটা সঠিক উত্তর. মেটা ট্যাগটিতে কিছু নেই, তবে প্রতিক্রিয়া শিরোনামটি কাজ করে। এখানে আরও তথ্য: social.msdn.microsoft.com/ Forums
is

3
একমত। এটি সঠিক উত্তর হওয়া উচিত কারণ এটি কেবলমাত্র এই ওয়েবসাইটের জন্য ইন্ট্রানেট সেটিংকে সঠিকভাবে ওভাররাইড করে।
এনরিকুইন

9
(স্পষ্ট করতে: এটি ডকুমেন্ট মোডের জন্য কাজ করে তবে ব্রাউজার মোডে নয়)
কোডুলাইক

21
এটি সঠিক উত্তর নয়। এই উত্তরটি দস্তাবেজ মোডকে পরিবর্তন করে এটি গুরুত্বপূর্ণ "ব্রাউজার মোড" পরিবর্তন করে না। আমি এখনও এই সমস্যার সমাধান খুঁজছি for
বিকাশকারী

4
এটি সঠিক উত্তর নয়, কারণ এটি। নেট নির্দিষ্ট (এমনকি সত্যকে স্বীকার না করে)।
32

84

মাইকেল ইরিগয়েন সঠিক তবে এটি কিছুটা জটিল ...

আপনি যদি পল আইরিশ-এর দুর্দান্ত বয়লারপ্লেট ব্যবহার করেন তবে আপনার নীচের মতো কিছু থাকবে: -

<!doctype html>
<!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en"> <![endif]-->
<!--[if IE 7]>    <html class="no-js ie7 oldie" lang="en"> <![endif]-->
<!--[if IE 8]>    <html class="no-js ie8 oldie" lang="en"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]-->
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

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

সুতরাং নিম্নলিখিত কোডটি কাজ করবে:

<!doctype html>
<html class="no-js" lang="en">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

মূলত আপনি যদি <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">বিবৃতি দেওয়ার আগে শর্তাধীন আই মন্তব্যগুলিকে ট্রিগার করেন তবে আপনি যদি ডিফল্ট সেটিংসের সাথে IE9 চালাচ্ছেন তবে আপনাকে ইন্ট্রানেট পরিবেশে সামঞ্জস্যতা মোডে বাধ্য করা হবে ।

আপডেট - সংযোজনীয় তথ্য: তবে মনে রাখবেন যে এমন একটি কৌশল আছে যা এইচটিএমএল 5 টি ফোটানো কাজ করবে:

DOCTYPE এর আগে একটি এমটিপি, শর্তসাপেক্ষ মন্তব্য যুক্ত করুন । এবং এটিও নোট করুন, যখন আপনি এটি করেন , আপনি পৃষ্ঠার এইচটিএমএল 5-বৈধকেও নির্দেশের চারপাশে শর্তযুক্ত মন্তব্যগুলি যুক্ত করতে পারেন । উদাহরণস্বরূপ:X-UA-Compatible

<!--[if HTML5]><![endif]-->
<!doctype html>
<!--[if the boilerplate conditionals goes here<![endif]-->
<head>
<!--[if !HTML5]>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<![endif]-->

এই উত্তরের প্রথম অংশটি দ্বারা অনুপ্রাণিত একটি ব্লগ পোস্টে আরও বিশদ রয়েছে। এবং উপায় দ্বারা: হিসাবে যে ব্লগ পোস্টে উল্লেখ করা হয়েছে, এক একটি সঙ্গে DOCTYPE আগে শর্তসাপেক্ষ মন্তব্য প্রতিস্থাপন করতে পারেন আধা শর্তাধীন সঙ্গে মন্তব্য কোন শর্ত : <!--[]-->। সুতরাং, যেমন:

<!--[]-->
<!doctype html>
<!--[if the boilerplate conditionals goes here<![endif]-->
<head>
<!--[if !HTML5]>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<![endif]-->

তবে মনে রাখবেন যে পরবর্তী রূপটি ( <--[]--><!DOCTYPE html>) যেমনটি ব্যাখ্যা করা হয়েছে যেমন অন্য একটি প্রশ্নের উত্তরের মাধ্যমে , ভালভাবে জানা সমস্যাটি এটি সক্রিয় করবে - লিগ্যাসি আই ভার্সনের জন্য X-UA-Compatioble(আইডি 7 এবং আই 6 পড়ুন) সমর্থন ছাড়াই - ব্রাউজারটিকে এর মধ্যে আনবে quirks-মোড।


এটি আমার জন্য সমস্যার সমাধান করেনি। তবে, এফওয়াইআই, শিরোনাম ডিআইডি হিসাবে "এক্স-ইউএ-সামঞ্জস্যপূর্ণ" যুক্ত করে সমস্যার সমাধান করুন!
স্কট রিপ্পি

34

আপনি যদি "সরঞ্জামগুলি" মেনু নীচে টানেন এবং নীচের অংশে ডায়ালগটিতে "সামঞ্জস্যতা দৃশ্য সেটিংস" চয়ন করেন তবে একটি সেটিংস "সামঞ্জস্যতা মোডে ইন্ট্রানেট সাইটগুলি প্রদর্শন করুন"। যদি আপনি এটিটি চেক করেন যা সমস্যার সমাধান করবে এবং আই ডক্টইপিই এর ভিত্তিতে মোডটি ব্যবহার করবে।


19
আমি ডাউনভোট করি নি, তবে আমি অনুমান করব কারণ এটি আপনি ব্যবহারকারীর দৃষ্টিকোণ থেকে উত্তর দিয়েছেন (কোনও ব্যবহারকারীকে কী করা উচিত)। এই প্রশ্নটি একটি ওয়েব বিকাশকারীর থেকে এবং ব্যবহারকারীকে বিশেষভাবে কিছু করার প্রয়োজন ছাড়াই কীভাবে সমস্যাটি সমাধান করবেন তা জিজ্ঞাসা করছে।
রায় টিঙ্কার

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

2
আমি বিশ্বাস করি তিনি এটি একটি প্রোগ্রামার দৃষ্টিকোণ থেকে উত্তর দিয়েছেন। "... আইও ডক্টইপিইএর মোড বেসটি ব্যবহার করবে"। দেখুন: এমএসডিএন.মাইক্রোসফট.ইন- ইউএস / লিবারি / ms535242%28VS.85%29.aspx যদি সংস্থাটি অ্যাক্টিভ ডিরেক্টরি চালাচ্ছে তবে অ্যাডমিনিস্ট্রেটর দ্বারা ব্রাউজার সেটিংসে পরিবর্তনগুলি প্রচার করা যেতে পারে। আপনি ফায়ারফক্স দিয়ে এটি করতে পারবেন না!
নাট জাউগ

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

2
@ পাইলটবোজ আপনার যদি 120 কে + ব্যবহারকারী এবং শত শত (হাজার হাজার না হলে) সমর্থন করার জন্য ইন্ট্রনেট সাইট রয়েছে তবে এটি একটি কার্যকর সমাধান নয়।
ইয়র্ক

19

এই প্রশ্নের উত্তরে একটি নির্দিষ্ট পরিমাণ বিভ্রান্তি রয়েছে।

শীর্ষের উত্তরটি বর্তমানে একটি সার্ভার-সাইড সলিউশন যা HTTP শিরোনামে একটি পতাকা সেট করে এবং কিছু মন্তব্য ইঙ্গিত দিচ্ছে যে একটি মেটা ট্যাগ ব্যবহার করে সমাধানটি ঠিক কাজ করে না।

আমি মনে করি এই ব্লগ এন্ট্রিটি কীভাবে সামঞ্জস্যতা মেটা তথ্য ব্যবহার করতে হবে এবং আমার অভিজ্ঞতায় বর্ণিত হিসাবে কাজ করে তার একটি সুন্দর ওভারভিউ দেয়: http://blogs.msdn.com/b/cjacks/archive/2012/02/29/using-x- UA-সামঞ্জস্যপূর্ণ তৈরি করার যোগ্য-টেকসই-এন্টারপ্রাইজ-ওয়েব-applications.aspx

মূল বিষয়গুলি:

  • একটি মেটা ট্যাগ ব্যবহার করে এবং তথ্য শিরোনামে উভয়ই কাজ করে তথ্য নির্ধারণ করে
  • মেটা ট্যাগ শিরোলেখের চেয়ে অগ্রাধিকার নেয়
  • হিউরিস্টিকের উপর ভিত্তি করে ব্রাউজারটি রেন্ডারিং ইঞ্জিনটি নির্ধারণ করে না তা নিশ্চিত করার জন্য মেটা ট্যাগটি প্রথম ট্যাগ হতে হবে

একটি গুরুত্বপূর্ণ বিষয় (এবং আমি মনে করি যে এই জায়গা থেকে প্রচুর বিভ্রান্তি আসে) হ'ল আইই এর দুটি "ক্লাস" মোড রয়েছে:

  1. নথি মোড
  2. ব্রাউজার মোড

দস্তাবেজ মোডটি রেন্ডারিং ইঞ্জিনটি নির্ধারণ করে (ওয়েব পৃষ্ঠাটি কীভাবে রেন্ডার করা হয়)।

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

ডকুমেন্ট মোড বনাম ব্রাউজার মোড তথ্যের উপর আরো এই প্রবন্ধে পাওয়া যাবে: http://blogs.msdn.com/b/ie/archive/2010/06/16/ie-s-compatibility-features-for- সাইট-developers.aspx? পুনঃপরিচালিত সত্য =

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

সুতরাং আমি এই সিনট্যাক্সটি ব্যবহার করে মেটা ট্যাগ (এইচটিএমএল পৃষ্ঠায়) ব্যবহার করার পরামর্শ দেব:

<meta http-equiv="X-UA-Compatible" content="IE=9,10" ></meta>

বিজ্ঞপ্তি: আপনি যা পরীক্ষা করেছেন সেগুলির ব্রাউজারের একটি তালিকা দিন।

ব্লগ পোস্টটি এমুলেটেক্স ব্যবহারের বিরুদ্ধে পরামর্শও দেয়। এখানে একটি উদ্ধৃতি:

বলা হচ্ছে, একটি জিনিস আমি আশ্চর্যজনক মনে করি যখন কোনও অ্যাপ্লিকেশনটি এমুলেটআইই 7, বা এমুলেটআইই 8 অনুরোধ করে requests এই অনুকরণীয় পদ্ধতিগুলি নিজেরাই সিদ্ধান্ত। সুতরাং, আপনি কী চান সে সম্পর্কে সুনির্দিষ্ট না হয়ে আপনি দুটি জিনিসের একটি জিজ্ঞাসা করছেন এবং তারপরে একটি ডক্টেইপি কোডের জন্য কোডের অন্য কোথাও অনুসন্ধান করে (এবং তারপরে সেই ডক্টেপিই আপনাকে মান দেবে কিনা তা বোঝার চেষ্টা করছেন) বা এর বিষয়বস্তুর উপর নির্ভর করে কৌতূহল - অন্য কখনও কখনও বিভ্রান্তকর কাজ)। এটি করার পরিবর্তে, আমি মনে করি যে এটি নিজেরাই একটি প্রশ্ন, এমন কোনও প্রতিক্রিয়া দেওয়ার চেয়ে সরাসরি আপনি কী চান তা নির্দিষ্ট করে তুলতে এটি আরও বেশি অর্থবোধ করে। আপনি যদি আই 7 মান চান, তবে আইই = এমুলেটআইই 7 এর পরিবর্তে আইই = 7 ব্যবহার করুন। (দ্রষ্টব্য যে এর অর্থ এই নয় যে আপনি একটি ডক্টইপিই ব্যবহার করবেন না - আপনার উচিত))


কিভাবে ব্রাউজার মোড পরিবর্তন করতে?
বিষ্ণুদেব কে

ব্রাউজার মোডের বাক্যটি বিভ্রান্তিকর
জাস্টিস ফিস্ট 2'14

@ জাস্টিসফস্ট হ্যাঁ, আপনি ঠিক বলেছেন, ধন্যবাদ আমি এটি উন্নত করার চেষ্টা করেছি।
stefan.s

1
@ বিষ্ণুদেভকে আমি জানি একমাত্র উপায় বিকাশকারী সরঞ্জামগুলি ব্যবহার করা। তবে আপনি সম্ভবত একটি প্রোগ্রামেটিক সমাধান চান।
stefan.s

9

এই মেটাট্যাগ ব্যবহার করে দেখুন:

<meta http-equiv="X-UA-Compatible" content="IE=8" />

আইই 8 কে আই 88 স্ট্যান্ডার্ড মোড হিসাবে রেন্ডার করতে বাধ্য করা উচিত এমনকি "" সামঞ্জস্যতা দৃশ্যে ইন্ট্রানেট সাইটগুলি প্রদর্শন করুন "চেক করা হয় (উভয় ওয়েবসাইটের জন্য)], আমি IE 8.0.6 এ নিজের চেষ্টা করেছি


15
না। না।
ডেনিস সি

11
এটি আসলে সঠিক, তবে এটি পৃষ্ঠায় যে কোনও এবং সমস্ত মেটা ট্যাগের আগে উপস্থিত হওয়া উচিত বা এটি কাজ করবে না।
মাইকেল ইরিগয়েন

2
এটি আমার পক্ষে কাজ করে না। যতদূর আমি আইই 8 এস-কে বলতে পারি "সামঞ্জস্যতা মোডে ইন্ট্রানেট সাইটগুলি প্রদর্শন করুন" অ-ওভাররাইডযোগ্য
কোডুলিকে

6
(স্পষ্ট করে বলতে: এটি ডকুমেন্ট মোডের জন্য কাজ করে তবে ব্রাউজার মোডে নয় So তাই রেন্ডারিং স্থির হয়েছে, তবে ব্রাউজারটি এখনও
আই 7

7

আমাদের সিস্টেম অ্যাডমিন আমাদের সংস্থার জন্য বিশ্বব্যাপী বক্সটি চেক করে এই সমস্যাটি সমাধান করেছে। এমনকি ব্যবহারকারীদের লগ-অফ করার প্রয়োজন হয়নি।

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


1
এই সমাধানটি নিখুঁতভাবে কাজ করে যদি ইন্ট্রানেটের সমস্ত সাইট সর্বশেষতম ওয়েব স্ট্যান্ডার্ড ব্যবহার করতে পারে। তবে, কিছু না পারলে এই পদ্ধতিটি অসাবধানতাবশত সেগুলি ভেঙে দেয় ... আমি সাবধানতার সাথে যোগাযোগ করব would
ʙᴀᴋᴇʀ ʙᴀᴋᴇʀ

4

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

Response.AddHeader("X-UA-Compatible", "IE=EmulateIE8");

1
প্ল্যাটফর্ম নির্দিষ্ট না করেও বিকাশ-প্ল্যাটফর্ম-নির্দিষ্ট উত্তর answer আমি অনুমান করছি আপনি ভিজুয়াল স্টুডিও। নেট সম্পর্কে কথা বলছেন? যতদূর আমি বলতে পারি 'অনআইনিট' ইভেন্টটির অস্তিত্ব নেই (জাভাস্ক্রিপ্ট, জাভা, পিএইচপি, ....)
স্টিজন ডি উইট


3

আমি মেটা ট্যাগটি নির্দিষ্ট করে উপযুক্ততা মোড ওভাররাইড করতে সক্ষম ছিল দ্য প্রথম ট্যাগটি মাথা বিভাগে, না শুধু প্রথম মেটা ট্যাগটি কিন্তু একমাত্র যেমন প্রথম TAG কে

আপনার উত্তরের উত্তরে আমাকে এটি রাখার জন্য @ স্টিফান.সকে ধন্যবাদ। আমার পড়ার আগে:

এই কাজ করে না

<head> 
<link rel="stylesheet" type="text/css" href="https://stackoverflow.com/qmuat/plugins/editors/jckeditor/typography/typography.php"/>
<meta http-equiv="x-ua-compatible" content="IE=9" >

লিঙ্ক ট্যাগটি সরানো হয়নি এবং এটি কার্যকর হয়েছে

এই কাজগুলি :

<head><meta http-equiv="x-ua-compatible" content="IE=9" >

সুতরাং সামঞ্জস্যতা ব্যবহারের জন্য সেট করা একটি আইই 8 ক্লায়েন্ট পৃষ্ঠাকে আই 8 স্ট্যান্ডার্ড মোড হিসাবে রেন্ডার করে - বিষয়বস্তু = 'আইই = 9' এর অর্থ আই 99 পর্যন্ত এবং সর্বোপরি উপলব্ধ সর্বোচ্চ মান ব্যবহার করে।


2

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


1
আমি আপনার ধারণা পছন্দ। তবে আমাদের এখানে কোনও ফায়ারফক্স নেই।
ডেনিস সি

22
সবচেয়ে খারাপ। প্রস্তাবনা। কখনো। এটি কেবলমাত্র আই-ই-তে থাকা সমস্ত ইন্ট্রনেট সাইটের মতোই খারাপ। কিছুটা অতিরিক্ত কাজ করার চেষ্টা করুন এবং সমস্ত সাধারণ ব্রাউজারগুলিতে আপনার জিনিসগুলি কাজ করার চেষ্টা করুন। এটা খুব কঠিন নয়।
mhenry1384

2
@ mhenry1384 কেন এটি লক ডাউন ইন্ট্রনেট সিস্টেম রাখার ভয়ঙ্কর পরামর্শটি বোঝানোর জন্য যত্নশীল? পুরানো ব্রাউজারগুলির জন্য আপনাকে কোয়ার্ক সমর্থন করতে হবে না। আপনি জানেন যে আপনার ব্যবহারকারীরা অভিজ্ঞতার ভিত্তিতে পাবে। এটি কোনও পাবলিক সিস্টেম নয়, কে যত্নশীল, আপনি এখনও IE 5.5 সমর্থন করেন? আমি আমার সর্বজনীন ব্যবহারকারীদের আপডেট করতে বলি। আমি যাই হোক না কেন ব্যাকএন্ড সিস্টেমে আমার সময় নষ্ট করা উচিত নয়, এটি সর্বজনীন যে আমার প্রয়োজন needs এটি আই আই 6 এ লক করে রাখার মতো নয় এবং কিছুটির মতো অ্যাক্টিভেক্সের প্রয়োজন। উদাহরণস্বরূপ আমার সিস্টেমটি ফায়ারফক্স 6 এবং তারপরের উপরে অনুমতি দেয়। সুতরাং যদি ফায়ারফক্স 27 বেরিয়ে আসে তবে এটি এখনও কার্যকর হয়। হয় আমাকে হ্রাস করুন বা একটি আসল যুক্তি করুন।
কেইমেন

2
আমি নির্দিষ্ট প্রতিটি ব্রাউজারে লক করে রাখা প্রতিটি ইন্ট্রনেট সাইট আইই-তে লকড করে দেওয়া হয়েছে। এটি আমাকে পাগল করে তোলে, যেমন আমি পরবর্তী লোকের মতোই আইআইকে ঘৃণা করি। আপনার ব্যবহারকারীদের আপনার পছন্দের ব্রাউজারটি ব্যবহার করতে বাধ্য করা (তাদের নয়) এমনকি এটি আইটি-তে কিছু না হলেও, এমনকি এমনকি ইন্ট্রনেট ওয়েবেরও বিপরীত বলে মনে হচ্ছে। আইই 7/8/9 এ কাজ করা কোনও ওয়েবসাইট পাওয়ার পক্ষে সাধারণত এটি কঠিন নয়, বিশেষত যদি আপনি jQuery এর মতো লাইব্রেরি ব্যবহার করেন। ব্যবহারকারীদের যা চান তা ব্যবহার করতে দিন।
mhenry1384

2
উদাহরণস্বরূপ, ফায়ারফক্স 10 এর জন্য লিখিত একটি সাইট আমার অভিজ্ঞতায় আইডি 9 এ প্রায় কোনও পরিবর্তন ছাড়াই পুরোপুরি সূক্ষ্মভাবে কাজ করবে। সুতরাং ব্যবহারকারীদের আইই 9 ব্যবহার করা থেকে বিরত করার অর্থ অন্য কিছু চলছে। এটি ইঙ্গিত করে যে আপনি আদর্শগত মিশনে আছেন, কেউ ভাল ওয়েব সফ্টওয়্যার লেখার চেষ্টা করছেন না। ফায়ারফক্স ব্যতীত অন্য ব্রাউজারগুলি পরীক্ষা করার সময় না পাওয়া যদি এই প্রশ্নটি হয়ে থাকে, আপনি কি লোকেরা অপেরা ব্যবহার থেকে বিরত রাখবেন? [এত কথামূলক বলে দুঃখিত। আমার এই সমস্যাটি IE8 সমস্যাটি ঠিক করতে ফিরে যেতে হবে ... :-)]
mhenry1384

1

আমি এই সমস্যাটির সাথে লড়াই করেছি এবং একটি অনন্য সমাধান এবং অন্তর্দৃষ্টি উপলব্ধ করতে সহায়তা করতে চেয়েছিলাম।

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

তবে আমরা যারা জাভা সার্লেটস ব্যবহার করি তাদের পক্ষে এটি সমাধানের একটি ভাল উপায় হ'ল সার্ভলেটফিল্টার ব্যবহার করা।

public class EmulateFilter implements Filter {

@Override
public void destroy() {
}

@Override
public void doFilter(ServletRequest arg0, ServletResponse arg1,
        FilterChain arg2) throws IOException, ServletException {
    HttpServletResponse response = ((HttpServletResponse)arg1);
    response.addHeader("X-UA-Compatible", "IE=8");
    arg2.doFilter(arg0, arg1);
}

@Override
public void init(FilterConfig arg0) throws ServletException {
}

}

1

আমরা স্প্রিং-অ্যাপাচি-টমক্যাট পরিবেশে এই সমস্যাটিকে অনুরোধের অনুরোধ পদ্ধতিতে একটি একক লাইন যুক্ত করে সমাধান করতে পারি -

//before the actual handler will be executed
public boolean preHandle(HttpServletRequest request,
HttpServletResponse response, Object handler)
throws Exception {

// Some logic

// below statement ensures IE trusts the page formatting and will render it acc. to IE 8 standard.
response.addHeader("X-UA-Compatible", "IE=8"); 

return true;
}

থেকে রেফারেন্স - কীভাবে ফিল্টার তৈরি করতে হবে এবং প্রতিক্রিয়া শিরোনামকে সংশোধন করতে পারে এটি কীভাবে আমরা একটি অনুরোধবোধক (স্প্রিং) এর মাধ্যমে এই সমস্যাটি সমাধান করতে পারি তা কভার করে।


0

আপনি যদি চান যে আপনার ওয়েবসাইটটি আইই 8 স্ট্যান্ডার্ড মোডে চাপ দিতে পারে, তবে এই বৈকল্পিকটি একটি বৈধ ডক্টপিইপি সহ ব্যবহার করুন:

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" />

সরল "আই 8" এর চেয়ে "এমুলেটআইই 8" মানটি নোট করুন।

আই-ডি-ডি-র মতে, এটি হওয়া উচিত, "আইই 8 স্ট্যান্ডার্ডস মোডে স্ট্যান্ডার্ডগুলি ডক্টইপইপিগুলি প্রদর্শন করুন; কুইর্কস মোডে কোয়ার্কস ডক্টইপিইগুলি প্রদর্শন করুন client ক্লায়েন্ট মেশিনে সামঞ্জস্যতার দৃষ্টিভঙ্গিকে ওভাররাইড করতে এই ট্যাগটি ব্যবহার করুন এবং স্ট্যান্ডার্ডগুলিকে আইই 8 স্ট্যান্ডার্ডগুলিতে বাধ্য করুন।"

এই আইআই ব্লগ পোস্টের আরও তথ্য: http://blogs.msdn.com/b/ie/archive/2008/08/27/introducing-compatibility-view.aspx


0

এই প্রশ্নটি ইন্ট্রনেটে ফোর্স "ইন্টারনেট এক্সপ্লোরার 8" ব্রাউজার মোডের একটি সদৃশ ।

সেখানকার প্রতিক্রিয়াগুলি ইঙ্গিত দেয় যে সামঞ্জস্যতা দর্শন (সার্ভারের দিকে) অক্ষম করা সম্ভব নয় - https://stackoverflow.com/a/4130343/24267 । এটি অবশ্যই ক্ষেত্রে বলে মনে হচ্ছে, যেহেতু আমি চেষ্টা করেছি এমন কোনও পরামর্শই কাজ করে নি। আইই 8-তে "ব্রাউজার মোড" ইন্টারনেট এক্সপ্লোরার 8 এর সাথে সামঞ্জস্যতা দৃশ্যে সেট হয়ে যায় আপনি কী ধরণের এক্স-ইউএ-সামঞ্জস্যপূর্ণ শিরোনাম প্রেরণ করেন তা নয়।

আইই 7 এবং সামঞ্জস্যতা মোডের জন্য আমাকে কিছু বিশেষ হ্যান্ডলিং করতে হয়েছিল, যার ফলে ব্রাউজারটি আইই 8 ব্যবহার করে রেন্ডার করেছিল তবে এটি আই 7 বলে রিপোর্ট করেছিল, আমার কোডটি ভেঙেছে। এইভাবে আমি আমার কোডটি স্থির করেছি (আমি জানি এটি একটি ভয়ঙ্কর হ্যাক এবং ব্রাউজার সংস্করণ নয় এমন বৈশিষ্ট্যগুলির জন্য আমার পরীক্ষা করা উচিত):

isIE8 = navigator.appVersion.indexOf ("MSIE")! = -1 && parseFloat (navigator.appVersion.split ("MSIE") [1]) == 8;
যদি (! isIE8 && navigator.appVersion.indexOf ("MSIE")! = -1 && parseFloat (navigator.appVersion.split ("MSIE") [1]) == 7 && navigator.appVersion.indexOf ("ত্রিশূল") ! = -1) {
    // মিথ্যাবাদী, এটি সামঞ্জস্যতা মোডে আই 8।
    isIE8 = সত্য;
}

0

একই সমস্যা ছিল। এটি ব্যবহার করে কাজ করে

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9" />

0

এটি আপনার পৃষ্ঠাগুলির প্রধান ট্যাগের মধ্যে জুড়ুন (আপনি যে আইই সংস্করণটি চান তা লক্ষ্য করে):

<meta http-equiv="X-UA-Compatible" content="IE=8" />  

দ্রষ্টব্য, এটি ব্রাউজারটি তার সামঞ্জস্যতা মোডে (ব্রাউজার মোড নামে পরিচিত) বলেছে তা পরিবর্তিত করবে না , তবে পৃষ্ঠাটি IE8 মান মোডে রেন্ডার করবে । যদি এটি এখনও আপনার ইচ্ছানুসারে রেন্ডারিং না করে তবে সম্ভবত আপনার জাভাস্ক্রিপ্ট রয়েছে যা ভুলভাবে আইই সংস্করণটি পরীক্ষা করছে। নীচের ব্লগ পোস্টটি নির্ধারণ করতে দেখুন যে আপনি কী সম্পত্তি থেকে সরে যাবেন See আপনি মেটা এক্স-ইউএ-সামঞ্জস্যপূর্ণ ট্যাগটি সেট করা সত্ত্বেও, ব্যবহারকারী এজেন্ট স্ট্রিংটি এখনও এমএসআইই .0.০ বলবে

আমার ক্ষেত্রে, ফিক্সের জন্য আমাকে আই 7 7 সংগততা মোডের জন্য একটি চেক যোগ করতে হয়েছিল। আমি একটি সাধারণ জাভাস্ক্রিপ্ট কোড ব্যবহার করে তা করেছি:

                //IE8 and later will have the word 'trident' in its user agent string.
                if (navigator.userAgent.indexOf("Trident")>-1) { //do something }

0

অন্য কারও জন্য এটি জিপিওর মাধ্যমে সমস্ত ব্যবহারকারীর জন্য এটি অক্ষম করতে চেয়েছেন এটি সেটিং:

কম্পিউটার কনফিগারেশন / প্রশাসনিক টেম্পলেট / উইন্ডোজ উপাদান / ইন্টারনেট এক্সপ্লোরার / সামঞ্জস্যতা স্থানীয় ইন্ট্রানেটের জন্য ইন্টারনেট এক্সপ্লোরার স্ট্যান্ডার্ড মোডটি দেখুন / চালু করুন

যদিও ওয়েবকনফিগ সম্পাদনাটি এটি আমার জন্য স্থির করেছে।


যান স্থানীয় গোষ্ঠী নীতি সম্পাদক , আপনি চালাতে পারেন gpedit.msc চালান থেকে।
রোমানিয়া_আজ্ঞানী


0

ব্রাউজার মোড বনাম দস্তাবেজ মোড সম্পর্কে স্টিফান এস মন্তব্যটি আমার সমস্যার জন্য অত্যন্ত প্রাসঙ্গিক।

পৃষ্ঠাটিতে আমার কাছে এক্স-ইউএ-সামগ্রী মেটা ডেটা রয়েছে তবে আমি ক্লায়েন্ট-সাইডের মাধ্যমে ব্রাউজারের সংস্করণটি পরীক্ষা করছিলাম navigator.appVersion। এই পরীক্ষাটি মেটা ডেটার প্রতিফলন করে না কারণ এটি ব্রাউজার মোডটি দস্তাবেজ মোড নয়।

আমার উত্তরটি ছিল document.documentModeএরকম কিছু পরীক্ষা করা :

function IsIE(n)
{
    if (navigator.appVersion.indexOf("MSIE ") == -1) return false;
    var sDocMode = document.documentMode;
    return (isFinite(sDocMode) && sDocMode==n);
}

এখন, আমার মেটা এক্স-ইউএ-কন্টেন্ট ট্যাগটি আমার ব্রাউজার পরীক্ষায় প্রতিবিম্বিত হয়।

আমি কেন ব্রাউজারটিকে পরীক্ষা হিসাবে এমন একটি ভ্রান্ত-অনুলিপি করতে পারি? গতি. আমার বিভিন্ন jQuery অ্যাড-ইন, যেমন টেবিলসোর্টার আই 6/7-তে খুব ধীর এবং আমি সেগুলি বন্ধ করতে চাই। আমি নিশ্চিত নই যে ব্রাউজারের বৈশিষ্ট্যগুলির জন্য পরীক্ষা করা আমাকে অন্যথায় সমাধান করতে সহায়তা করতে পারে।

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