2012-08-27 15 views
8

क्या उपयोगकर्ता द्वारा उपयोग किए जा रहे ब्राउज़र/प्लेटफॉर्म के प्रकार के आधार पर दृश्य (या रूटिंग का उपयोग करने वाला पृष्ठ) बदलने के लिए कोई अंतर्निहित सेवाएं/निर्देश/मार्ग हैं? मैं डेस्कटॉप उपयोगकर्ताओं की तुलना में फोन और टैबलेट को अलग दृश्य देखना चाहता हूं।Angularjs - ब्राउज़र/प्लेटफ़ॉर्म के आधार पर दृश्य बदलें?

उत्तर

7

मुझे कोणीय में निर्मित कुछ भी नहीं पता है, लेकिन आप अपने रूटिंग नियमों में तर्क डालने से ऐसा कर सकते हैं।

angular.module('browser-routing', []). 
    config(function($routeProvider) { 
    $routeProvider. 
     when('/', {templateUrl: getBrowser() + '.html'}) 
}); 

इस उदाहरण में, यदि getBrowser() रिटर्न 'iphone' यह दृश्य iphone.html

आप BrowserDetect क्या नाम का तात्पर्य क्या करने का उपयोग कर सकते प्रस्तुत करना होगा: उदाहरण के लिए।

fiddle example for Chrome and Firefox detection

2

आउट-ऑफ-द-बॉक्स, वहाँ ऐसा ही कुछ को पूरा करने के लिए कई अलग अलग दृष्टिकोण हैं हालांकि AngularJS ऐसा करने के लिए किसी विशेष सुविधा नहीं है:

  1. CSS3 media queries to make a responsive design का उपयोग करना। आपकी ज़रूरतों के आधार पर, यह आपकी सबसे अच्छी शर्त हो सकती है, क्योंकि आप एकाधिक व्यूपोर्ट्स के लिए पुनः कार्यान्वयन सुविधाओं से बच सकते हैं।

    myApp.factory('checkWidth', function ($location, $window) { 
        return function() { 
        if ($window.document.width < 700) { 
         $location.url('/mobile'); 
        } 
        } 
    }); 
    
:
  • आप की जाँच करें और मार्ग परिवर्तन करने के लिए एक सेवा लिख ​​सकते हैं

  • संबंधित मुद्दे