El *_*red 5 browser android ionic-framework
我不想在我的 Ionic 应用程序中打开链接,所以我试图让链接在移动浏览器中打开。这里的第一个例子工作正常。当 URL 位于“window.open”命令内时,外部浏览器将按预期启动。
<p class="descriptive-class">
<a ng-href="" onclick="window.open('https://stackoverflow.com', '_system', 'location=yes')">
<img src="assets/img/awesome_picture.png" alt="blablabla">
</a>
</p>
Run Code Online (Sandbox Code Playgroud)
问题出在这部分,我想将 URL 的参数提供给代码。我不能直接在“window.open()”中设置它,所以我必须将它移动到“ng-href”,然后通过“this.href”引用它。
Android 似乎没有正确理解这一点。它向我展示了 Android 上的“Complete action using”对话框,然后展示了 HTML 文档处理程序应用程序。它不理解浏览器链接。
如何最好地纠正这种情况?
<p class="descriptive-class">
<a href="#" ng-href="item.webURL" onclick="window.open(this.href, '_system', 'location=yes')">
{{ item.webURL }}
</a>
</p>
Run Code Online (Sandbox Code Playgroud)
在这种情况下,最简单的方法是安装In App Browser插件。
它会打开一个带有设备已安装浏览器的 URL。首先添加并安装插件:
*$ ionic cordova plugin add cordova-plugin-inappbrowser*
*$ npm install --save @ionic-native/in-app-browser*
Run Code Online (Sandbox Code Playgroud)
将它添加到你的app.module.ts
import { InAppBrowser } from '@ionic-native/in-app-browser';
Run Code Online (Sandbox Code Playgroud)
并将其添加到您的提供者:
@NgModule({
...
providers: [
...
InAppBrowser
...
]
...
})
Run Code Online (Sandbox Code Playgroud)
然后在相关页面上添加:
constructor(private iab: InAppBrowser) { }
openBrowser(){
this.iab.create('https://ionicframework.com/');
}
Run Code Online (Sandbox Code Playgroud)
调用openBrowser()
你的(点击)方法,你就设置好了!
另见:https : //ionicframework.com/docs/native/in-app-browser/
归档时间: |
|
查看次数: |
9090 次 |
最近记录: |