Normal HTTPS anchor
<a href>
Expected: ordinary navigation, probably inside Instagram’s current webview.
Run normal anchor ↗Tap one method at a time, return with Back, then inspect the event trail.
Only HTTPS destinations are allowed. Your edit is saved on this device.
Custom schemes are never fired automatically. Every attempt begins with your tap.
<a href>
Expected: ordinary navigation, probably inside Instagram’s current webview.
Run normal anchor ↗<a target="_blank">
Expected: new IAB view or tab; some hosts may hand this to the system browser.
Run target blank ↗window.open(url, "_blank")
Expected: new IAB context, external tab, or a popup block.
location.href = url
Expected: same-view navigation, usually retained inside the IAB.
location.assign(url)
Expected: same-view navigation with this page left in browser history.
<a href="instagram://extbrowser…">
Expected: Instagram may close its webview and ask iOS to open the default browser.
Run extbrowser anchor ↗location.href = instagram://…
Expected: may hand off while the tap gesture is live; recent reports conflict.
meta http-equiv="refresh"
Expected: dynamically inserts a declarative refresh; reported to pass some Meta webview filters.
<a href="x-safari-https://…">
Expected: may force Safari, though Meta webviews increasingly suppress it.
Run Safari anchor ↗location.href = x-safari-https://…
Expected: Safari prompt or silent rejection depending on Instagram version.
intent://…package=com.android.chrome
Expected: Android “leaving app” prompt, then Chrome; HTTPS fallback if unavailable.
Run Chrome intent ↗setTimeout(…, 500)
Expected: likely blocked if Instagram requires the synchronous user gesture.
location.replace(instagram://…)
Expected: a reported extbrowser variant that does not retain the lab in history.
<a href="googlechromes://…">
Expected: opens Chrome if installed; may show a confirmation or be blocked by Instagram.
Run Chrome iOS anchor ↗location.href = googlechromes://…
Expected: tests whether a live tap can launch installed Chrome from the webview.
intent://…action=VIEW
Expected: lets Android resolve the default browser instead of forcing Chrome.
Run default intent ↗navigator.share({ url })
Expected: manual OS handoff; choose a browser or copy/open action if the share sheet offers one.
Newest first. Stored locally on this device (up to 200 entries).