freestuff.gr αρχική σελίδα
 FAQFAQ    ΑναζήτησηΑναζήτηση   Λίστα ΜελώνΛίστα Μελών   Ομάδες ΜελώνΟμάδες Μελών   <b>Εγγραφή Μέλους</b>Εγγραφή Μέλους 
 ΠροφίλΠροφίλ   Επιλογές μέλους Επιλογές   Τα bookmarks μου Τα bookmarks μου   Προσωπικά μηνύματαΠροσωπικά μηνύματα 
  διαφήμιση  

Καλώς ήρθατε στο forum μας! Για να συμμετάσχετε στις συζητήσεις θα πρέπει να είσαστε μέλος. Γίνετε μέλος τώρα!.
 

Βοήθεια Πρόβλημα αποθήκευση δεδομένων χρησιμοποιώντας JS


 Forum index » Δημιουργία Web Sites, Γραφικών & Προγραμματισμός » HTML, CSS και JavaScript » JavaScript και Ajax
Moderators:  Super-Moderators, WebDev Moderators
Εισαγωγή νέου Θέματος   Απάντηση στο Θέμα Σελίδα 1 από 1 [7 Μηνύματα]      Bookmarks Tags: δεδομένωνmouseμεσω Mark the topic unread :: Προηγούμενο θέμα :: Επόμενο θέμα
ΑποστολέαςΜήνυμα
interfix


Μέλος από: 28 Φεβ 2007
Μηνύματα: 14

View users profile
ΜήνυμαΣτις: 21 Δεκ 2008 19:10    Θέμα: Βοήθεια Πρόβλημα αποθήκευση δεδομένων χρησιμοποιώντας JS
Περιγραφή θέματος: Πώς να αποθηκευτεί το mouse path εν μέσω μιας JS Function
Απάντηση με παράθεση  Mark this post and the followings unread

Παιδιά είναι κάπως άσχετος με JS και έχω ένα πρόβλημα. Μου έχουν δώσει ένα κώδικα ο οποίος καταγράφει την κίνηση του ποντικιού στην οθόνη και μετά με το πάτημα ενός κουμπιού την επαναλαμβάνει.

όταν πατάμε το stop_record() function αυτό σταματάει την διαδικασία εγγραφής του mouse path.
Υπάρχει τώρα το Function savePath() - υπάρχει κάποιος τρόπος να αποθηκεύεται αυτό το path κάπου (πχ txt file, xml, ή κάτι τέτοιο)

Ευχαριστώ πολύ εξ αρχής

Εδώ υπαρχει ενα Demo (νομίζω παίζει μόνο με IE) -> Demo

Παραθέτω τον κώδικα


var posX, posY;
var path = new Array();
var index = 0;
var Num = 0;
var save = false;
var track = false
begintag = '<font face="Tahoma, Arial" size=1 color=black>'

function moveTo(x,y) // Cursor picture movement
{
rep.style.pixelLeft=x;
rep.style.pixelTop=y;
}

function drawTo(x,y) // Dot movement
{
dot.style.pixelLeft=x*200/screen.width+150;
dot.style.pixelTop=y*150/screen.height+15;
}

function wTo(x,y) // Data showing
{
data.innerHTML=begintag+'['+x+','+y+']</font>';
}

function savePath() // Path save, if you suppose fast mouse movements, reduce TimeOut
{
if((posX && posY) && save)
{
path[index] = posX;
path[index+1] = posY;
index += 2;
setTimeout('savePath()',10);
}
}

function run() //Replay the record
{
if(Num < (path.length-1))
{
moveTo(path[Num],path[Num+1])
drawTo(path[Num],path[Num+1])
wTo(path[Num],path[Num+1])
Num += 2;
setTimeout('run()',10);
}
else Num=0;
}

function cursor()
{
posX=event.x+document.body.scrollLeft;
posY=event.y+document.body.scrollTop;
}

