Is there a way to open all links using the InAppBrowser from '@ionic-native/in-app-browser'
. (https://ionicframework.com/docs/native/in-app-browser/)
Mayby by changing the function window.open ?
I have something like this :
<a href="https://www.google.com">Link</a>
And i want to open the InAppBrowser when the user click on the link.
Thank you.
2 Likes
why would you like to use links???
That’s something i can’t change, because the template is downloaded from an external web service.
1 Like
I’ve this :
window.open = (url, target?, opts?) => {
this.openLink(url);
return null;
}
openLink(urlOpening: string) {
this.browser = this.iab.create(urlOpening, '_blank', 'location=yes,clearsessioncache=yes,clearcache=yes');
}
it works fine on : <p onclick="window.open('https://www.google.com')">link test</p>
But it doesn’t work on href .
Do you have an idea ?
try this:
<a href="#" onclick="window.open('https://www.google.com', '_system', 'location=yes'); return false;">
Open Google
</a>
1 Like
Just for future reference since this forum seems to dead:
Insert this catch-all script in your app’s index.html:
<script type="text/javascript">
// links catch-all/handler
document.onclick = function (e) {
e = e || window.event;
var element = e.target || e.srcElement;
// making sure there's an URL
if ((element.tagName == 'A') && (element.href)) {
// opening in a new window
window.open(element.href, "_blank", "location=yes");
return false;
}
};
</script>
Then override the window.open function. That way every links will get handled properly.
5 Likes
You just saved my entire 8 hours of searching man.
Thank you so much…
1 Like