Seite 1 von 1

Javascript disabled ? Erkennen in CGI-EXE ?

Verfasst: Mi, 24. Apr 2013 12:42
von brandelh
Hi,

es gibt neben mir ja noch andere die Javascript im Browser disabled haben. :D
Ich sehe ab und zu Meldungen wie "Javascript ist ausgeschaltet ... sie müssen ..."

Also muss es möglich sein innerhalb einer Website (im Browser) darauf zu reagieren, aber ich frage mich ...
Kann ich das nicht schon in der CGI-EXE auf dem Server erkennen ?

Bei den Umgebungsvariablen des Servers bin ich nicht fündig geworden, hat jemand mehr gefunden ?

Ich könnte mir auch vorstellen, dass eine HIDDEN Variable per JavaScript auf True/Ein/JA gesetzt wird und wenn die fehlt ist es aus, aber wie macht man das im <FORM>ular ?

Re: Javascript disabled ? Erkennen in CGI-EXE ?

Verfasst: Do, 25. Apr 2013 10:41
von urbi
Hallo Hubert,
das geht mit Test über Ajax,
siehe Script im Header
JSTEST ruft GETSESDAT und setzt adm->isjava auf 1
Die varialble SESSN wird nun von Seite zu Seite weitergegeben
so kann adm->isjava mit GETSESDAT(oHTML, oContext,sessn)[13]
abgefragt werden

Gruß
Rainer

Code: Alles auswählen

IF val(sessn) > 0
   cscript := '<script type="text/javascript"><!--' + crlf
   cscript += '     var oRequest = null;' + crlf
   cscript += '     if(window.XMLHttpRequest) {' + crlf
   cscript += '        oRequest = new XMLHttpRequest();' + crlf
   cscript += '        }' + crlf
   cscript += '     else ' + crlf
   cscript += '       if(window.ActiveXObject) {' + crlf
   cscript += '         oRequest = new ActiveXObject("Microsoft.XMLHTTP");' + crlf
   cscript += '     }' + crlf

   cscript += '     if(oRequest != null) { ' + crlf
   cscript += '           oRequest.open("GET", "'+ccgi+'/waa1gate.exe?WAA_PACKAGE=ADSHOP&WAA_FORM=jstest&id='+sessn+'", true);' + crlf
   cscript += '           oRequest.onreadystatechange = function() {}  ;'
   cscript += '           oRequest.send(null);' + crlf
   cscript += '     }' + crlf
   cscript += '//--></script>' + crlf

   cHtml+=cscript

ENDIF
oHtml:put(cHtml)




FUNCTION JSTEST(oHtml,oContext)
LOCAL ctime 
LOCAL asess,sessn := oHtml:getvar("id")
asess := GETSESDAT(oHTML,oContext,sessn,NIL,NIL,"1")
ctime := SecToTime( TimeToSec(TIME()) - TimeToSec(asess[12]) )
oHtml:put("ok|"+ctime+"|! ")
RETURN NIL

FUNCTION GETSESDAT(oHTML, oContext,sessn,cact,chref,cjava)
LOCAL sess,nnew,knum,cip,date,zeit
Local avar,cname,level,jstest
local ctest,cdir:= curdrive()+":\"+curdir()  
sessn := IIF(sessn=NIL,"",sessn) 
sess:="nix"
   if LEN(sessn) < 10 
      sessn := STRZERO(DOY(DATE()),3) + STRZERO(SECONDS(),5)+RANDOM()
      sess  := sessn 
   ENDIF
   avar := { "Gast ",sessn,"","","","","","",cDir,"","x","","0"}
   cip := oContext:getRemoteAddr()
   DO WHILE !OpenAdmindbf()
      SLEEP(5)
      OpenAdmindbf()
   ENDDO
   DbLocate( {|| TRIM(Adm->sid) == TRIM(sessn) } )    
   IF FOUND()
      IF !EMPTY(chref)
         adm->chref = chref
      ENDIF 
      IF !EMPTY(cact)
         adm->lcookie := cact
      ENDIF
      IF !EMPTY(cjava)
         adm->isjava := cjava
      ENDIF  
      ctest := adm->test             
      cact := TRIM(adm->lcookie) 
      cname:= TRIM(adm->name)
      level:= SUBSTR(adm->message,7,2)
      sess := TRIM(adm->sid) 
      cDir := TRIM(adm->path)
      nnew := adm->news 
      knum :=  ALLTRIM(adm->kunum)
      date :=  adm->datum
      zeit :=  adm->zeit 
      chref:=  adm->chref
      jstest:= adm->isjava
      avar := {cname,sess,level,cip,nnew,knum,date,cact,cDir,chref,ctest,zeit,jstest}
   ENDIF
   DBCLOSEAREA()
RETURN (avar)