use*_*830 19 angularjs ionic-framework
我想在Safari和Android的铬(无论浏览器默认)以打开IOS系统中的浏览器中的链接,例如.
我遇到的问题是链接确实在系统浏览器中打开,但它也在应用程序中打开.我希望链接只在系统浏览器中打开,而不是在应用程序内部.
这是我的代码.
<a ng-href="http://example.com/login/{{user._id}}" onclick="window.open(this.href, '_system', 'location=yes')" class="ion-home color-primary item"> Dashboard</a>
Run Code Online (Sandbox Code Playgroud)
请记住,我也将id传递给我的端点.
小智 24
尝试
<a class="ion-home color-primary item" href="#" onclick="window.open('http://example.com/login/{{user._id}}', '_system', 'location=yes'); return false;"> Dashboard</a>
Run Code Online (Sandbox Code Playgroud)
小智 6
Capacitor 有一个易于使用的插件,用于启动应用内浏览器。
https://capacitorjs.com/docs/apis/browser
安装:
npm install @capacitor/browser
npx cap sync
Run Code Online (Sandbox Code Playgroud)
用法:
import { Browser } from '@capacitor/browser';
const openCapacitorSite = async () => {
await Browser.open({ url: 'http://capacitorjs.com/' });
};
Run Code Online (Sandbox Code Playgroud)
您可以使用InAppBrowser插件https://cordova.apache.org/docs/en/3.0.0/cordova/inappbrowser/inappbrowser.html来完成此操作
如果您出于某种原因不想使用插件,请查看我对类似问题的回答:https : //stackoverflow.com/a/30397786/1630623
编辑:如果您已经在使用插件,则可能必须删除onclick代码并添加target="_system",或添加event.preventDefault();onclick处理程序
在更新的(3.0)版本中,“ In App Browser Plugin”是更好的解决方案。
<button ion-button block clear (click)="openWebpage(url)">Open Webpage</button>
Run Code Online (Sandbox Code Playgroud)
和openWebpage方法是这样的
openWebpage(url: string) {
const options: InAppBrowserOptions = {
zoom: 'no'
}
// Opening a URL and returning an InAppBrowserObject
const browser = this.inAppBrowser.create(url, '_self', options);
// Inject scripts, css and more with browser.X
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
25075 次 |
| 最近记录: |