FANDOM


Genel JavaScript yöntemi importArticles(), bir toplulukta komut dosyaları veya stiller içeren makaleler eklemek için ortak bir arabirim sağlar.

İşlevsellik, varolan importScriptPage ve importStylesheetPage yöntemlerine benzer. Ancak, importArticles() dış topluluklardan makaleler alabilir, birkaç makaleyi tek bir pakette toplayabilir, küçültme ve bunları tek bir istek olarak sunar. Bu, hem dosya boyutunu hem de web trafiğini azaltır ve çok sayıda ek dosya içeren bir topluluğun daha hızlı yüklenmesini sağlar.

Kullanım

importArticles() yöntemi, makaleleri yüklemek için modül tanımlarına dayanır. Modüller temelde anahtar/değer özelliklerine sahip bir JavaScript nesnesidir. Her modülde aşağıdaki özellikler gereklidir:

  • type - Bu özellik, bu modülün içereceği makalelerin türünü gösterir. Desteklenen türler:
    • script - JavaScript içeren bir makale (örneğin "MediaWiki:Common.js").
    • style - CSS içeren bir makale (örneğin "[[[:MediaWiki:Wikia.css]] MediaWiki:Wikia.css]").
  • articles - Almak istediğiniz makaleler. Buraya ne konulacağı hakkında daha fazla bilgi için aşağıdaki makalelerin yerini belirleme bölümüne bakın.

Herhangi bir sayıda modül importArticles() öğesine geçirilebilir. Ancak, Bir modül içindeki tüm öğelerin aynı tipte olması gerekir.

Bulb

Önbellek

importArticle () (ve aşağıda açıklanan ileri teknikler) tarafından oluşturulan linkler maksimum 10 dakika önbelleğe alınır. Dolayısıyla, bir değişiklik yaptığınızda, 10 dakika sonra, topluluğunuza gelen tüm kullanıcılara, importArticles() kullanılırsa, JS ve CSS dosyalarının güncellenmiş sürümünün sunulacağını varsayabilirsiniz.

Makalelerin yerini belirleme

Basit sözdizimi, almaya çalıştığınız makaleleri bulmak için kullanılır. vikiarası bağlantıları ile çok benzer ve uyumludur.

(Önek:<VikiAdı>:)<Makale>

Yukarıdaki parantez içindeki herhangi bir şey isteğe bağlıdır ve yukarıdaki parantez içindeki herhangi bir şey kullanıcı girişini belirtir. İki nokta karakteri, dizeyi ayrıştırmak için farklı bölümlere ayırmak için kullanılır. Önekler bize makaleye nasıl bakmak istediğinizi anlatır ve bunları yerel bir topluluk dışında genellikle bir topluluk adı izler.

Yerel makaleler

Yerel topluluktaki makaleler, başlıklara göre normal şekilde bağlantı verdiğiniz şekilde bulunabilir. Önek veya topluluk adı gerektirmezler. Örneğin, MediaWiki:Common.js makalesini almak istiyorsanız, aşağıdakiler bir importArticles ifadesinde işe yarar:

MediaWiki:Common.js

Dış makaleler

Dış topluluklardan makaleler, normal şekilde bağlantı verdiğiniz şekilde yerleştirilebilir. Ancak, yerel makalelerden farklı olarak, harici makaleler, hangi topluluğu alacağınızı ve bu topluluğu nasıl tanımlayacağınızı belirlemek için bir önek ve topluluk adı kullanılmasını gerektirir. Fandom, topluluklara URL'lerini aramayı destekler. URL aramaları u öneki için gerçekleştirilir. Örneğin, Highlight/code.css adlı makaleyi Dev Viki içinden almak isterseniz, aşağıdakiler işe yarayacaktır. Bir importArticles ifadesinde:

u:dev:Highlight/code.css

Bu sözdizimi, diğer dillerde vikiler için de işe yarar. Örneğin, MediaWiki:Common.js makalesini One Piece Viki'nin İtalyanca sürümünden almak istiyorsanız:

u:it.onepiece:MediaWiki:Common.js

Gelişmiş kullanım

Sahne arkasında, importArticles() yöntemi üç gerekli görevi gerçekleştirir:

  1. ResourceLoader ile kullanmak için uygun şekilde biçimlendirilmiş bir URL oluşturmak,
  2. Doğru şekilde biçimlendirildiklerinden emin olmak için sağlanan modüller üzerinde akıl sağlığı kontrolleri yapılması
  3. Bir hata durumunda kullanıcı geri bildirimini sağlama.

