में webshims polyfill का उपयोग करके मैं एक कोणीय ऐप में webshims polyfill का उपयोग करने का प्रयास कर रहा हूं, जो निर्भरता प्रबंधन के लिए requjs का भी उपयोग कर रहा है। मैं की अनुपस्थिति को input
और button
जैसे फॉर्म फ़ील्ड में अनुपस्थित करने की कोशिश कर रहा हूं, जो ब्राउज़र को बताता है जो एक विशेष बटन या इनपुट से संबंधित है। आईई 9 में इस सुविधा की कमी है।एक कोणीय ऐप
मुझे लगा कि इस पॉलीफिल का उपयोग करने का सबसे अच्छा तरीका एक फॉर्म निर्देश बनाना होगा, और लिंक फ़ंक्शन के अंदर $.webshims.polyfill('forms')
का आह्वान करना होगा।
define(['angular', 'webshims'], function(angular) {
return angular.module('myApp').directive('form', ['$window', function($window) {
return {
restrict: 'E',
scope: false,
link: function($scope, iElement, iAttrs) {
if (!(window.Modernizr.input.placeholder || window.Modernizr.input.autofocus)) {
$.webshims.setOptions({
waitReady: false
});
$.webshims.polyfill('forms');
}
}
};
}
]);
यहाँ है कि कैसे मैं लोड हो रहा हूँ webshims अभी polyfill:
मेरे Requirejs configapp: {
options: {
baseUrl: 'src/apps',
stubModules: ['cs'],
paths: {
jquery: '../public/components/jquery/jquery',
....
angular: '../public/components/angular/angular',
....
webshims: '../public/components/webshim/src/polyfiller',
},
shim: {
angular: {
deps: ['jquery'],
exports: 'angular'
},
...
priority: ['angular']
}
}
}
बात यह है कि यहां तक कि शिम भार हालांकि, और यहां तक कि कहता है सही कार्य, shims काम नहीं कर रहे हैं, क्योंकि IE9 में अभी भी HTML5 फॉर्म विशेषताओं (प्लेसहोल्डर, फॉर्म विशेषता, आदि) के साथ समस्याएं हैं
मुझे यहाँ क्या याद आ रही है?
बिल्कुल सही! मैंने कुछ समय बाद इसे समझ लिया, (एसओ की जांच नहीं की)। समस्या यह थी कि बेसपाथ की गणना गलत तरीके से की जा रही थी, इसलिए मुझे इसे पास करना पड़ा, और हां, एक फॉर्म निर्देश का उपयोग करने का निर्णय बहुत ही उज्ज्वल नहीं था, क्योंकि पॉलीफिल समर्थित ब्राउज़र का ख्याल रखता है। वैसे भी धन्यवाद! –
मेरे पास एक छोटे से प्रश्न हैं, मैं मुख्य रूप से आईई 9 + से अब तक चिंतित हूं। IE9 में, तत्व पर पॉलीफिल() को कॉल नहीं करने से भी कोई समस्या नहीं आ रही है। मैंने विचारों को बदल दिया है, गतिशील विचार बनाए हैं, आदि। मुझे लगता है कि कोणीय आईई में इस तरह का ख्याल रख रहा है, * (भले ही मैं अब निर्देश का उपयोग नहीं कर रहा हूं, जहां मैं आमतौर पर यह कोड डालता हूं ...) * –
मैं नहीं कह सकता फॉर्म विशेषता पॉलीफिल को अद्यतन पॉलीफिल कॉल की आवश्यकता नहीं है। यदि प्लेसहोल्डर अभी भी काम करता है, तो कोणीय किसी भी तरह से प्रस्तुत मार्कअप को कैश करने लगता है। विस्तृत समस्या निवारण के लिए –