2012-08-25 17 views
5

Jekyll'i kullanan GitHub tarafından barındırılan bir sitem var ve her düzende bir dizi tanımlı bir betik oluşturacak şekilde dahili olarak tanımlanan bir betik kullanıyorum.Sorun Jekyll ile Dış JavaScript Bağlama

Bu betiği harici bir tagline.js ürününe taşımaya çalışıyorum ancak şu ana kadar başarısız oldum.

Burada temel sloganlı üreten bir senaryo, davada bu neden kodda bir şey var (ben kolaylığından dolayı, dürüst, hangi şüphe; ama bir ihtimal her zaman var):

 
var tags = [ 'tag1', 'tag2', 'tag3' ];

function getTag() { 
    return tags[Math.floor(Math.random() * tags.length)]; 
} 

$(document).ready(function() { 
    $("#tagline").text(getTag()); 
}); 

Dediğim gibi, dahili olduğunda iyi çalışıyor, ancak dış bağlantıya bağlamayı denemiyorum. Eminim bu sadece <script>'u işaret ettiğim bir durumdur: <script>'u içeren HTML dosyası _layouts/default.html'dur, ancak betik scripts/tagline.js'dur.

DÜZENLEME: Üzgünüm, aslında "<script>" anlamına geldiğimde "<link>" kullanıyordum. Böylece "yanlış etiketi kullanıyorsunuz" çözümü ortadan kaldırıyor! : P

EDIT2: Tam <script> (yine _layouts/default.html bir HTML dosyasında bulunur) şudur: <script type="text/javascript" href="../scripts/tagline.js"></script>

cevap

4

bir komut dosyası çağrı için kullanmak istediğiniz özelliktir src yerine href olduğunu. Örneğin: Ayrıca

<script type="text/javascript" src="../scripts/tagline.js"></script> 

, ben çok site köküne (aka docroot) yerine dosyasına göre gelen yolları kullanarak öneriyoruz. Bu şekilde aynı aramayı birden fazla yerde kullanabilirsiniz ve her zaman doğru konuma ulaşacaktır. Bir docroot göreli URL'si kullanmak için yolu / ile başlatırsınız.

komut dosyası http://example.com/scripts/tagline.js bulunmaktadır konum varsayarsak, yapacak çağrısıdır:

<script type="text/javascript" src="/scripts/tagline.js"></script> 

docroot kullanmadığınızda, sürekli HTML dosyası komut çağırarak yere bağlı yolunu ayarlamak zorunda kalacak ağacında bulunur. Tüm dosyalar aynı yerde bulunuyorsa, bu büyük bir sorun değil, ancak yoldaki sorunları önlemek için iyi bir alışkanlık.

+0

Derp, teşekkürler! Html'de yanlış yaptığım bir şey olduğunu biliyordum. – ChaoticWeg

+0

Herkes, aynı ya da benzer bir şeyi bir zillion kez yaptı. Bazen sadece başka bir çift göz alır. Gittiğine sevindim. –