next.js - Next.js 用户获取位置
问题描述
我想用 cloudflare 带来用户位置。本地主机和谷歌云带来不同的结果。我想访问成员的位置信息,而不是服务器。我可以使用什么来代替 getStaticProps?
我的代码;
export async function getStaticProps() {
const one = await fetch("https://www.cloudflare.com/cdn-cgi/trace");
const two = await one.text();
var data = two.replace(/[\r\n]+/g, '","').replace(/\=+/g, '":"');
data = '{"' + data.slice(0, data.lastIndexOf('","')) + '"}';
var locale = JSON.parse(data);
return {
props: { locale },
};
}
function myPage(props) {
return (props.locale.loc)
}
解决的代码;
let [locData, setLocData] = useState("EN");
useEffect(() => {
fetch("https://www.cloudflare.com/cdn-cgi/trace")
.then((response) => response.text())
.then((two) => {
var data = two.replace(/[\r\n]+/g, '","').replace(/\=+/g, '":"');
data = '{"' + data.slice(0, data.lastIndexOf('","')) + '"}';
var locale = JSON.parse(data);
setLocData(locale.loc);
});
}, []);
解决方案
推荐阅读
- php - CakePHP 3.8:如何在控制器中使用 uasort()
- xpath - Morningstar xpath 在 Google 表格中返回空(导入的内容为空)
- android - 您上传的 APK 未使用上传证书进行签名。您必须使用相同的证书
- c++ - ld:未找到架构 x86_64 的符号 - 错误
- oracle - Docker:从 Apache 容器连接到 Oracle 数据库容器时出现连接超时
- html - 如何使用 Bootstrap 构建动态搜索框
- tensorflow - Google colab pro GPU 运行速度极慢
- c - C中最小正数二维数组中的嵌套if循环
- javascript - 使用 superagent 和 Lumen API 被 CORS 策略阻止的请求
- python - 3.5 小时后仍然无法安装 Django - 我的毅力正在减弱