আইইন 11-এ `উইন্ডো.লোকেশন.হ্যাশ.ইনক্লুয়েসড ব্যবহার করে-" বস্তু সম্পত্তি বা পদ্ধতিতে 'অন্তর্ভুক্ত' সমর্থন করে না


173

?উইন্ডোতে হ্যাশ পপ পরিস্থিতি নিয়ন্ত্রণ করতে এতে এতে কোনও রয়েছে কিনা তা দেখতে আমি URL টি যাচাই করছি checking অন্যান্য সমস্ত ব্রাউজারের সমস্যা নেই, কেবলমাত্র আই.ই.

আমি এইভাবে লোড করার চেষ্টা করার সময় ডিবাগার আমাকে এই ত্রুটিটি দেয়:

বস্তু সম্পত্তি বা পদ্ধতি সমর্থন করে না ' includes'

আমি পপস্টেটের মাধ্যমে পৃষ্ঠাটি লোড করার সময় কোনও ত্রুটি পাই না।

    $(document).ready(function(e) {
        if(window.location.hash) {
            var hash;
            if(window.location.hash.includes("?")) {
                alert('I have a ?');
                hash = window.location.hash.substring(window.location.hash.indexOf('#') + 0,window.location.hash.indexOf('?'));
            }else {
                hash = window.location.hash;
            };
            if (hash=="#DRS" || hash=="#DRP" || hash=="#DFFI" || hash=="#DCI" || hash=="#DCP" || hash=="#DRP" || hash=="#DRMA" || hash=="#EICS" || hash=="#ORG"){
                $(hash+'Content').addClass('pageOn').removeClass('pageOff');
            }else {
                $('#homeContent').addClass('pageOn').removeClass('pageOff');
            };
        } else {
            $('#homeContent').addClass('pageOn').removeClass('pageOff');
        }
        $(window).on('popstate', function() {
            var hash;
            if(window.location.hash.includes("?")) {
                hash = window.location.hash.substring(window.location.hash.indexOf('#') + 0,window.location.hash.indexOf('?'));
            }else {
                hash = window.location.hash;
            };
            if (hash=="#DRS" || hash=="#DRP" || hash=="#DFFI" || hash=="#DCI" || hash=="#DCP" || hash=="#DRP" || hash=="#DRMA" || hash=="#EICS" || hash=="#ORG"){
                $(this).navigate({target: $(hash+'Content')});
                if(window.location.hash.includes("?")) {
                }else{
                    location.href = location.href+'?';
                }
            }else {
                $(this).navigate({target: $('#homeContent')});
            };
        });
});

window.location.hashইন্টারনেট এক্সপ্লোরার 11 এর মান কী ?
নিল

উত্তর:


242

এমডিএন রেফারেন্স পৃষ্ঠা অনুসারে , includesইন্টারনেট এক্সপ্লোরারে সমর্থিত নয়। সবচেয়ে সহজ বিকল্পটি হ'ল ব্যবহার করা indexOf,

if(window.location.hash.indexOf("?") >= 0) {
    ...
}

1
ঠিক আছে ভাল এখন আমি এটি কাজ করতে পারি না (উইন্ডো.লোকেশন.হ্যাশ.ইন্ডেক্সঅফ ("?")> = 0) {// কিছুই না করে} অন্য {লোকেশন.href = লোকেশন href + '?'; }
এরিক গ্রসকুর্থ

আমি একটি যুক্ত করা প্রয়োজন? ইউআরএলটির শেষে যদি ইউআরএলটি ইতিমধ্যে না থাকে
এরিক গ্রসকুরথ

1
আমি জানি এটি একটি পুরানো প্রশ্ন এবং উত্তর, তবে স্ট্রিং.প্রোটোটাইপ.কম্পিউডগুলি উইন্ডোজ 10 আইই 11 এ আমার জন্য কাজ করছে বলে মনে হচ্ছে
ট্রোকসওয়াল্ট

2
@ ট্রক্সওয়াল্ট এটি শুনে ভাল, তবে এটি এখনও উইন্ডোজ 7 আই 11 এ কাজ করে না!
নেভাদা_স্কাউট

আপনি যদি প্রতিক্রিয়া করছেন , আপনি পলিফিল প্যাকেজগুলি ব্যবহার করতে পারেন এবং ম্যানুয়ালি পলিফিল যোগ করা এড়াতে পারেন ...
সিপিএইচপিথন

58

আইই 11 স্ট্রিং.প্রোটোটাইপ.কমকে বাস্তবায়ন করে তবে অফিসিয়াল পলিফিল ব্যবহার করছেন না কেন?

  if (!String.prototype.includes) {
    String.prototype.includes = function(search, start) {
      if (typeof start !== 'number') {
        start = 0;
      }

      if (start + search.length > this.length) {
        return false;
      } else {
        return this.indexOf(search, start) !== -1;
      }
    };
  }

সূত্র: পলিফিল উত্স


1
আপনি এখানে পাওয়া কোর-জেএস থেকে পলিফিলও ব্যবহার করতে পারেন: github.com/zloirock/core-js#stage-4-pososals
ডেভিড


36

import 'core-js/es7/array';আমার জন্য আমার polyfill.tsসংশোধিত সমস্যাটি যুক্ত করা ।


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

1
আমদানি করুন 'কোর-জে / এস / অ্যারে'; 2020 হিসাবে
টিএমএইচসি

14

একটি কৌণিক প্রকল্পে আমার একই সমস্যা ছিল। আমার পলিফিলস.এসটিতে আমাকে দুটি যোগ করতে হয়েছিল:

    import "core-js/es7/array";
    import "core-js/es7/object";

অন্যান্য সমস্ত আইআই 11 ডিফল্ট সক্ষম করার পাশাপাশি। (কৌনিক ব্যবহার করা হলে পলিফিলস.টসে মন্তব্যগুলি দেখুন)

এই আমদানিগুলি যুক্ত করার পরে ত্রুটিটি চলে গেল এবং আমার অবজেক্ট ডেটা উদ্দেশ্য হিসাবে পপুলেটে।


এটা আমার জন্য কাজ করছে। এই দুটি আমদানি যাই হোক না কেন কি করে ?. এবং কি আমদানি ত্রুটি অন্তর্ভুক্ত স্থির? অথবা উভয়ই ত্রুটি অন্তর্ভুক্ত জন্য?
iamjoshu

যেহেতু আইই 1111 মাইক্রোসফ্ট দ্বারা বৈশিষ্ট্য আপডেটগুলি আর পাচ্ছে না, জাভাস্ক্রিপ্ট বাস্তবায়ন তারিখযুক্ত এবং কেবল ES5 এর মাধ্যমে পদ্ধতিগুলির জন্য সমর্থন রয়েছে। এই 2 টি ফাইল আমদানি করে আপনি ES7 এর মাধ্যমে অ্যারে এবং অবজেক্টের জন্য পলিফিল স্ক্রিপ্ট যুক্ত করছেন যা এতে 'অন্তর্ভুক্ত' পদ্ধতি অন্তর্ভুক্ত রয়েছে।
10:32

5

ইন্টারনেট এক্সপ্লোরার হিসাবে, জাভাস্ক্রিপ্ট পদ্ধতি "অন্তর্ভুক্ত" সমর্থন করে না যা নীচের মত ত্রুটির দিকে পরিচালিত করে

dijit.form.FilteringSelect TypeError: অবজেক্ট সম্পত্তি বা পদ্ধতি 'অন্তর্ভুক্ত' সমর্থন করে না

সুতরাং আমি নীচে হিসাবে জাভাস্ক্রিপ্ট স্ট্রিং পদ্ধতি "অন্তর্ভুক্ত" থেকে "সূচক" থেকে পরিবর্তন করেছি

//str1 doesn't match str2 w.r.t index, so it will try to add object
var str1="acd", str2="b";
if(str1.indexOf(str2) == -1) 
{
  alert("add object");
}
else 
{
 alert("object not added");
}


1

আমি ReactJs ব্যবহার করছি এবং আমার সমস্যা সমাধানের import 'core-js/es6/string';শুরুতে ব্যবহার করছি index.js

আমি import 'react-app-polyfill/ie11';আইই ১১-তে রিঅ্যাক্ট চলমানটিকে সমর্থন করতেও ব্যবহার করছি ।

প্রতিক্রিয়া-অ্যাপ-polyfill

এই প্যাকেজে বিভিন্ন ব্রাউজারের পলিফিল অন্তর্ভুক্ত রয়েছে। এটিতে ন্যূনতম প্রয়োজনীয়তা এবং সাধারণভাবে ব্যবহৃত ভাষা বৈশিষ্ট্যগুলি তৈরি করুন প্রতিক্রিয়া অ্যাপ্লিকেশন প্রকল্পগুলি ব্যবহার করে includes

https://github.com/facebook/create-react-app/blob/master/packages/react-app-polyfill/README.md


1
আইই 11 কনসোলে ব্যর্থ হওয়া সমস্ত ফাংশনগুলিকে আমি ম্যানুয়ালি পলিফিলিং শুরু করেছি ... সত্যিই আপনার সময় বাঁচার উত্তরটির প্রশংসা করুন। আপনার প্যাকেজ.জসনে একবারে এই 2 টি প্যাকেজ যুক্ত করতে :npm i --save core-js react-app-polyfill
সিপিএইচপিথন

বিটিডব্লিউ, core-js/es6v3- তে আর অস্তিত্ব নেই বলে মনে হয় ঠিক import 'core-js';যেমন গিথুব-এ প্রস্তাবিত হয়েছিল
সিপিএইচপিথন

0

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

  // IE does not support .includes() so I'm making my own:
  String.prototype.doesInclude=function(needle){
    return this.substring(needle) != -1;
  }

তারপর আমি সব প্রতিস্থাপিত .includes()সঙ্গে .doesInclude()এবং আমার সমস্যার সমাধান করা হয়।


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