function record()
{
if (!track)
{
index = 0;
save = true;
savePath();
}
else data.innerHTML=begintag+"A path has been recorded in memory.<br>Click 'Reset' if you wish to record new one.</font>";
}

function stop_record()

{
save = false;
index = 0;
time = (path.length/2)*0.1;
cValue = ""+time;
value = cValue.substring(0,4);
s = (cValue.substring(0) == 1 && cValue.indexOf(".") == -1)?"":"s";
data.innerHTML=begintag+"Time recorded in memory: "+value+" second"+s+" with interval 0.1s</font>";
track = true;
}

function reset()
{
rep.style.pixelLeft=50
rep.style.pixelTop=150
dot.style.pixelLeft=160;
dot.style.pixelTop=40;
data.innerHTML='';
posX=posY='';
path = new Array();
index = 0;
Num = 0;
save = false;
track = false;
}
document.onmousemove = cursor;
interfix


Μέλος από: 28 Φεβ 2007
Μηνύματα: 14

View users profile
ΜήνυμαΣτις: 30 Δεκ 2008 17:31    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

κανεις??

θέλω να δημιουργηθεί το όπoιο αρχείο clientside. δεν τρέχω το script στο internet
dva_dev
Script Master

Μέλος από: 16 Σεπ 2005
Μηνύματα: 256+

View users profile Visit posters website
blog deviantART facebook linkedin 
ΜήνυμαΣτις: 30 Δεκ 2008 21:16    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

Δοκίμασε στην html σελίδα να βάλεις επιπλέον τον παρακάτω κώδικα
κώδικας:
<script type="text/javascript" language="javascript">
function doit()
{
   document.write("X,Y<br>");
   for (i=0; i<path.length-1; i+=2)
   {
      document.write(path[i] + "," + path[i+1] + "<br>");
   }
}
</script>
<a href="javascript:doit()">test create document with path coords</a>
interfix


Μέλος από: 28 Φεβ 2007
Μηνύματα: 14

View users profile
ΜήνυμαΣτις: 07 Ιαν 2009 18:35    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

