JavaScript中的404检测
在我的JavaScript中,我试图重定向到第三方页面。它可以在新窗口或框架内打开页面,具体取决于用户设置。大概是这样的:JavaScript中的404检测,javascript,asp.net,http-status-code-404,Javascript,Asp.net,Http Status Code 404,在我的JavaScript中,我试图重定向到第三方页面。它可以在新窗口或框架内打开页面,具体取决于用户设置。大概是这样的: if (newWindow) { window.open(url, targer); } else { theFrame = url; } 我想做的是显示我的自定义页面,以防第三方网站关闭或页面不可用。基本上是在404错误的情况下 解决此问题的最佳方法是什么?因为如果另一个窗口或框架的内容位于不同的域名上,您无法检测到它的任何内容,包括它是否实际加载。另一种想
if (newWindow)
{
window.open(url, targer);
}
else
{
theFrame = url;
}
我想做的是显示我的自定义页面,以防第三方网站关闭或页面不可用。基本上是在404错误的情况下
解决此问题的最佳方法是什么?因为如果另一个窗口或框架的内容位于不同的域名上,您无法检测到它的任何内容,包括它是否实际加载。另一种想法是。。。
您可以使用服务器端语言检查目标url
对于PHP:使用Curl可以获得url的http状态
http_代码就是您要查找的curl_getinfo($ch[,int$opt=0])
在@risyasin advice之后,我使用ASP.NET解决了服务器端的问题
protected void Page_Load(object sender, EventArgs e) {
HttpWebResponse response;
try
{
var request =
(HttpWebRequest)WebRequest.Create("http://www.someSite.com/camdsa");
response = request.GetResponse() as HttpWebResponse;
}
catch (WebException webException)
{
Response.Redirect("ErrorPage.aspx?status="
+ webException.Status);
return;
} }
您可以在这里阅读我的解决方案。+1了解解决方案,但我打赌Vadim需要纯javascript版本。没有任何javascript解决方案。事实上,如果有。这是一个危险的错误,可能是毁灭性的…与ASP.Net,我想它一定是这样的东西。这很容易。HttpWebRequest webrequest=(HttpWebRequest)webrequest.Create(“);HttpWebResponse httpresponse=(HttpWebResponse)webrequest.GetResponse();Response.Write(httpresponse.StatusCode);注释框无法粘贴代码…请尝试此url