Dominik Zi
Dominik Zi

Reputation: 443

How can I get window.location.href in Nuxtjs V3

I'm trying to let players join a game via QR Code. Since that game will be hosted on several IP's, i want to dynamically generate the URL.

This is my current workaround in my NuxtJS Vue Component:

<template>
  <input placeholder="copy browser window url into this field" v-model="fullPath" @change="generateQR">
</template>

<script setup>
  const fullPath = ref(null)
  QRCode.toDataURL(fullPath.value + ...
</script>

What I want to do is something like:

<script setup>
  // not working phantasy code
  QRCode.toDataURL(window.location.href + ...
</script>

When using useRouter() and useRoute()'s .fullPath attribute, I still only get the relative path / instead of http://10.16.1.173:3000/.


Full code on GitLab: pages/index.vue

Upvotes: 5

Views: 6441

Answers (3)

jdnz
jdnz

Reputation: 1165

In Nuxt 3 you can use the composable useRequestURL() to get the current URL on both server and client (may not work if using hybrid rendering):

const url = useRequestURL();
console.log(url.href);

Upvotes: 0

SIHEM BOUHENNICHE
SIHEM BOUHENNICHE

Reputation: 436

Try to check if you are in client side before accessing to 'window' object, you can use :

if (process.client) {
      console.log(window.location.href)
}

Upvotes: 5

dokichan
dokichan

Reputation: 591

Try to use this:

this.$route.query

Upvotes: 0

Related Questions