gpt4 book ai didi

javascript - 检查域中是否存在网页,否则加载另一个页面

转载 作者:行者123 更新时间:2023-12-02 21:54:25 25 4
gpt4 key购买 nike

在不使用任何服务器端语言的情况下,我尝试使用 JavaScript 来检查网页是否存在(在同一域上,没有跨域):如果存在,则加载它;如果没有,请加载另一张。然而,我下面的代码不起作用,由于某种原因,它似乎永远不会进入第二种情况:相反,它总是尝试加载页面(通常是 photo_202023.html),无论它是否存在。

值得注意的是(感谢评论者让我意识到这一点):浏览器地址栏中加载了不存在的网页的 URL,但显示的页面是主页。每当我尝试加载不存在的网页时,这是常见的行为。因此,即使下面的代码是我正在使用的完整代码,网络主机 (Firebase) 很可能正在改变这种情况下的行为。

感谢您的帮助!

<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>

<script type="text/javascript">

var today = new Date();
var displayDay = today.getDate();
var displayMonth = today.getMonth();
var displayYear = today.getFullYear();

var checkFor = "photos/photo_" + displayYear + displayMonth + displayDay + ".html";

$.ajax({
type: 'HEAD',
url: checkFor,
success: function() {
// page exists
location.href=checkFor;
},
error: function() {
// page does not exist
location.href="photosredirect.html";
}
});

</script>

最佳答案

好吧,感谢所有评论者指导我找到解决方案:问题出在网络主机的配置上。我在 Firebase 上托管代码,并且 firebase.json 正在配置找不到页面时会发生的情况,即重定向到 index.html。我删除了重写,代码按预期工作。

我确实想尝试更加微妙,以保持所有不在/photos/或 photos.html(包含上面提到的代码)内的页面的默认行为,但我肯定还是做错了什么 – 但这是另一个话题!再次感谢所有评论者。

"rewrites": [
{
// Excludes specified pathways from rewrites
"source": "!/photos/**",
"destination": "/index.html"
}
, {
// Excludes specified pathways from rewrites
"source": "!/photos.html",
"destination": "/index.html"
}
,
{
// If it makes it here, it didn't match any previous routing
// Serves index.html for requests to files or directories that do not exist
"source": "**",
"destination": "/index.html"
}

关于javascript - 检查域中是否存在网页,否则加载另一个页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60046321/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com