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 angular+unsubscr...@googlegroups.com.
To post to this group, send email to angular@googlegroups.com.
Visit this group at https://groups.google.com/group/angular.
For more options, visit https://groups.google.com/d/optout.

Reply via email to