Tolong pilih kategori sesuai, jenis posting (diskusi atau bukan) dan sertakan tag/topik yang sesuai seperti komputer, java, php, mysql, dll. Promosi atau posting tidak pada tempatnya akan kami hapus!
- Bagi Anda yang ingin mendaftar, baca link berikut:
http://diskusiweb.com/discussion/50491/how-to-registrasi-diskusiweb-com-baca-ini-terlebih-dahulu
- Cara menyisipkan kode program supaya tampil rapi dan terformat dengan baik di diskusiweb.com: http://www.diskusiweb.com/discussion/50415/cara-menyisipkan-kode-program-di-diskusiweb-com
- Cara posting gambar/image di post Anda: http://www.diskusiweb.com/discussion/47345/cara-menyisipkan-menyertakan-image-pada-posting/p1

Dynamicaly Load JS File

mo nanya nih soal nge-load file .js secara dinamis. seperti ini :

1. Saya punya 2 fitur (contoh: fiturA, fiturB)

2. Tiap fitur ada dalam .js masing2, jadi kayak ada fiturA.js dan fiturB.js, di dalam tiap .js itu ada 1 function (contoh: fiturAFunc(), fiturBFunc())

3. saya punya 2 triger untuk memanggil fitur2 tersebut (contoh: trigerA, trigerB):

function doTriger (triger) {

var elmObj;

switch (triger) {
case "A":
elmObj = trigerA();
break;
case "B":
elmObj = trigerB();
break;
}

document.getElementsByTagName("head")[0].appendChild(elmObj);

elmObj = null;

switch (triger) {
case "A":
fiturAFunc();
break;
case "B":
fiturBFunc();
break;
}

}

function trigerA () {
var elm = document.createElement("script");
elm.src = "http://www.example.com/script/fiturA.js";
elm.type = "text/javascript";
elm.language = "javascript";
return elm;
}

masalahnya adalah :

"ketika function yg ada di dalam fitur2 tersebut di panggil yg ada dalam function doTriger(), gak ketemu, karena ketika function itu dipanggil, si .js file nya belum ke-load sepenuhnya (masih di proses oleh browser)".

Saya harap rekan2 ada yg bisa memberikan saya solusi yang bagus untuk masalah ini.

Terima Kasih.

Comments

  • saya belum pernah mencobanya. ini cuma akal2an saja/hanya ide sepintas, coba js nya ditarik dengan object image
    ambil = new Image()
    ambil.src = "fitur.js"
  • Maaf mas,

    Menurut saya, dengan dibuat objek image, bukannya si javascript nya seperti membuat kan tag "<img>", dimana yg saya butuhkan untuk melakukan load .js memakai tag "<script>". Klo bisa tolong jelaskan kemungkinan dari konsep tersebut.

    Terima Kasih
  • lah dicoba dulu, saya pake image obejct itu supaya js nya mengambil file yang di diperintahkan entah itu file image kek, text kek, apa kek ke dalam memori - gak ada urusan mo dijadiin image
  • oooooooooo, begitu ......... ^_^

    tenang mas ....., saya cuman suka klo ada penjelesan dari konsepnya biar sepaham dulu .... ^_^

    Jadi, setelah di load oleh browser isi dari file nya ..., saya tinggal ambil dari objek image tersebut dan simpan di halamannya.

    Very make sense ..... ^_^
    saya coba dulu mas.

    Terima Kasih.
  • Maaf mas,

    saya coba lihat daftar object yang di hasilkan dari :

    var myJS = new Image();
    myJS.src = "test.js";

    var str = "";
    for (var _key in myJS) {
    str += "<b>" + _key + "</b> :: " + myJS[_key] + "<br/>";
    }

    gak ada object atau function yg bisa di pakai untuk mendapatkan cache nya atau content dari test.js tersebut.

    apakah ada masukan untuk mendapatkan cache/content dari file tersebut. mungkin cara yang lain.

    Terima Kasih.
  • sori soalnya aku juga gak nyoba. coba saja yang lain seprti
    - tambah element script dan attribute src nya
    - load lewat xml api (microsoft.xmldom/document.implementation)
    - load lewat xmlhttp/xmlhttprequest api
    - XML object, load function (eax)
  • Memang ketika pertama kali saya coba berfikir kepada hal tersebut, cuman karena waktu, maka saya coba pake cara sederhana dulu, tetapi emang behavior javascript yang gak pernah menunggu sebuah proses sampai selesai baru menjalankan proses lainnya, maka cara sederhana itu gagal.

    Sepertinya akhirnya saya harus pake AJAX juga sih buat nge-load nya, kemudian di embed langsung kedalam tag "<script>", cuman agak takut aja sih klo ada karakter2 yg bsa mengakibatkan error ketika di olah (mudah2an bisa teratasi).

    Makasih mas atas bantuannya, saya lagi nyoba bikin sebuah web engine structure ato framework (lom tau nantinya kayak gimana) yg bisa di pake ama orang lain untuk membuat web appliaction yang sederhana atau pun yg super dinamis tergantung dari orang yg pake nya dan pengetahuan mereka, tetapi lebih dipermudah, sekaligus dengan web IDE nya yg tinggal drag&drop.

    "For Open Source"

    :D
  • ".. ag "<script>", cuman agak takut aja sih klo ada karakter2 yg bsa mengakibatkan error ket .."

    coba mas nowhere pelajari lebih dalam tentang ecma 262, standard dan core dari javascript, di sana ada referensi mengenai karakter2

    ".. erhana atau pun yg super dinamis tergantung dari orang yg pake nya dan pen .."

    sebenernya ini adalah plan pandumusafir 2010 dimana pandumusafir mengakomodir framework berdasarkan trend dunia, referensi tren dunia diambil dari search engine third party atau crawler dari pandumusafir sendiri. jadi sedikit banyak juga melibatkan komponen artificial intelligent.
  • wah makasih mas, maaf saya msh belajar sih ....., saya coba baca ecma 262 ini, supaya lebih dalam pemahamannya, soalnya klo gak memahami dasar dari semua web ini jadinya gak bisa lebih advance lagi dalam membuat aplikasi.

    Mudah2an engine pandumusafir ini klo udah jadi bisa saya pake supaya lebih canggih ^_^.

    Terima Kasih.
  • Akhirnya ......, buat masukan aja klo2 ada yg mo bikin kayak gini.

    Setelah pusing2 bisa kejadian juga konsep nya :

    1. buatkan dulu tag "<script id='' type='text/javascript' language='javascript'></script>" di halaman html nya.

    2. request file *.js nya ke server side, nanti di server side nya ambil isi dari *.js nya pake stream_get_contents() (untuk php 5 keatas), jangan lupa sebelum hasil pengambilannya di berikan kembali ke si requesternya di stripslashes() terlebih dahulu.

    3. Kemudian setelah si requester nya menerima isi dari *.js file tersebut tinggal di masukan kedalam tag "<script>" tadi, tinggal pake .innerHTML aja.

    Done.

    Terima Kasih
Sign In or Register to comment.