对于firebase文档中的代码示例,它表示启动一个url重写,如下所示:
"hosting": {
// Add the "rewrites" section within "hosting"
"rewrites": [ {
"source": "**",
"destination": "/index.html"
} ]
}
当我想将参数传递到索引页面时该怎么办?我试过了:
"hosting": {
// Add the "rewrites" section within "hosting"
"rewrites": [ {
"source": "/item/**",
"destination": "/item.html?i=$1"
} ]
}
但那并没有做任何事情......
我也尝试过以下答案:
"hosting": {
// Add the "rewrites" section within "hosting"
"rewrites": [ {
"source": "/item/:item",
"destination": "/item.html?i=:item"
} ]
}
但这只会返回404页。
答案 0 :(得分:2)
我刚收到Firebase支持的电子邮件,其中包含以下内容:
从Firebase支持更新:
单独使用Firebase托管无法使用您的用例。您还需要使用云功能。 Firebase刚刚发布了原生Firebase托管+功能集成,可以执行服务器端处理,因此您可以将URL重定向到一个功能,您可以编写代码来剖析路径并生成您想要的任何响应。您可以查看我们的文档,以便详细了解它。
我已经通过电子邮件发送回去,看看这是否会在将来添加,因为运行一个页面的流程似乎有些过分。
由于不支持,我已经为您提交了功能请求。但是,我暂时无法分享任何细节或时间表。我们会继续考虑您的反馈意见。
与此同时,您可以留意我们的发行说明。
度过美好的一天。
答案 1 :(得分:2)
我知道这是一个古老的问题,但是我遇到了类似的问题,并且没有找到答案,因此以为我会分享解决方法。
{
"hosting": {
// Add the "rewrites" section within "hosting"
"rewrites": [ {
"source": "/item/**",
"destination": "/item.html"
} ]
}
我通过将动态URL重写到静态html
页面解决了我的问题。由于是重写,因此该URL将保持为source
URL模式,而不会像重定向那样更改为destination
URL。
然后,我们可以在source
页面上使用Javascript通过window.location.pathname
来读取item.html
URL。然后,您可以使用.split('/')
返回数组以选择所需的部分。
希望这对寻求类似解决方案的人有所帮助。
答案 2 :(得分:0)
我也遇到了同样的问题。尽管通过重写不可能做到这一点,但我发现使用redirects可以实现这一点:
const response2 = await fetch('Export.log');
var data2 = await response2.text();
var formatted = JSON.parse(data2);
console.log(formatted);
答案 3 :(得分:-1)
var priceSwiper = new Swiper('.swiper-container',{
onSlideChangeEnd: function(swiper){
var value = $('#price .swiper-slide-active').text();
console.log(value);
}
})
试一试。
答案 4 :(得分:-2)
FireBase Allows for Static web hosting. It also has some Custom Behaviours
https://firebase.google.com/docs/hosting/url-redirects-rewrites
Redirects:: this is only for page forwarding
Rewrites:: when you want to show the same content for multiple URLs [ it is there for URL reversing ].
It also provides control over the MIME types of the HTTP requests.
现在,从上面的问题我看到你正在尝试从动态网络主机提供的页面查询DOM对象。