2009-03-03 12 views
1

Ich bin neu in jquery und sogar javascript. Ich versuche, ein System zu erstellen, in dem Sie eine sehr einfache, statische Seite bearbeiten können, indem Sie sich anmelden und einfach divs ziehen und skalieren. Das System funktioniert bis zu dem Punkt, an dem Sie die Site bearbeiten müssen, aber das Problem besteht darin, wie Sie die Koordinaten und Größen der Divs speichern können.Elementposition und -größe speichern (JQuery ui resizable and dragable)

Das System verwendet nicht mysql, da die Anmeldung nur für den Site-Autor erfolgt. Ich möchte auch versuchen, Javascript nicht zu benötigen, um nur die Seite anzusehen (die Koordinaten und die Größen von einer Akte über php erhalten).

Also, im Grunde brauche ich eine Möglichkeit, div Breite, Höhe, links und oben zu überprüfen und speichern Sie sie in eine Datei, wenn der Autor den Speichern-Knopf drückt.

Antwort

1

Sie könnten die Variablen in einem Cookie auf dem Computer des Benutzers speichern (jQuery hat keine native Cookie-Unterstützung, aber this plugin gibt es Ihnen).

Allerdings erfordert dies Javascrippw, die Sie erwähnen, dass Sie nicht benötigen möchten. Wenn Sie jedoch möchten, dass der Benutzer Module auf einer Seite ziehen kann, können Sie dies nicht ohne die Hilfe von js tun.

Wenn Sie diese Daten serverseitig speichern möchten, dann kann ich nur eine Datenbank verwenden, um sie in einem dateibasierten Cache zu speichern.

+0

Entschuldigung, wenn ich nicht richtig erklärt habe. Aber ich meine, dass Javascript nur im Bearbeitungsmodus benötigt wird. Um nur die Website ohne Bearbeitungswerkzeuge anzuzeigen, ist kein JavaScript erforderlich. Und ich kann Cookies nicht wirklich verwenden, da der Autor bearbeiten kann, wie jeder andere die Seite sieht. –

+0

Ooh, tut mir leid, dass ich deinen Beitrag falsch gelesen habe. Ich denke, der dateibasierte Cache ist dann Ihre einzige Option. – obeattie

0

Verwenden Sie die PHP-Serialisierung, um die Daten in serialisierten Arrays zu speichern und sie über AJAX in JSON (JavaScript Object Notation) an Ihr JavaScript zu senden.

Auf diese Weise können Sie tun:

$s_my_data = unserialize(file_get_contents($s_my_filename)); 
$s_my_json_data = json_encode($s_my_data); 

Wenn Sie dies in über AJAX lesen Sie in der Lage sein, darauf zuzugreifen wie ein JavaScript-Objekt, zB:

myObject.myProperty 

this helps;)