2011-01-31 7 views
2

Можно ли разместить всю страницу html на сервере (при условии, что сервер может ее обработать)?Javascript: как опубликовать всю страницу?

Я пытаюсь реализовать следующую настройку. Пользователь вносит некоторые изменения (пользователь выбирает какой-то текст, и этот текст обернут в <span> тегами с некоторым классом) в html и отправляет страницу. Сервер извлекает некоторые важные изменения со страницы. Возможно ли это? Или мне нужно разработать более сложную схему?

ответ

2

Вполне возможно - document.getElementsByTagName('html')[0].innerHTML должен предоставить вам HTML-код страницы, а XMLHttpRequest (AJAX) позволяет POST для отправки данных. Сочетание этих двух функций должно обеспечить вам базовую функциональность.

2

Ну что вам нужно сделать некоторые Javascript магию, чтобы сделать это.

Только стандартные элементы ввода.

В вашем случае вам необходимо использовать Javascript для чтения DOM и конвертировать его в HTML (document.body.innerHTML might work), а затем использовать Ajax для вызова сервера или хранения данных в текстовом поле и отправки формы из сценария.

Но вопрос заключается в том, чтобы сделать изменение, обернуть селектирование в промежутке, у вас уже есть сценарий, выполняющий это, вы можете просто опубликовать действие, например, родительский элемент + начало выбора и конец выбора или, возможно, весь текст внутри элемента на сервер и дублировать действие сервера?

2

Что вы хотите сделать, возможно, но IMHO вам нужно принять другой подход. Вместо того, чтобы пытаться опубликовать всю страницу назад, вам лучше представить весь контент страницы внутри HTML-формы. Каждый из элементов можно стилизовать с помощью CSS, чтобы они не выглядели как поля формы, но они остаются редактируемыми. Вы также можете переключать области внутри статического HTML на обычный элемент, выглядящий в форме, используя Javascript.

Используя методы AJAX, вы можете автоматически публиковать изменения при размытии, а не иметь «Сохранить» пользователя при каждом изменении.

Смежные вопросы