2016-02-19 10 views
7

czy PhantomJS obsługuje nowoczesny flex? jeśli mogę uruchomić ten plikFlex na PhantomJS

$ cat x.js 
var $ = require('jquery'); 
$('<div/>', {id: 'x'}).appendTo($('body')); 
var x = $('#x'); 
x.css('color', 'red'); 
console.log('color: ' + x.css('color')); 
x.css('flex', '0 0 0px'); 
console.log('css: ' + x.css('flex')); 

widać, że .css() działa dobrze dla koloru, ale nie dla Flex.

$ phantomjs x.js 
color: rgb(255, 0, 0) 
css: undefined 

Próbowałem zostały również niektóre warianty: -webkit-flex, -moz-box-flex i -ms-flex, z których wszystkie uzyskując takie same wyniki. ciekawie, -webkit-box-flex zwraca 0 zamiast undefined, ale to wydaje się złe.

biegnę z:

$ phantomjs --version 
1.9.8 

Odpowiedz

2

Biorąc pod uwagę, że silnik PhantomJS 1.x jest teraz więcej niż 5 lat. Tak, Flexbox nie jest obsługiwany. Modernizor informuje, że flexboxlegacy jest obsługiwany. Z PhantomJS 2.x otrzymujesz support for flex.

+0

Cóż ... zajęło trochę czasu, aby zainstalować v2 na OSX. wersja npm nie działała, ale na szczęście działa wersja do domowego parzenia (teraz jestem na 2.1.1) i tak! obsługuje flex. tak!! – ekkis

+4

Powiedziałbym ** ograniczone ** wsparcie flex. Okazało się, że centrowanie nie działa poprawnie: https://github.com/ariya/phantomjs/issues/12367 –

+2

Również flex-wrap: https://github.com/ariya/phantomjs/issues/14365 –