js中hash和ico的关联分析_javascript技巧

本文实例分析了js中hash和ico的一些关联。分享给大家供大家参考。具体如下:

近期测试提出一个bug,说某几个页面中的ico不显示,于是针对此问题排查原因。

首先,确保页面中的link已引入favicon.ico。经查看,发现是js中的location.hash导致了ico不显示。原因是在ico未加载完毕时设置了location.hash从而导致ico不显示。

location.hash在项目中经常用到,用于url定位,例如http://h.liepin.com/#job-manage中的“#job-manage”。

解决方法如下(以当前项目为例,具体情况具体分析):

项目要点:

1、页面内容是通过点击menu发送ajax请求过来的;

2、进入页面的显示内容是某个menu的默认点击事件;

3、设置location.hash是通过某个menu的点击事件。

这样就存在问题了,进入页面的时候就执行了menu的点击事件,于是就设置了location.hash。

可以这样做,设置一个变量,确保刚进入页面时不会设置location.hash。

$(function(){
 $('.menu a').click(function(event,hashBoolean){
  var that = $(this);
  $.ajax({
   url:'',
   type:'GET',
   data:{},
   cache:false,
   dataType:'json',
   success:function(data){
    if(data.flag == 1){
     if(!hashBoolean) location.hash = ['id',that.attr('data-id')].join('=');
    }
   }
  });
 });

 $('.menu a').eq(0).trigger('click',[true]);
});

希望本文所述对大家的javascript程序设计有所帮助。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索js
, hash
, 关联
ico
javascript hash、javascript hashcode、javascript hashset、javascript hash函数、javascript url hash,以便于您获取更多的相关知识。

时间: 2024-11-05 14:58:07

js中hash和ico的关联分析_javascript技巧的相关文章

JS中FRAME的操作问题实例分析_javascript技巧

本文实例探讨了JS中FRAME的操作问题,分享给大家供大家参考.具体分析如下: 以上图为例,在这里把frame之间的互相操作简单列为:1变量2方法3页面之间元素的互相获取. 一.  首先从 父(frameABC)------->子(frameA,frameB,frameC) ① 访问变量名name 假如在frameABC中操作那么可以: 复制代码 代码如下: window.frames("frameA").contentWindow.name 或者 复制代码 代码如下: docu

JS中confirm,alert,prompt函数区别分析_javascript技巧

window.alert:参数,只有一个,显示警告框的信息; 无返回值. <script> window.alert("确定.") </script> window.confirm : 参数就只有一个.显示提示框的信息. 按确定,返回true; 按取消返回false. <script> var bln = window.confirm("确定吗?"); alert(bln) </script> window.promp

一道优雅面试题分析js中fn()和return fn()的区别_javascript技巧

在js中,经常会遇到在函数里调用其它函数的情况,这时候会有 fn() 这种调用方式,还有一种是 return fn() 这种调用方式,一些初学者经常会被这两种方式给绕晕了.这里用一个优雅的面试题来分析一下两种方式的不同之处.  var i = 0; function fn(){ i++; if(i < 10){ fn(); }else{ return i; } } var result = fn(); console.log(result); 这是一道隐藏了坑的面试题,看似很简单,大部分人可能想

js中setTimeout()与clearTimeout()用法实例浅析_javascript技巧

本文实例分析了js中setTimeout()与clearTimeout()用法.分享给大家供大家参考.具体分析如下: setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式. clearTimeout() 方法可取消由 setTimeout() 方法设置的 timeout. <input type = text id = aaa > <input type = button value = stop id = bb onclick = bb()> <scrip

js中split和replace的用法实例_javascript技巧

本文实例讲述了js中split和replace的用法.分享给大家供大家参考.具体分析如下: 1. split : 复制代码 代码如下: <html> <head>     <title>     从业人员继续教育报名列表--打印签到表 sdfsd</tr><tr></tr>  sdfsd     </title> </head> <body>      <script type="t

JS中捕获console.log()输出的方法_javascript技巧

本文实例讲述了JS中捕获console.log()输出的方法.分享给大家供大家参考.具体分析如下: 我们知道console.log()可以将信息输出到debugger中供开发者查看.但如果我们想要在JS中获取console.log()的输出结果呢?其实不难,先将原本的console.log保存起来,然后替换成另外一个实现即可.代码如下: var lastLog; console.oldLog = console.log; console.log = function(str) { console

js中的如何定位固定层的位置_javascript技巧

需要获取一些HTML的对象的坐标来更灵活的设置目标层的坐标,这里可以通过用到document.body.scrollTop等属性,但是这些属性在xhtml的标准网页中或更简单的说就是带<!DOCTYPE...>的标签中得到的值是0:如果不要此标签则一切正常,那么在xhtml中如何获取body的坐标呢?当然有办法了,我们使用document.documentElement来取代document.body例如可以这样写: 复制代码 代码如下: var top=document.documentEl

JS中位置与大小的获取方法_javascript技巧

scrollHeight,clientHeight,offsetHeight的区别 说明: scrollHeight:DOM元素的实际内容的高度,不包border的高度,会随DOM元素中内容的增加(超过可视区后)而变大. clientHeight:DOM元素内容可视区的高度,不包含滚动条和边框的高度. offsetHeight:DOM元素整体的高度,包括滚动条和边框. 当滚动条不出现的时候 这时候DOM元素中没有内容或者内容不超过可视区 scrollWidth=clientWidth,两者皆为可

js中利用cookie实现记住密码功能_javascript技巧

在登录界面添加记住密码功能,我首先想到的是在java后台中调用cookie存放账号密码,大致如下: HttpServletRequest request HttpServletResponse response Cookie username = new Cookie("username ","cookievalue"); Cookie password = new Cookie("password ","cookievalue&quo