Bir web sayfam Ekran görüntüsüne PhantomJS kullanıyorum. Bununla birlikte, kütüphane, bazı manipülasyonlara izin vermek için, sayfa DOM'deki jQuery işlevselliğini enjekte etmek için barındırılan bir jQuery dosyasına çağrı yapar. Burada Görülme: http://phantomjs.org/api/webpage/method/include-js.htmlPhantomjs, page.includeJs ile yerel bir dosya kullanıyor?
kod şuna benzer:
if (loaded) {
page.includeJs("http://code.jquery.com/jquery-1.8.3.min.js",
function() { . . .
I (a) yavaş ve (b) güvenilir değil çünkü JS için harici bir çağrı yapmak istemiyoruz. Ben yerel bir kopyasını kullanmak istiyorum ve o şekilde o yolu ayarlayın ama yüklenirken DEĞİLDİR.
page.includeJs("assets/javascript/jquery.min.js",
function() { . . .
Burada sorun nedir? Yolum neden beklediğim gibi çalışmıyor? Bu işlev page.includeJs
göreceli yollara izin vermiyor mu?
çalıştı injectJs. Yol da çözülmez. Dokümanları okumaktan çok ince farklılıkları olduğunu düşünüyorum. – fyz
@fab Evet, bazı farklılıklar var, ancak yerel komut dosyasını çalıştırmanın tek yolu. Muhtemelen yanlış dosya yolu sağlıyorsunuzdur. Mutlak olanı kullanmayı deneyin ve işe yarayıp yaramadığını görün. – ghost
BTW 'injectJs' doğru DOKÜMANLAR değildir: "Not: argümanları ve değerlendirmek işlevine geri dönüş değeri, basit bir ilkel nesne olmalıdır başparmak kuralı. JSON ile serileştirilebilir, o zaman iyi . Kapanışlar, fonksiyonlar, DOM düğümleri, vb çalışmayacak! " http://phantomjs.org/api/webpage/method/inject-js.html – fyz