我被困在使用Cordova 插件 InAppBrowser
我的專案設定是 Angular 13 Capacitor for android build,在我嘗試使用 InAppBrowser 插件之前作業正常。
我按照上面鏈接上的說明進行操作,但沒有成功。
import { InAppBrowser } from '@awesome-cordova-plugins/in-app-browser/ngx';
...
constructor(
private fb: FormBuilder,
private iab: InAppBrowser
) {}
...
redirectMe = async () => {
console.log('redirect init');
const options: any = {
location: 'no',
clearcache: 'yes',
zoom: 'yes',
toolbar: 'yes',
closebuttoncaption: 'close'
};
console.log('redirect me triggered');
const browser = this.iab.create(
'https://somelink.com',
'_blank',
options
);
console.log('opened');
console.log('browser=>');
browser.on('loadstop').subscribe(() => { ... do something});
我在運行時收到此錯誤:
錯誤 NullInjectorError: R3InjectorError(HomeModule)[InAppBrowser -> InAppBrowser -> InAppBrowser -> InAppBrowser]: NullInjectorError: 沒有 InAppBrowser 的提供者!
當我將 InAppBrowser 在提供程式中放入 app.module.ts 時:
import { InAppBrowser } from '@awesome-cordova-plugins/in-app-browser';
...
providers: [
InAppBrowser
...
]
我收到以下錯誤:
main.ts:14 錯誤:NgModule 'AppModule' 的提供程式無效 - 只允許提供 Provider 和 Type 的實體,得到:[?[object Object]?, ..., ..., ..., ... , ...] 在 throwInvalidProviderError (core.mjs:249:1)
你知道為什么會這樣嗎?如何將 InAppBrowser 插件與 Capacitor&Angular 一起使用?
uj5u.com熱心網友回復:
在 app.module.ts 中,替換
import { InAppBrowser } from '@awesome-cordova-plugins/in-app-browser';
和
import { InAppBrowser } from '@awesome-cordova-plugins/in-app-browser/ngx';
總是手動檢查插件匯入,因為使用自動匯入,它通常會錯過 ngx。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/514341.html
