uniapp怎么获取app当前页面在浏览器的完整地址
时间: 2023-08-09 10:04:57 浏览: 85
在 uni-app 中,可以使用 `uni.getSystemInfoSync()` 方法获取当前页面信息,包括当前页面的 URL。具体实现方式如下:
```javascript
const sysInfo = uni.getSystemInfoSync()
const pageUrl = `http://${sysInfo.platform}#${this.$route.fullPath}`
```
其中,`sysInfo.platform` 表示当前平台,可能是 `android`、`ios` 等等,而 `this.$route.fullPath` 则表示当前页面的路由路径。
需要注意的是,如果当前页面是通过 `uni.navigateTo` 或 `uni.redirectTo` 等 API 跳转到的,则无法直接获取浏览器的完整地址。因为在 uni-app 中,这些 API 跳转的页面实际上是一个原生的页面,不在浏览器中打开。如果需要获取浏览器中打开的页面的完整地址,可以考虑使用 `window.location.href` 方法获取。
相关问题
uniapp怎么获取当前页面浏览器完整地址
在uniapp中,可以通过uni-app提供的API获取当前页面的完整地址。
具体的做法如下:
1. 在页面中使用`uni.getSystemInfoSync()`方法获取当前设备信息,包括设备宽度、高度等相关信息。
```javascript
const systemInfo = uni.getSystemInfoSync();
```
2. 使用`uni.getCurrentPages()`方法获取当前页面栈中所有的页面对象。
```javascript
const pages = uni.getCurrentPages();
```
3. 通过`pages`数组获取当前页面对象,并从中获取`route`属性,即当前页面路径。
```javascript
const currentPage = pages[pages.length - 1];
const currentPath = currentPage.route;
```
4. 最后,将获取到的路径与当前设备的URL拼接起来,即可得到当前页面的完整地址。
```javascript
const currentUrl = `http://${systemInfo.platform == 'devtools' ? 'localhost' : 'yourdomain.com'}${currentPath}`;
```
注意:在实际开发中,应该将上面的代码封装成一个公共方法,方便在多个页面中调用。
uniapp怎么app获取当前页面去分享完整地址
在uniapp中,可以通过uni.navigateTo获取当前页面的完整地址,然后再通过uni.shareShare API分享。具体实现代码如下:
```javascript
// 获取当前页面地址
let pages = getCurrentPages();
let currentPage = pages[pages.length - 1];
let url = '/' + currentPage.route;
let options = currentPage.options;
let query = '';
for (let key in options) {
if (options.hasOwnProperty(key)) {
query += `${key}=${options[key]}&`;
}
}
if (query) {
query = query.substring(0, query.length - 1);
url += `?${query}`;
}
// 分享
uni.share({
title: '分享标题',
path: url,
success: function() {
console.log('分享成功');
},
fail: function() {
console.log('分享失败');
}
});
```
以上代码中,通过getCurrentPages()方法获取当前页面栈信息,从中获取当前页面的路由和参数,拼接成完整的URL地址,然后通过uni.shareAPI实现分享功能。