草庐IT

test_changing_hashes

全部标签

javascript - Protractor 和 Angular : How to test two pages in an app, 一个接一个?

我想在我的Angular应用程序的两个单独页面上运行Protractor测试:/dashboard和/articles。复杂的是我必须手动登录应用程序。目前我有这个设置:varLoginPage=function(){ptor=protractor.getInstance();this.login=function(url){ptor.get(url);ptor.findElement(protractor.By.model('email')).sendKeys(config.LOGIN_EMAIL);ptor.findElement(protractor.By.model('pass

javascript - 简单的 ng-change 在 angularjs 中无法正常工作

我可能会愚蠢地遗漏了一些东西,因为这个简单的代码没有按预期工作。问题是MainCtrl中的$scope.change函数不起作用(没有弹出警告框)。一言以蔽之,景就是(Jade,更好看?)...label(ng-repeat="questioninquestions")|{{question.title}}input(type="{{question.type}}",ng-change="change()")在Controller文件中angular.module('epfApp').controller('MainCtrl',function($scope,$window){$sco

javascript - 传单 : Firing an event when bounds change

我正在使用leaflet开发一个新的应用程序。您可以对应用程序有所了解here.我想在map边界发生变化时触发一个事件。我查看了文档,但找不到与此相关的任何内容。我找到了getBounds()方法,以及可能的列表eventmethods,但没有结合两者。我看到的唯一另一种可能性是检查鼠标拖动和滚动事件并每次都检查边界。但我希望有更好的事情要做。你有更好的主意吗?谢谢! 最佳答案 每次移动map(通过平移或缩放)时,map边界都会更新。所以你可以为你的目的使用moveend事件map.on('moveend',function(e){

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 - Angular UI 路由器 : URL changed but view isn't loaded

我正在使用嵌套View开发我的UI-Router应用程序。我这样定义了一些状态:$stateProvider.state('parent',{url:"/parent",views:{'area1':{templateUrl:'parentView.html'},'area2':...//someotherareas+template}}).state('parent.child1',{url:"/child1",views:{'area1':{templateUrl:'child1View.html'},'area2':...//stillsomeotherareas,notchan

javascript - 卡斯珀JS : Why does my url change to about:blank when my page is loaded?

我是PhantomJS/CasperJS的初学者。我只想启动一个session并验证它是否正常。这是我的代码:varcasper=require('casper').create({verbose:true,logLevel:'debug',pageSettings:{loadImages:false,loadPlugins:false,userAgent:'Mozilla/5.0(WindowsNT10.0;WOW64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/39.0.2171.71Safari/537.36Edge/12.0'}});ca

javascript - 单元错误 : assertion outside test context

我已经搜索过了,看来这个错误是由于没有正确使用asyncTest造成的。但是,根据文档,我似乎做对了。我猜我在某处遗漏了一个小细节,需要一双额外的眼睛……我正在尝试测试一些代码,这些代码发出ajax请求以获取页面,然后将其加载到灯箱中。lightbox-content在ajax调用完成并可以显示之前不会显示在DOM中。因此,我只能在我的onComplete回调中检查它,这是我进行测试以查看它是否正确加载的地方。这是我的代码:asyncTest('mytest',1,function(){utils.lightbox.show('/login',{onComplete:function(

javascript - Angular Testing : Spy a function that was executed on the initialize of a controller

我一直在尝试监视在Controller初始化时执行的函数,但测试总是失败。我一直在尝试执行$scope.$digest()但它不起作用,但是在控制台中,我看到该函数已被调用。我想不通,有人可以向我解释为什么它不起作用吗?代码笔示例:http://codepen.io/gpincheiraa/pen/KzZNbyControllerfunctionController($stateParams,$scope){$scope.requestAuthorization=requestAuthorization;if($stateParams.requestAuthorization===tr

javascript - 为什么/^(.+)+Q$/.test ("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX") 需要这么长时间?

当我运行时/^(.+)+Q$/.test("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX")在Chrome或IE中,大约需要10秒才能完成。(Firefox几乎可以立即对其进行评估。)为什么要这么久?(Firefox为何/如何能够如此快速地做到这一点?)(当然,我从来没有运行过这个特定的正则表达式,但我在http://daringfireball.net/2010/07/improved_regex_for_matching_urls的URL正则表达式中遇到了类似的问题,它似乎归结为这个,即有某些URL会导致浏览器锁定)例如:varre=/\b((?:https?:\/