仅当URL与JavaScript一起存在时才导航到该URL
我正在尝试让我的网页导航到提供的URL。如果URL不存在,我希望我的页面重定向到其他URL。我需要用JavaScript来做这件事 这就是我迄今为止所尝试的:仅当URL与JavaScript一起存在时才导航到该URL,javascript,Javascript,我正在尝试让我的网页导航到提供的URL。如果URL不存在,我希望我的页面重定向到其他URL。我需要用JavaScript来做这件事 这就是我迄今为止所尝试的: var customUrl = 'http://www.StackOverflow.com/ThisPageWillResultIn404'; var alternateUrl = 'AlternateUrl.html?e=PageIs404' setTimeout(function() { window.location=alt
var customUrl = 'http://www.StackOverflow.com/ThisPageWillResultIn404';
var alternateUrl = 'AlternateUrl.html?e=PageIs404'
setTimeout(function() { window.location=alternateUrl; }, 25);
window.location = customUrl;
这在IOS中似乎很好,但在Android中却不行。为什么Javascript不能做到这一点-
如果您跨域(而不是从站点域)发出请求,则请求将失败。这是因为主流浏览器中强制实施了名为“”的安全策略,以防止出现错误。同一来源政策维基百科页面中列出的表格很好地描述了哪些是跨域的,哪些不是
总之,客户端脚本不能也不应该能够访问被同一来源策略视为跨域的站点
这意味着Javascript将无法满足您的要求,因为它无法确定用户提供的链接,除非这些链接指向您自己的站点
这在IOS中似乎很好,但在Android中却不行
虽然这在任何设备上都不可能实现,但您当前的方法很可能有效,因为不存在的页面可能会导致设备的浏览器在尝试加载不存在的页面时挂起。当它仍然停留时,超时中的代码将运行并重定向。虽然这很聪明,但它依赖于几个假设:
链接中提供的所有解决方案可能重复,这使得ajax请求/xmlhttp请求在同一域中运行良好。跨域将无法使用它。请帮助我解决跨域问题。我已经发布了一个答案,我相信它正确地回答了您的问题,并提供了一个简单的解决方案。嗨,Xander。我尝试使用雅虎API。访问时我遇到以下错误。“*%20来自%20html%20其中%20url%3D%22money2%3A%2F%2FdomainName%2FUSMHC%2FHCP%2Fsignon%2Fsignon.action%22&format=json'&callback=jQuery18001189268296584487_138782433692&&u7782433722”jquery正在阻止我的网页,说它运行了不安全的内容。请帮助您的网站是否通过SSL运行(您的网站的URL是否以https://开头)?尝试将请求的URL更改为Yahoo API以使用https(将其从
http://query.yahooapis.com/v1/publ...
至https://query.yahooapis.com/v1/publ...
)。
$file = 'http://www.domain.com/somefile.jpg';
$file_headers = @get_headers($file);
if($file_headers[0] == 'HTTP/1.1 404 Not Found') {
$exists = false;
}
else {
$exists = true;
}
function isUrlExists(url)
{
$.getJSON("http://query.yahooapis.com/v1/public/yql?"+
"q=select%20*%20from%20html%20where%20url%3D%22"+
encodeURIComponent(url)+"%22&format=json'&callback=?", function(data){
if(data.results[0]){
alert('Exists');
}
else{
alert('Doesn\'t exist');
}
}
);
}
isUrlExists('http://google.com');