我试图在IONIC2中实现InAppBrowser。
获取浏览器插件
ionic plugin add cordova-plugin-inappbrowser
我的.TS代码打开浏览器
browser(url:string)
{
this.platform.ready().then(() => {
open(url, "_blank", "location=true");
});
}
我的HTML代码
<button (click)="browser('https://www.google.com')" >Open Browser</button>
尝试执行时
以下错误
ORIGINAL EXCEPTION: TypeError: Cannot read property 'ready' of undefined
ORIGINAL STACKTRACE:
TypeError: Cannot read property 'ready' of undefined
at HomePage.browser (http://10.44.71.150:8100/build/js/app.bundle.js:180:22)
at DebugAppView._View_HomePage0._handle_click_27_0 (HomePage.template.js:500:28)
at http://10.44.71.150:8100/build/js/app.bundle.js:26022:24
at http://10.44.71.150:8100/build/js/app.bundle.js:34969:36
at http://10.44.71.150:8100/build/js/app.bundle.js:35039:93
at ZoneDelegate.invoke (http://10.44.71.150:8100/build/js/zone.js:323:29)
at Object.onInvoke (http://10.44.71.150:8100/build/js/app.bundle.js:30600:41)
at ZoneDelegate.invoke (http://10.44.71.150:8100/build/js/zone.js:322:35)
at Zone.runGuarded (http://10.44.71.150:8100/build/js/zone.js:230:48)
at NgZoneImpl.runInnerGuarded (http://10.44.71.150:8100/build/js/app.bundle.js:30633:78)
我有什么遗失的吗?
答案 0 :(得分:1)
您是否正在初始化.ts的platform
中的constructor
变量?
确保首先导入它,如下所示:
import {Platform, ...} from 'ionic-angular';
然后在构造函数中:
constructor(private platform: Platform, ...) {
....
}
答案 1 :(得分:1)
我也遇到过这个问题。 我使用的教程指示我将此代码添加到类声明中:
static get parameters() {
return [[Platform]];
}
删除此代码可防止出现错误,之后InAppBrowser工作顺利。
我意识到这种反应迟了,但我希望它可以帮助遇到这个问题的其他人。
答案 2 :(得分:1)
我必须将构造函数中的变量标记为私有,以便它们为我自己正常工作。
if Play1.lower() in weaponsList