σε ευχαριστω πολυ, με βοηθησε αρκετα αυτο που μου εγραψες. Τελικα εφτιαξα μια function με τον εξης κωδικα (τον παραθετω μηπως καποιος στο μελλον εχει το ιδιο προβλημα

κώδικας:

function WriteToFile()//function for writiing data into files
   {
    try
    {
     var fso = new ActiveXObject("Scripting.FileSystemObject");//the FileSystemObject object is created
     var TextWriter = fso.OpenTextFile("D:\\Tests.txt", 8)
      TextWriter.WriteLine("Coordinates of Taks 1");
       for (i=0; i<CursorPath.length-1; i+=2)
        {
          TextWriter.write("X,Y --> ");
          TextWriter.WriteLine(CursorPath[i] + "," + CursorPath[i+1]);
        }
        TextWriter.WriteLine("Time to complete task: "+value+" seconds");
        TextWriter.WriteLine(" ");
        TextWriter.WriteLine("---------------------------------------------");
        TextWriter.WriteLine(" ");
        TextWriter.Close();
        window.location = "formtest.htm" // redirect to next task
     }
     catch(err)//catch and redirect to previous page
     {
      var strErr = '<b><font size=14>ERROR</font></b>';
      strErr += '</br></br><b>Error Number:</b> ' + err.number;
      strErr += '</br><b>Description:</b> ' + err.description;
      document.write(strErr);
      document.write("</br></br> Sorry for the inconvenience please click <a href='WriteToText.htm'>here</a> to go back to the tasks");
     }
   }


ευχαριστω και παλι
dva_dev
Script Master

Μέλος από: 16 Σεπ 2005
Μηνύματα: 256+

View users profile Visit posters website
blog deviantART facebook linkedin 
ΜήνυμαΣτις: 08 Ιαν 2009 00:55    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

interfix ανέφερε:
κώδικας:

function WriteToFile()//function for writiing data into files
   {
    ...
     var fso = new ActiveXObject("Scripting.FileSystemObject");//the FileSystemObject object is created
     var TextWriter = fso.OpenTextFile("D:\\Tests.txt", 8)
    ...
   }


Αυτό έχω την εντύπωση ότι θα παίξει μόνο σε windows - αν δεν είναι μπλοκαρισμένη η πρόσβαση στο δίσκο από τα security settings (το linux δεν υλοποιεί/υποστηρίζει com objects).
Οπότε ίσως είναι καλύτερα να φτιάχνεις μια σελίδα και να την εμφανίζεις στον browser του χρήστη, αφήνοντας τον να κάνει αυτός αποθήκευση όπου αυτός νομίζει, παρά να ψάχνεις πως θα δημιουργείς αρχεία σε κάθε λειτουργικό, αν σε αφήνει το επίπεδο ασφάλειας.
interfix


Μέλος από: 28 Φεβ 2007
Μηνύματα: 14

View users profile
ΜήνυμαΣτις: 08 Ιαν 2009 01:44    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

πάρα πολύ σωστά!! μόνο windows link to windows και μόνο Internet explorer. Firefox και στους υπόλοιπους browser δεν λειτουργεί. (εκτός αν μου διαφεύγει κάτι..)

είναι περίεργα τα πράγματα σε read/write files όταν δουλεύεις μόνο με JavaScript και στην περίπτωση μου και με ActiveX. έχεις απόλυτο δίκαιο πάντως

εγώ την χρησιμοποιώ για ερευνητικούς σκοπούς και μόνο για δική μου χρήση. Μου έδωσες ιδέα ομως θα το ψαξω αυτό που λες με το παράθυρο

thnx
soteres2002
S. & H. Moderator

Μέλος από: 05 Μαρ 2004
Βοηθήματα: 1
Νέα: 1
Scripts: 1
Μηνύματα: 256+

Περιοχή: Ιωάννινα
View users profile
ΜήνυμαΣτις: 08 Ιαν 2009 03:04    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

Google gears παιδες, cross-platform θέματα...
Εμφάνιση Μηνυμάτων:   
Εισαγωγή νέου Θέματος   Απάντηση στο Θέμα Σελίδα 1 από 1 [7 Μηνύματα] Mark the topic unread :: Προηγούμενο θέμα :: Επόμενο θέμα
 Forum index » Δημιουργία Web Sites, Γραφικών & Προγραμματισμός » HTML, CSS και JavaScript » JavaScript και Ajax


Σχετικά θέματα
 Θέματα   Απ/σεις   Αποστολέας   Τελευταίο μήνυμα 
ανοιγμα html σελίδας μέσω javascript 1 spyrosgr 21 Ιουν 2013 13:19
alou Εμφάνιση τελευταίου μηνύματος
edit-in-place και update βάσης δεδομένων 21 Serghio 17 Ιουν 2013 11:28
Serghio Εμφάνιση τελευταίου μηνύματος
Jquery | Μεταφορά ονομάτων των input με function 3 nknet 14 Ιουν 2013 10:50
nknet Εμφάνιση τελευταίου μηνύματος
Κλήση εξωτερικής php function 4 argate7 15 Φεβ 2013 08:37
argate7 Εμφάνιση τελευταίου μηνύματος
jQuery function και setTimeout 4 charavge 10 Ιαν 2013 10:02
charavge Εμφάνιση τελευταίου μηνύματος
 
Τώρα είναι 19 Δεκ 2014 12:44 | All times are UTC + 2


Email This Page to Someone! add to Favorites

     Powered by p h p B B © 2001,2005 p h p B B Group
Για άμεση επικοινωνία με τον διαχειριστή του freestuff.gr στο email: freestuff.gr(παπάκι)gmail.com


Copyright © 1999-2013 Freestuff.gr All Rights Reserved  
Version Aegean, designed by N. Tsaganos