का उपयोग कर मेरे पास एक LAMP सिस्टम पर चल रहे TinyMCE संपादक का उपयोग कर एक फ़ॉर्म है। मैं Google डॉक्स के समान एक ऑटोओव सुविधा बनाना चाहता हूं। मैंने दो परिदृश्यों के बारे में सोचा है, हालांकि, दोनों सर्वर पर ओवरहेड का उत्पादन करेंगे।Google डॉक्स स्टाइल ऑटोसेव TinyMCE
- पोस्ट KeyUp
- पोस्ट एक Ajax अनुरोध हर 60 के दशक
जाहिर है पहला बिंदु संभव नहीं है पर एक Ajax अनुरोध। क्या कोई दो बिंदुओं के लिए बेहतर समाधान सुझा सकता है?
संपादित करें 1
ठीक है, तो एक तीसरा विकल्प Thariama के जवाब और मेरी दूसरी बात का एक संयोजन हो सकता है।
3) एक Ajax अनुरोध हर 60 के दशक के बाद अगर कोई है signifcant परिवर्तन जैसे 10 वर्ण या इस बारे में अधिक
किसी भी अग्रिम बहुत सराहना की जाएगी।
संपादित 2
ठीक है मैं बिंदु 3. मामले किसी में के आधार पर मेरे समाधान नमूने है मेरी कोड रुचि है इस तरह बहती है:
मैं JQuery का उपयोग कर रहा हूँ। मेरे पास एक टेक्स्टरेरा वाला एक फॉर्म है जिसमें टिनीएमसीई संलग्न है और कीस्ट्रोक की गिनती स्टोर करने के लिए एक छिपी हुई फ़ील्ड है।
tinyMCE.init({
...
// Callback for counting keystrokes in TinyMCE
handle_event_callback : "keyCount"
});
$(function() {
autoSaveContent();
});
// Callback function - Get count, increment it and then set it
function keyCount(e) {
if(e.type == "keypress") {
var count = parseInt($("#keyCount").val());
count++;
$("#keyCount").val(count);
}
}
// Autosave every 10s if there have been over 30 keystrokes
function autoSaveContent() {
var keyCount = parseInt($("#keyCount").val());
if(keyCount > 30) {
tinyMCE.triggerSave();
var formData = $("#programmedItineraryForm").serialize();
$.post("/path/to/save.php", formData, function(data,textStatus) {
if(data.success) {
$("#keyCount").val(0);
}
});
}
setTimeout('autoSaveContent()',10000);
}
जब संपादक एजेक्स अनुरोध के साथ फोकस और/या हर 60s खो देता है तो आप बचत को ट्रिगर कर सकते हैं। – Andreas