-
-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: navigate without reloading for links with a target
attribute that will display in the current browsing context
#13165
base: main
Are you sure you want to change the base?
Conversation
🦋 Changeset detectedLatest commit: 166d9e6 The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
target
attribute and open in the current browsing contexttarget
attribute and will display in the current browsing context
target
attribute and will display in the current browsing contexttarget
attribute that will display in the current browsing context
preview: https://svelte-dev-git-preview-kit-13165-svelte.vercel.app/ this is an automated message |
@@ -136,7 +136,7 @@ export function get_link_info(a, base, uses_hash_router) { | |||
|
|||
const external = | |||
!url || | |||
!!target || | |||
target === '_blank' || |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should it be this instead? We can't know for certain if the browsing context will be the same as ours for _top
etc
target === '_blank' || | |
(target || '_self') !== '_self' || |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would location.ancestorOrigins
work to check if there are no parents/ancestors? https://developer.mozilla.org/en-US/docs/Web/API/Location/ancestorOrigins
If there is a way to check for parent browsing contexts then the page wouldn't need to reload when these values should behave similar to _self
.
_parent: The parent browsing context of the current one. If no parent, behaves as _self.
_top: The topmost browsing context. To be specific, this means the "highest" context that's an ancestor of the current one. If no ancestors, behaves as _self.
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#target
Using |
Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
fixes #13162
This PR corrects the
external
link condition by also checking thetarget
type instead of just the presence of thetarget
attribute. Now links that open in the same browsing context won't be treated as external.Please don't delete this checklist! Before submitting the PR, please make sure you do the following:
Tests
pnpm test
and lint the project withpnpm lint
andpnpm check
Changesets
pnpm changeset
and following the prompts. Changesets that add features should beminor
and those that fix bugs should bepatch
. Please prefix changeset messages withfeat:
,fix:
, orchore:
.Edits