是否有任何內置服務/指令/路線根據用戶正在訪問的瀏覽器/平臺的類型來更改視圖(或使用路由的頁面)?我希望手機和平板電腦擁有與桌面用戶不同的視角。Angularjs - 基於瀏覽器/平臺更改視圖?
8
A
回答
7
我不知道Angular內置的任何東西,但是你可以通過在你的路由規則中插入邏輯來做到這一點。例如:
angular.module('browser-routing', []).
config(function($routeProvider) {
$routeProvider.
when('/', {templateUrl: getBrowser() + '.html'})
});
在這個例子中,如果getBrowser()返回'iphone'
它會渲染視圖iphone.html
您可以使用 BrowserDetect做什麼顧名思義。
2
雖然AngularJS沒有任何特別的功能,這樣做出來的最現成,有很多不同的方法來完成類似的東西:
- 使用CSS3 media queries to make a responsive design。根據您的需求,這可能是您最好的選擇,因爲您可以避免重新實現多個視口的功能。
你可以寫一個服務來檢查並進行路由變化:
myApp.factory('checkWidth', function ($location, $window) { return function() { if ($window.document.width < 700) { $location.url('/mobile'); } } });
相關問題
- 1. 如何更改cordova瀏覽器平臺的默認瀏覽器?
- 2. 禁用瀏覽器平臺/在瀏覽器平臺上登錄
- 3. 使用JavaScript基於瀏覽器/平臺添加樣式
- 4. 更改視圖使用網頁瀏覽器時瀏覽目錄
- 5. 開源,多平臺,基於瀏覽器的屏幕截圖擴展?
- 6. 如何在瀏覽器[Ionic 1]中顯示跨平臺視圖?
- 7. 瀏覽器的平臺預覽版
- 8. 更改瀏覽視圖以水平顯示
- 9. 基於瀏覽器版本
- 10. 基於瀏覽器的IDE?
- 11. 更改基於瀏覽器的CSS縮放
- 12. VS2010更改基於瀏覽器的樣式表
- 13. 更改GWT中基於瀏覽器用戶代理的UiTemplate
- 14. 基於多選樹視圖實現文件瀏覽器
- 15. 基於瀏覽器加載不同視圖
- 16. 在Ionic2中識別平臺瀏覽器
- 17. 跨瀏覽器平臺測試
- 18. 無法添加瀏覽器平臺
- 19. 跨瀏覽器平臺數據存儲
- 20. 嵌入式跨平臺Web瀏覽器?
- 21. 檢測跨瀏覽器平臺
- 22. 跨平臺瀏覽器檢測
- 23. Cordova瀏覽器平臺錯誤
- 24. 基於瀏覽器動態改變圖標
- 25. 如何更改Lightswitch瀏覽器圖標?
- 26. 跨網頁瀏覽器和跨平臺視頻無閃光
- 27. 在所有瀏覽器和平臺上捕獲HTML5和視頻
- 28. 基於瀏覽器的可視化編輯器/設計器?
- 29. 哪種瀏覽器插件技術用於跨平臺設計?
- 30. 用於定位平臺的腳本(不是瀏覽器)