• Welcome to Journal web site.

我是 PHP 程序员

- 开发无止境 -

Next
Prev

js 前端检测返回地址是不是404_qq_36120342的博客_js捕获404

Data: 2016-03-27 19:36:50Form: JournalClick: 8

js 前端检测返回地址是不是404
  • 创作中心
Echo flower 2019-02-16 11:35:55 3759 收藏

遇见奇葩的问题前端处理内嵌的网页地址是不是404

 

建议用第一种

1、link和script可以区分跨域和404的错误

  1. var isRunUrl=function(url){
  2. return new Promise(function (resolve, reject) {
  3. // 测试链接连通性, 主要检测404错误
  4. // 由于AJAX通常无法区分404和跨域问题
  5. // 所以只能用script 或者 link标签
  6. // link比script更容易捕获错误
  7. var dom= document.createElement('link');
  8. dom.href = url;
  9. dom.rel = 'stylesheet';
  10. document.head.appendChild(dom);
  11. dom.onload = function () {
  12. document.head.removeChild(dom);
  13. resolve();
  14. dom.onerror = reject;
  15. isRunUrl("测试地址").then(function(data){
  16. //处理resolve的代码
  17. console.log("Promise被置为resolve", data);;
  18. },function(data){
  19. //处理reject的代码
  20. console .log("程序被置为了reject",data);

 

2、不用跨域,只区分404

  1. // 判断一个url是否可以访问
  2. function IsLoad(url,fun){
  3. url: url,
  4. type: 'GET',
  5. success: function(response) {
  6. if($.isFunction(fun)){
  7. fun(true);
  8. error:function () {
  9. if($.isFunction(fun)){
  10. fun(false);
  11. IsLoad('同一域下的url地址',function(res){
  12. alert('请求的url可以访问');

 

Name:
<提交>