sebap123
3.10.2011, 09:23:46
Mam pytanie, sadzę, że trochę głupie, ale ponieważ nigdy tego nie robiłem i nigdzie nie mogę znaleźć info to się muszę spytać, w jaki sposób dodać do skryptu, który znajduje się w jednym pliku skrypt znajdujący się w innym pliku. Próbowałem już dodać go na tej samej zasadzie co w HTML, czyli <script type="text/javascript" src="skrypt.js"></script>, ale tak nie działa.
Może ktoś powiedzieć, jak to powinno wyglądać?
maviozo
3.10.2011, 10:40:52
Możesz skorzystać z jquery $.getScript() albo np. samemu wklejać do kodu skrypt, tak jak robi to google analitycs:
Kod
document.write(unescape("%3Cscript src='" + zrodlo_kodu +"' type='text/javascript'%3E%3C/script%3E"));
Kolejna opcja to dodawanie elementu dynamicznie do head. Poszukaj w googlu
document.createElement
sebap123
3.10.2011, 10:56:39
To nie jest to. Może to pokaże - będzie łatwiej zrozumieć:
jest strona index.html:
w head ma coś takiego
jest również mojskrypt.js, który ma korzystać z funkcji i obiektów zawartych w skrypcie - biblioteka.js
Teraz pytanie, jak dodać coś podobnego do np. php`owskie include do skryptu mojskrypt.js
maviozo
3.10.2011, 11:00:27
Dodajesz ten skrypt w takiej samej formie PRZED skryptem, w którym korzystasz z tamtych funkcji?
sebap123
3.10.2011, 11:15:59
Tak. Zacząlem się jednak zastanawiać na jedna rzecza, która może być ważna. Skrypt który dodaje jest to color picker -
http://jscolor.com/ który jest przypisywany do pola input o klasie color. W moim skrypcie pole input text o klasie color jest dynamicznie dodawane w czasie działania skryptu. Może to ma jakiś wpływ na działanie color pickera?
nospor
3.10.2011, 11:21:50
Tak, ma to dośc duże znaczenie, szczególnie, że po załadowaniu strony twój color picker szuka pól o klasie color, a ty te pola przecież dodajesz dopiero później....
Zajrzyj do przykładów na stronie - masz tam przykład jak kolorować dynamicznie dodawane pola.
maviozo
3.10.2011, 11:22:41
Widzisz, to zmienia postać rzeczy. Myślę, że po dodaniu obiektu powinieneś użyć
Kod
var myPicker = new jscolor.color(document.getElementById('myField1'), {})
myPicker.fromString('99FF33') // now you can access API via 'myPicker' variable
http://jscolor.com/try.php#manual-binding
sebap123
3.10.2011, 11:37:35
Dzięki za pomoc. Właśnie o to mi chodziło.