Bununla birlikte, birden fazla ürünün tek bir istekte birleştirilmesi ve küçültülmesinin yararlarını elde etmek için yöntemin kullanımı kesinlikle gerekli değildir. İsterseniz, URL’yi manüel olarak oluşturabilir ve varlıkları CSS’deki @import ifadeleri gibi jQuery.getScript JavaScript’te başka araçlar kullanarak yükleyebilirsiniz.

URL’ye ekleyebileceğiniz birçok parametre olsa da, aşağıdakiler muhtemelen en faydalı olanıdır:

Parametre Parametre Açıklaması
mode ResourceLoader'a makale yükleyeceğimizi söyler. "Makaleler" olarak ayarlanmalıdır.
articles Makalelerin listesi. Birden fazla makale varsa, bunlar "|" karakteriyle ayrılmalıdır.
only Alınacak makalelerin türü. "betikler" veya "stiller" olarak ayarlanmalıdır.
debug Bu parametre varsayılan olarak gerekli değildir, ancak içe aktarılan makalelerdeki sorunların daha kolay hata ayıklanmasına izin vermek için küçültmeyi devre dışı bırakmak için "true" olarak ayarlanabilir.

Sonunda, şuna benzeyen bir URL ile bitmelisiniz:

/load.php?mode=articles&articles=One.css|Two.css&only=styles

Hangileri @import ile birlikte kullanılabilir, şöyle:

@import url("/load.php?mode=articles&articles=One.css|Two.css&only=styles");

CSS, Dropbox gibi Fandom dışındaki başka bir toplulukta veya web sitelerinde barındırılıyorsa, url'de, bu varlık dosyasında olduğu gibi http:// veya https:// olması gerekir:

@import url("https://dl.dropboxusercontent.com/s/0p9ay0nqibx2wr7/manga_list.css");

Kaynak web sitesindeki CSS dosyasını, hangi CSS sayfasına yerleştirilmiş olursa olsun almak için kullanır. Stil sayfası dosyası Fandom'un dışında düzenlenirse ve ham dosyayla içe aktarma sözdizimi kullanılıyorsa, hemen bir değişiklik gerçekleşir. Kullanılan içe aktarma ile düzenlenmiş CSS sayfaları, yürürlüğe girmeden önce bekleme durumuna sahip olur. Alınan CSS, Fandom'da barındırılmayan başka bir internet kaynağından geliyorsa, geçerli olması için Fandom arabirimini özelleştiren kodlara sahip olmalıdır.

JavaScript için, harici üçüncü taraf sitelerinin kullanılması bir güvenlik riski oluşturabilir ve yalnızca Fandom içindeki bir siteden içe aktarılmalıdır.

Örnekler

Biri yerel topluluktan, diğeri harici olan birden çok betik makalesini içe aktarma:

importArticles({
    type: "script",
    articles: [
        "MediaWiki:MyCustomJavaScript.js",
        "u:dev:MediaWiki:External_include.js"
    ]
});

Biri yerel topluluktan, diğeri harici olan birden çok stilde makaleyi içe aktarma:

importArticles({
    type: "style",
    articles: [
        "MediaWiki:Common.css",
        "u:starwars:MediaWiki:External_include.css"
    ]
});

Tek bir yöntem çağrısında birden fazla modülü içe aktarma:

importArticles({
    type: "script",
    articles: [
        "MediaWiki:MyCustomJavaScript.js",
        "u:dev:MediaWiki:External_include.js"
    ]
}, {
    type: "style",
    article: "MediaWiki:Common.css"
});

Alternatif Sözdizimi Örnekleri

importArticles() yöntemi, yaygın kullanım durumları için basitleştirilmiş, alternatif bir sözdizimini de destekler. Kolaylık sağlamak için, importArticle() yöntemi de tanımlanır.

Bir modül tanımı kullanarak yerel topluluktan tek bir dosya dahil etmek:

importArticle({
    type: "style",
    article: "MediaWiki:Common.css"
});

Ayrıca bakınız

Daha fazla yardım ve geri bildirim

Community content is available under CC-BY-SA unless otherwise noted.