Thank you Adrien, this solved my problem, although I don't think this is a
proper solution it's going to get me where I need to be until i can dig in
deeper.
On Tuesday, May 20, 2014 at 2:45:37 PM UTC-6, Adrien Baron wrote:
>
> If a lost adventurer ever cross this thread, is how to solve it : Disable
> angular html5 navigation when phantomJS is asking the page.
>
> On Tuesday, February 26, 2013 3:46:04 AM UTC+1, Kenny Stoltz wrote:
>>
>> In some tests, I noticed that a url that contains a route param
>> containing a curly brace or space (and probably other escaped characters)
>> causes a digest loop if phantomJS is used to load the page.
>>
>> I thought it was to do with a case where we had a modification, but after
>> a lot more banging around it appears to happen in the simplest cases, and
>> on other angular sites.
>>
>> An example Phantom script:
>> page = new WebPage();
>> page.open('http://docs.angularjs.org/guide/{{blah}}', function (status) {
>> if (status !== 'success') {
>> console.log('FAILED to load the url');
>> } else {
>> }
>> phantom.exit();
>> });
>>
>> which causes:
>> Error: 10 $digest() iterations reached. Aborting!
>> Watchers fired in the last 5 iterations: [["fn: function () {var
>> a=d.url(),b=f.$$replace;if(!l||a!=f.absUrl())l++,c.$evalAsync(function(){c.$broadcast(\"$locationChangeStart\",f.absUrl(),a).defaultPrevented?f.$$parse(a):(d.url(f.absUrl(),b),h(a))});f.$$replace=!1;return
>>
>> l;}; newVal: 7; oldVal: 6"],["fn: function () {var
>> a=d.url(),b=f.$$replace;if(!l||a!=f.absUrl())l++,c.$evalAsync(function(){c.$broadcast(\"$locationChangeStart\",f.absUrl(),a).defaultPrevented?f.$$parse(a):(d.url(f.absUrl(),b),h(a))});f.$$replace=!1;return
>>
>> l;}; newVal: 8; oldVal: 7"],["fn: function () {var
>> a=d.url(),b=f.$$replace;if(!l||a!=f.absUrl())l++,c.$evalAsync(function(){c.$broadcast(\"$locationChangeStart\",f.absUrl(),a).defaultPrevented?f.$$parse(a):(d.url(f.absUrl(),b),h(a))});f.$$replace=!1;return
>>
>> l;}; newVal: 9; oldVal: 8"],["fn: function () {var
>> a=d.url(),b=f.$$replace;if(!l||a!=f.absUrl())l++,c.$evalAsync(function(){c.$broadcast(\"$locationChangeStart\",f.absUrl(),a).defaultPrevented?f.$$parse(a):(d.url(f.absUrl(),b),h(a))});f.$$replace=!1;return
>>
>> l;}; newVal: 10; oldVal: 9"],["fn: function () {var
>> a=d.url(),b=f.$$replace;if(!l||a!=f.absUrl())l++,c.$evalAsync(function(){c.$broadcast(\"$locationChangeStart\",f.absUrl(),a).defaultPrevented?f.$$parse(a):(d.url(f.absUrl(),b),h(a))});f.$$replace=!1;return
>>
>> l;}; newVal: 11; oldVal: 10"]]
>>
>> http://ajax.googleapis.com/ajax/libs/angularjs/1.0.5/angular.min.js:86
>> http://ajax.googleapis.com/ajax/libs/angularjs/1.0.5/angular.min.js:87
>> http://ajax.googleapis.com/ajax/libs/angularjs/1.0.5/angular.min.js:16
>> http://ajax.googleapis.com/ajax/libs/angularjs/1.0.5/angular.min.js:27
>> in d
>> http://ajax.googleapis.com/ajax/libs/angularjs/1.0.5/angular.min.js:16
>> in qb
>> http://ajax.googleapis.com/ajax/libs/angularjs/1.0.5/angular.min.js:15
>> in jc
>> http://ajax.googleapis.com/ajax/libs/angularjs/1.0.5/angular.min.js:161
>> http://ajax.googleapis.com/ajax/libs/angularjs/1.0.5/angular.min.js:116
>> in a
>> http://ajax.googleapis.com/ajax/libs/angularjs/1.0.5/angular.min.js:23
>>
>> (and continues in a loop for a long time).
>>
>> I am guessing this is to do with how Phantom represents route params, but
>> it was also reported in a different thread that this is to do with history.
>> The same URL in any webkit browser, etc works fine... anyone have any clues
>> why this happens and if it's a bug in angular or in phantom?
>>
>> Regards,
>> Kenny
>>
>
--
You received this message because you are subscribed to the Google Groups
"AngularJS" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/angular.
For more options, visit https://groups.google.com/d/optout.