草庐IT

hash_digest

全部标签

javascript - 如何根据url hash url执行一个js函数#nameoffunction

我看到一些网站根据URL中的has执行JavaScript函数。例如,当我访问http://domain.com/jobs#test时然后网站根据#test执行一个函数我可以通过检查location.href来做到这一点,但是有更好的方法吗? 最佳答案 这就是我所做的:window.onload=function(){varhash=(window.location.hash).replace('#','');if(hash.length==0){//nohashdosomething}else{//elsedosomethingw

javascript - 使用 jQuery 从 URL 读取#hash

如何使用jQuery从URL返回website.com/#something(某物)的哈希值? 最佳答案 window.location.hash就这么简单。不要使用所有那些消耗CPU和影响性能的方法。如果DOM提供了一些预定义的东西,首先使用它。要将值传递给PHP,请对php执行ajax调用。varhash=window.location.hash;$.ajax({url:'someurl.php',data:{hash:hash},success:function(){}}) 关于j

javascript - AngularJs - 错误 : 10 $digest() iterations reached. 中止

我正在尝试使用Angular创建一个MetroTile类型的网格,为了实现这一点,我希望每个瓷砖都具有不同的颜色。所以我的行动计划是创建一个函数,它会在循环内随机选择一种颜色(使用ng-repeat)。这是我目前所拥有的......{{stockRecord.ProductGroupName}}如你所见,我正在使用名为RandomColourClass的函数设置类名,这是JS位$scope.TileColours=[{colour:'thumbnailtiletile-blue'},{colour:'thumbnailtiletile-green'},{colour:'thumbnai

javascript - 浏览器中 location.hash 的最大大小

我想使用location.hash对我的客户端应用程序的状态进行编码,这样用户就可以使用URL轻松地添加书签和/或共享应用程序的完整状态。关于url的最大长度有许多(过时的)主题,尤其是InternetExplorer中的限制。但是,尚不清楚location.hash的最大大小是多少。因为散列只存在于客户端,HTTP或服务器的限制是不相关的。我做了一个简单的jsfiddle来测试这个:http://jsfiddle.net/Jz3ZA/.在Chrome和Firefox(Ubuntu12.04)中,最大50K的哈希值似乎都有效。这是否意味着我可以使用它们来存储状态,或者我忽略了其他限制?

javascript - 有没有办法让 firefox 不自动对分配给 document.location.hash 的值进行 url 解码?

我正在使用document.location.hash来保存页面上的状态,并且我将url编码的键值对放在那里,由“&”字符分隔。到目前为止,一切都很好。但是我在Firefox上遇到了一个恼人的问题——Firefox会在进入的过程中悄悄地对哈希值进行url解码,所以当你稍后取出它时,它已经被解码了。我可以通过检测何时在firefox上运行并在运行时对所有内容调用encodeURIComponent两次来修补问题,但显然这很可怕,我真的不想那样做.这是一个简单的示例,我将“=”编码为“%3D”,将其放入散列中,当我稍后将其取出时,它会自动变回“=”://onthewayin::docume

javascript - 没有范围变化时angularjs无限$ digest循环

我的Angular代码中出现以下错误。我很难理解为什么函数getDrawWithResults会导致摘要循环,因为它似乎没有任何副作用?它只返回列表中属性设置为true的项目。错误仅在页面上第一次使用getDrawWithResults时发生,如果我删除,错误停止。UncaughtError:[$rootScope:infdig]10$digest()iterationsreached.Aborting!Watchersfiredinthelast5iterations:[["getDrawsWithResults(selectedLottery.draws);newVal:[];ol

javascript - ng-repeat 中的函数导致无限 $digest-loop

显然我还不了解ng-repeat、$$hashKeys和trackby背后的机制。我目前在我的项目中使用AngularJS1.6。问题:我得到了一组复杂的对象,我想用它来在我的View中呈现一个列表。但要获得所需的结果,我需要先修改(或映射/增强/更改)这些对象:constsourceArray=[{id:1,name:'Dave'},{id:2,name:Steve}]constpersons=sourceArray.map((e)=>({enhancedName:e.name+e.id}))//Thusthecontentofpersonsis://[{enhancedName:'

javascript - 错误 : [$rootScope:inprog] $digest already in progress

我正在尝试在模型中的属性更改时发送表单(使用指令)(因此我观察属性),但是当我触发提交事件时,我收到错误:“错误:[$rootScope:inprog]$digestalreadyinprogress",我怎样才能避免这个错误,这是我的代码:app.directive("autoSubmit",function(){return{link:function(scope,element,attrs){scope.$watch("valid",function(){if(scope.valid==1){console.log("sendform");element.triggerHandl

javascript - 调试 $digest already in progress 错误

我正在构建一个复杂的混合应用程序,并且已经在真实设备上进行了测试。有时,我会从Angular收到可怕的$digestalreadyinprogress错误-特别是,它似乎是在一个有点长的摘要周期之后。从堆栈跟踪来看,它似乎是从一个更新location.href的Angular延迟函数启动的,然后触发fastclick发送一个touchend,进而触发导致错误的第二个摘要。有没有人遇到过同样的错误-如果遇到过,您是如何解决的?对于那些感兴趣的人,这是我在堆栈跟踪中看到的:Error:[$rootScope:inprog]$digestalreadyinprogresshttp://err

javascript - location.hash 和回溯历史

有没有可以调用的函数来防止浏览器在更改哈希值时记录回溯历史条目?我正在编写一个简单的javascript图库,它可以在用户浏览每张图片时更改浏览器url而无需重新加载页面。这是通过将location.hash设置为图像的唯一ID来完成的。window.location.hash=imageID;问题是当用户点击浏览器后退按钮时,他们必须像加载页面一样向后浏览每张图片。如果他们使用图库旋转浏览20张图片,则他们必须点击返回21次才能返回到上一页。如何防止使用javascript记录回溯历史? 最佳答案 window.location.