在我的JavaScript中,我正在尝试重定向到第三方网页。它可以在新窗口中打开页面,也可以在框架内打开页面,具体取决于用户设置。像这样:
if (newWindow)
{
window.open(url, targer);
}
else
{
theFrame = url;
}
我想要做的是显示我的自定义页面,以防第三方网站关闭或页面不可用。基本上是在404错误的情况下。
解决这个问题的最佳方法是什么?
答案 0 :(得分:6)
由于same origin policy,您无法检测到其他窗口或框架内容的任何内容 - 包括它是否实际上甚至已加载 - 如果它位于不同的域名上。
答案 1 :(得分:2)
另类想法...... 您可以使用服务器端语言检查目标URL。
对于PHP:使用Curl,您可以获得url的http状态。
http_code就是你要找的curl_getinfo($ ch [,int $ opt = 0])
答案 2 :(得分:1)
关注@risyasin建议我使用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;
} }
您可以在此link了解我的解决方案。