是否可以重定向到某个页面,如果该页面在其他地方重定向,那么第一个重定向是客户端网络上和第一个服务器外的本地服务器页面?
我发现了这个:
img src =“http://www.rgagnon.com/images/pdf.gif”onload =“window.location ='http://www.rgagnon.com';”的onerror = “window.location的= 'http://www.google.com';”
但它使“外部”服务器检查“内部”页面是否已启动,因此无效。它将是在客户端级别运行的东西。 感谢。
答案 0 :(得分:1)
希望我理解正确,您正在尝试检查图片是否已加载到页面上。如果不是,您将用户重定向到谷歌说。如果图像加载正确,请问为什么要重定向用户?
详细了解您想要做的事情。
无论如何,这将执行检查页面是否可访问(jquery + ajax)并重定向用户,如果您已成功加载图像或图像无法加载。
$('#your_img_id')
.load(function(){
$.ajax('http://www.rgagnon.com'), {
statusCode: {
404: function() {
alert("not working");
window.location='http://www.google.com'
},
200: function() {
alert("working");
window.location='http://www.rgagnon.com';
}
}
});
})
.error(function(){
window.location='http://www.google.com';
});
<强>更新强>
对于页面上的所有锚点,如果href在本地,则使用辅助页面添加新属性。
<body>
<a href="http://www.rgagnon.com/page-1.html" fallbackhref="http://www.google.com/page-1" />
<a href="http://www.rgagnon.com/page-2.html" fallbackhref="http://www.google.com/page-2" />
<a href="http://www.rgagnon.com/page-3.html" fallbackhref="http://www.google.com/page-3" />
</body>
如果初始href是不可能的,现在用回退值覆盖href
$("a").each(function() {
//exit if hreffallback undefiend
if ($(this).attr('fallbackhref')== undefined) return;
$.ajax($(this).attr('href')), {
statusCode: {
404: function() {
alert("not working");
$(this).attr('href', $(this).attr('fallbackhref'));
},
200: function() {
alert($(this).attr('href') + " accesible");
//do notihng
}
}
});
});
如果你想以其他方式重定向,那是不可能的。如果您将从otside www.rgagnon.com访问本地网站将无法访问,则不会执行重定向。
如果您在实时网站上遇到此问题,请重写所有应用并使用不带域的相对路径,而是使用href =“www.rgagnon.com/your-page/”使用href =“/ your-page /”