diff options
Diffstat (limited to 'packages/frontend/src/components')
| -rw-r--r-- | packages/frontend/src/components/MkGoogle.vue | 2 | ||||
| -rw-r--r-- | packages/frontend/src/components/MkLink.vue | 2 | ||||
| -rw-r--r-- | packages/frontend/src/components/MkPageWindow.vue | 2 | ||||
| -rw-r--r-- | packages/frontend/src/components/MkVisitorDashboard.vue | 10 | ||||
| -rw-r--r-- | packages/frontend/src/components/global/MkA.vue | 2 | ||||
| -rw-r--r-- | packages/frontend/src/components/global/MkUrl.vue | 2 |
6 files changed, 10 insertions, 10 deletions
diff --git a/packages/frontend/src/components/MkGoogle.vue b/packages/frontend/src/components/MkGoogle.vue index efbd775f5c..fb142b31b5 100644 --- a/packages/frontend/src/components/MkGoogle.vue +++ b/packages/frontend/src/components/MkGoogle.vue @@ -23,7 +23,7 @@ const query = ref(props.q); const search = () => { const sp = new URLSearchParams(); sp.append('q', query.value); - window.open(`https://www.google.com/search?${sp.toString()}`, '_blank'); + window.open(`https://www.google.com/search?${sp.toString()}`, '_blank', 'noopener'); }; </script> diff --git a/packages/frontend/src/components/MkLink.vue b/packages/frontend/src/components/MkLink.vue index 808a071d10..8517eff40b 100644 --- a/packages/frontend/src/components/MkLink.vue +++ b/packages/frontend/src/components/MkLink.vue @@ -5,7 +5,7 @@ SPDX-License-Identifier: AGPL-3.0-only <template> <component - :is="self ? 'MkA' : 'a'" ref="el" style="word-break: break-all;" class="_link" :[attr]="self ? url.substring(local.length) : url" :rel="rel" :target="target" + :is="self ? 'MkA' : 'a'" ref="el" style="word-break: break-all;" class="_link" :[attr]="self ? url.substring(local.length) : url" :rel="rel ?? 'nofollow noopener'" :target="target" :title="url" > <slot></slot> diff --git a/packages/frontend/src/components/MkPageWindow.vue b/packages/frontend/src/components/MkPageWindow.vue index 441296e05d..23eb70ecd2 100644 --- a/packages/frontend/src/components/MkPageWindow.vue +++ b/packages/frontend/src/components/MkPageWindow.vue @@ -112,7 +112,7 @@ const contextmenu = computed(() => ([{ icon: 'ti ti-external-link', text: i18n.ts.openInNewTab, action: () => { - window.open(url + router.getCurrentPath(), '_blank'); + window.open(url + router.getCurrentPath(), '_blank', 'noopener'); windowEl.value.close(); }, }, { diff --git a/packages/frontend/src/components/MkVisitorDashboard.vue b/packages/frontend/src/components/MkVisitorDashboard.vue index 7a41720e3f..102cb8d139 100644 --- a/packages/frontend/src/components/MkVisitorDashboard.vue +++ b/packages/frontend/src/components/MkVisitorDashboard.vue @@ -107,31 +107,31 @@ function showMenu(ev) { text: i18n.ts.impressum, icon: 'ti ti-file-invoice', action: () => { - window.open(instance.impressumUrl, '_blank'); + window.open(instance.impressumUrl, '_blank', 'noopener'); }, } : undefined, (instance.tosUrl) ? { text: i18n.ts.termsOfService, icon: 'ti ti-notebook', action: () => { - window.open(instance.tosUrl, '_blank'); + window.open(instance.tosUrl, '_blank', 'noopener'); }, } : undefined, (instance.privacyPolicyUrl) ? { text: i18n.ts.privacyPolicy, icon: 'ti ti-shield-lock', action: () => { - window.open(instance.privacyPolicyUrl, '_blank'); + window.open(instance.privacyPolicyUrl, '_blank', 'noopener'); }, } : undefined, (!instance.impressumUrl && !instance.tosUrl && !instance.privacyPolicyUrl) ? undefined : null, { text: i18n.ts.help, icon: 'ti ti-help-circle', action: () => { - window.open('https://misskey-hub.net/help.md', '_blank'); + window.open('https://misskey-hub.net/help.md', '_blank', 'noopener'); }, }], ev.currentTarget ?? ev.target); } function exploreOtherServers() { - window.open('https://join.misskey.page/instances', '_blank'); + window.open('https://join.misskey.page/instances', '_blank', 'noopener'); } </script> diff --git a/packages/frontend/src/components/global/MkA.vue b/packages/frontend/src/components/global/MkA.vue index 008d10f8eb..809dae421a 100644 --- a/packages/frontend/src/components/global/MkA.vue +++ b/packages/frontend/src/components/global/MkA.vue @@ -61,7 +61,7 @@ function onContextmenu(ev) { icon: 'ti ti-external-link', text: i18n.ts.openInNewTab, action: () => { - window.open(props.to, '_blank'); + window.open(props.to, '_blank', 'noopener'); }, }, { icon: 'ti ti-link', diff --git a/packages/frontend/src/components/global/MkUrl.vue b/packages/frontend/src/components/global/MkUrl.vue index db8a8399b5..9a59b5a68e 100644 --- a/packages/frontend/src/components/global/MkUrl.vue +++ b/packages/frontend/src/components/global/MkUrl.vue @@ -5,7 +5,7 @@ SPDX-License-Identifier: AGPL-3.0-only <template> <component - :is="self ? 'MkA' : 'a'" ref="el" :class="$style.root" class="_link" :[attr]="self ? props.url.substring(local.length) : props.url" :rel="rel" :target="target" + :is="self ? 'MkA' : 'a'" ref="el" :class="$style.root" class="_link" :[attr]="self ? props.url.substring(local.length) : props.url" :rel="rel ?? 'nofollow noopener'" :target="target" @contextmenu.stop="() => {}" > <template v-if="!self"> |