2008-09-16 9 views
6

JavaScript dışında bir istemci tarafı dili hakkında bir fikrim vardı ve bu yeni dili de içeren bir Firefox eklentisi geliştirmek istiyorum. Bir sayfa, < komut dosyası türü = "newscript" src = "path/script.ns" />, tıpkı doğal olarak desteklenen bir dilmiş gibi. Eklenti, dil ayrıştırma işleminin tamamını yapar ve tarayıcıdaki her işlemi ve JavaScript'in olduğu gibi web sayfasındaki html ve css'yi ideal olarak gerçekleştirir.Özel bir istemci tarafı dilini ayrıştırmak için bir Firefox eklentisi yazmak

Bir grup Googling yaptım ve temel Firefox eklentilerini yazmakla ilgili bazı makaleler buldum, ancak bu kadar karmaşık bir şey yok.

Bu mümkün mü?

cevap

2

@Nathan de Vries: Hayır, aslında, önerilen NPAPI eklentileri, <script type=...> numaralı telefonu desteklemesine izin vermeyin.

OP: Bu kolay değil, Python için PyDOM ve PyXPCOM - dil bağlantıları konusuna bakın. İlki tam olarak istediğin şeyi yapar - Python için, ama şu anki durumundan emin değilim. Her durumda, ek komut dosyası türlerini desteklemek için kendi Firefox yapınızı oluşturmanız gerekir.

0

Sayfalarınızı kendi özel komut dosyası dilinize bağlamak ister misiniz? Yoksa sadece müşteri tarafı kodunu javascript olmayan bir şeye mi yazıyorsun? İkincisi MileScript, haXe veya Google Web Toolkit

+0

Bu daha çok teorik bir projedir. Bir "yapılabilir mi?", "Tamam, hadi yapalım" tür bir şey. Tabloya yemek koyması gereken bir şey geliştirmek için bir eklentiye ihtiyacınız olan bir dilde geliştirmeye çalışmıyorum. – willurd

+0

Ah, iyi fikir :) Bu Plugin API ve XPCOM – rpetrich

3

çalışırsanız ben yapmak istiyorum anladı ettiyseniz, bir Gecko eklenti yazmak gerekir. Bir eklenti aracılığıyla kendi MIME türünüzü kaydedebilir ve daha sonra Javascript & DOM'yi değiştirebilirsiniz.

Bu eklentinizi yüklemek için sayfadaki bir <object /> veya <embed /> etiketi dahil etmek gerekir, ancak o zaman, <script type="application/x-yourtype" /> aramaya komut dosyası etiketinin innerText kapmak ve eklentisi kullanarak ayrıştırmak anlamına gelir.

Nickolay'ın önerdiği gibi, alternatif, tarayıcı şu anda destekleyen herhangi bir şeyi kullanmak veya tarayıcının özel bir yapısını oluşturmaktır. Daniel Spiewak'ın bir Java uygulamasını kullanma önerisi (veya bir Flash uygulaması da çalışır) da geçerlidir.

peşinde olduğunuz bilgiler Mozilla'nın geliştirici web sitesinde mevcuttur:

+0

Fantastik öğrenmek için iyi bir proje olabilir! JavaScript'i hiç kullanmak istemiyorum, ancak DOM'u manipüle etmek istiyorum.Bir kez daha uyarı kutuları gibi şeyler için, doğrudan Firefox'a ve bunun gibi şeyler için sağladıkları API'ya gitmek istiyorum. – willurd

3

ilginç bir fikir. Bunu yapmak için tarayıcıya özel bir eklenti yazmanız gerekmediğini unutmayın. <script type="text/ruby"> içine gömülü kod çalıştırmak için bir Applet içinde JRuby kullanarak bazı people have experimented. Böyle bir çözüm başlangıçta daha yavaş olabilir (tüm JVM örneğinin yüklenmesinin yükü nedeniyle), ancak uzun vadede (çapraz tarayıcı) çok daha esnek olacaktır. Ayrıca, bir JVM dilinde, Gecko'ya ayakkabılı olarak çalışmaktan daha özel bir dil yorumcusu oluşturmak biraz daha kolay.

+0

Bu proje için yararlı bir fikir ve iyi bir seçenek. – willurd