2016-10-28 24 views
8

Có cách nào để phát hiện ionic serve CLI đang chạy (và sau đó không có trên thiết bị thực) trong chương trình và sử dụng nó làm điều kiện.Kiểm tra xem có hoạt động trong chương trình

Vấn đề của tôi: Tôi có plugin Cordova gửi trả lời cho Cordova.

Khi tôi đang sử dụng Ripple, nó được cung cấp để chọn giá trị của cuộc gọi lại được gửi trở lại JavaScript (để mô phỏng kết quả của plugin).

Tôi nhận thấy Ionic2 không làm điều đó khi tôi chạy trong trình duyệt. Vì vậy, để dễ dàng dev của tôi và làm cho nó có thể kiểm tra nó trên một trình duyệt (và không xây dựng cho các thiết bị thực liên tục), tôi muốn để có thể kiểm tra trong chương trình nếu ionic serve CLI đang chạy. Nói cách khác: Kiểm tra xem nó có đang chạy trên một thiết bị thực hay một trình duyệt thông thường.

Nếu nó chạy trên trình duyệt thì tôi đã sử dụng lời nhắc yêu cầu người dùng nhập giá trị giả cho kết quả plugin Cordova thay vì plugin Cordova thực.

Trả lời

11

Xem Platform doc:

Kiểm tra nếu nó đang chạy trên một thiết bị thực hoặc một trình duyệt thông thường.

Bạn có thể sử dụng thông tin nền tảng để làm như vậy:

Platform Name Description 
android   on a device running Android. 
cordova   on a device running Cordova. 
core   on a desktop device. 
ios    on a device running iOS. 
ipad   on an iPad device. 
iphone   on an iPhone device. 
mobile   on a mobile device. 
mobileweb  in a browser on a mobile device. 
phablet   on a phablet device. 
tablet   on a tablet device. 
windows   on a device running Windows. 

Vì vậy, bạn có thể làm một cái gì đó như thế này:

import { Platform } from 'ionic-angular'; 

@Component({...}) 
export MyPage { 
    constructor(public platform: Platform) { 

    if (this.platform.is('mobileweb') || this.platform.is('core')) { 
     // This will only print when running on desktop 
     console.log("I'm a regular browser!"); 
    } 
    } 
} 
+1

nhờ, điều này làm các trick! – nyluje

+0

Vui mừng khi biết điều đó :) – sebaferreras

+3

Tôi cũng phải kiểm tra "mobileweb": 'this.platform.is ('mobileweb') || this.platform.is ('core') ' – pwagner

Các vấn đề liên quan