Önyüzümün her sayfasından png görüntüleri üreten bir komut dosyası yazıyorum. Kullanıcı arabirimi için açısal kullanıyorum ve sayfaları hayali ile yakalarım. açısal bitirmek bunu render kadarAçısal uygulamanın phantom komut dosyasından tam olarak oluşturulmasını bekleyin
görünümü yüzden yakalamadan önce biraz beklemek zorunda bir süre alabilir:
var page = require('webpage').create();
page.open('http://localhost:9000/', function() {
window.setTimeout(function() {
page.render('snapshot.png');
phantom.exit();
}, 2000);
});
Bunu başarmak için daha iyi bir yolu olup olmadığını merak ediyorum.
$scope.$on('$viewContentLoaded', function() {
// do something
});
Ve bu yüzden böyle bir şey yazabilirsiniz onCallback
ile hayalet iletişim için bir yol buldu:
$scope.$on('$viewContentLoaded', function() {
window.callPhantom({ hello: 'world' });
});
sayfa tamamen işlendiğinde ben bir olay yayabilir açısal bulundu fantom komut dosyası:
page.onCallback = function() {
page.render('snapshot.png');
phantom.exit();
};
Ama hayalet komut dosyasından açısal $viewContentLoaded
kolu nasıl enjekte kayboldum.
evaluate
/evalueateAsyn
gitmek için yol olup olmadığını bilmiyorum ...
page.evaluateAsync(function() {
$scope.$on('$viewContentLoaded', function() {
window.callPhantom({ hello: 'world' });
});
});
Belki bir şekilde hakkını $scope
erişebilir. Herhangi bir fikrin var mı?
Sorum, ön uç kaynağında test bağımlılıklarını karıştırmak istemediğimden, phantom komut dosyasındaki açısal kodun enjekte edilmesiyle ilgilidir –
@ PauFracés Görüyorum; Biraz daha fazla bilgi ile güncelledim - umarım yardımcı olur. –
"Öğeyi yönerge ile bulabilir ve" Üzgünüm, ama nasıl yapılacağını bilmiyorum. –