Autor | Zpráva | ||
---|---|---|---|
tomi Profil * |
#1 · Zasláno: 23. 8. 2007, 11:46:22
prosim Vas nepoznate nejaky simple script podobny tw-sack.js , ale kde sa da povolit aby sa s volanou strankou volali aj dalsie scripty a styly?
|
||
peta Profil |
#2 · Zasláno: 23. 8. 2007, 14:18:54
tomi
???????? ajax je souhrn asi 200 JS funkci. http://ajaxian.com/ "tw-sack.js" neznam "kde sa da povolit aby sa s volanou strankou volali aj dalsie scripty a styly" tohle nechapu vubec, scripty se daji pridavat normalne, totez styly google.com javascript createElement example |
||
tomi Profil * |
#3 · Zasláno: 23. 8. 2007, 15:18:31
domovska stranka nefunguje ale scripty su aj n www.dhtmlgoodies.com v sekcii ajax.
/* Simple AJAX Code-Kit (SACK) v1.6.1 */ /* ©2005 Gregory Wild-Smith */ /* www.twilightuniverse.com */ /* Software licenced under a modified X11 licence, see documentation or authors website for more details */ function sack(file) { this.xmlhttp = null; this.resetData = function() { this.method = "POST"; this.queryStringSeparator = "?"; this.argumentSeparator = "&"; this.URLString = ""; this.encodeURIString = true; this.execute = false; this.element = null; this.elementObj = null; this.requestFile = file; this.vars = new Object(); this.responseStatus = new Array(2); }; this.resetFunctions = function() { this.onLoading = function() { }; this.onLoaded = function() { }; this.onInteractive = function() { }; this.onCompletion = function() { }; this.onError = function() { }; this.onFail = function() { }; }; this.reset = function() { this.resetFunctions(); this.resetData(); }; this.createAJAX = function() { try { this.xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e1) { try { this.xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e2) { this.xmlhttp = null; } } if (! this.xmlhttp) { if (typeof XMLHttpRequest != "undefined") { this.xmlhttp = new XMLHttpRequest(); } else { this.failed = true; } } }; this.setVar = function(name, value){ this.vars[name] = Array(value, false); }; this.encVar = function(name, value, returnvars) { if (true == returnvars) { return Array(encodeURIComponent(name), encodeURIComponent(value)); } else { this.vars[encodeURIComponent(name)] = Array(encodeURIComponent(value), true); } } this.processURLString = function(string, encode) { encoded = encodeURIComponent(this.argumentSeparator); regexp = new RegExp(this.argumentSeparator + "|" + encoded); varArray = string.split(regexp); for (i = 0; i < varArray.length; i++){ urlVars = varArray[i].split("="); if (true == encode){ this.encVar(urlVars[0], urlVars[1]); } else { this.setVar(urlVars[0], urlVars[1]); } } } this.createURLString = function(urlstring) { if (this.encodeURIString && this.URLString.length) { this.processURLString(this.URLString, true); } if (urlstring) { if (this.URLString.length) { this.URLString += this.argumentSeparator + urlstring; } else { this.URLString = urlstring; } } // prevents caching of URLString this.setVar("rndval", new Date().getTime()); urlstringtemp = new Array(); for (key in this.vars) { if (false == this.vars[key][1] && true == this.encodeURIString) { encoded = this.encVar(key, this.vars[key][0], true); delete this.vars[key]; this.vars[encoded[0]] = Array(encoded[1], true); key = encoded[0]; } urlstringtemp[urlstringtemp.length] = key + "=" + this.vars[key][0]; } if (urlstring){ this.URLString += this.argumentSeparator + urlstringtemp.join(this.argumentSeparator); } else { this.URLString += urlstringtemp.join(this.argumentSeparator); } } this.runResponse = function() { eval(this.response); } this.runAJAX = function(urlstring) { if (this.failed) { this.onFail(); } else { this.createURLString(urlstring); if (this.element) { this.elementObj = document.getElementById(this.element); } if (this.xmlhttp) { var self = this; if (this.method == "GET") { totalurlstring = this.requestFile + this.queryStringSeparator + this.URLString; this.xmlhttp.open(this.method, totalurlstring, true); } else { this.xmlhttp.open(this.method, this.requestFile, true); try { this.xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded") } catch (e) { } } this.xmlhttp.onreadystatechange = function() { switch (self.xmlhttp.readyState) { case 1: self.onLoading(); break; case 2: self.onLoaded(); break; case 3: self.onInteractive(); break; case 4: self.response = self.xmlhttp.responseText; self.responseXML = self.xmlhttp.responseXML; self.responseStatus[0] = self.xmlhttp.status; self.responseStatus[1] = self.xmlhttp.statusText; if (self.execute) { self.runResponse(); } if (self.elementObj) { elemNodeName = self.elementObj.nodeName; elemNodeName.toLowerCase(); if (elemNodeName == "input" || elemNodeName == "select" || elemNodeName == "option" || elemNodeName == "textarea") { self.elementObj.value = self.response; } else { self.elementObj.innerHTML = self.response; } } if (self.responseStatus[0] == "200") { self.onCompletion(); } else { self.onError(); } self.URLString = ""; break; } }; this.xmlhttp.send(this.URLString); } } }; this.reset(); this.createAJAX(); } |
||
peta Profil |
#4 · Zasláno: 23. 8. 2007, 20:17:20
tomi
stale mi ale neni jasny dotaz. Co chces kde povolovat? Toto je jen JS cast, ktera ovlada posilani informaci z formulare a zpet. Zadne scripty to nevytvari, zadne CSS, pouze posila XML data. Nic vix. |
||
tomi Profil * |
#5 · Zasláno: 24. 8. 2007, 09:07:12
mas stranku ktoru si chces cez ten script zavolat. Na tej stranke volam aj javascript, ale ten sa nenacita s tou strankou a nespusti. Potrebujem, ak sa da, aby mi ten script tw-sack.js volal aj tie scripty na stanke. Uz je to myslim jasne.
|
||
peta Profil |
#6 · Zasláno: 24. 8. 2007, 14:36:03
tomi
na jake strance, jaky zas javascript? Nikde nic nevidim. Kde muzu kliknout, abych si mohl otevrit JS konzolu nebo neco? Pokud je problem v tom, ze do XML dokumentu pridas tag script, pak je treba ten tag spravne zpracovat, treba jako innerhtml nebo createElement. XML jsou jenom data. jako na chatu. Pri prenosu dat se zadne scripty spoustet nedaji. Az po ukonceni prenosu. Co, kdybys zkusil ten ajax porovnat s nekterym jinym? Jestli to chapu, tak ty chces po prichodu odpovedi pokracovat nejakym scriptem, ktery ji zpracuje. Nechce se mi ted hledat, kde to upravit. http://www.volny.cz/peter.mlich/www.htm#mssub16 http://www.volny.cz/peter.mlich/www.htm#msub13 - minichat ajax |
||
Časová prodleva: 18 let
|
0