Java Script для редактирования содержимого страницы на лету - PullRequest
7 голосов
/ 07 октября 2008

Я пишу статью о редактировании страниц, чтобы вручную выбрать то, что вы действительно хотите напечатать. Существует много инструментов (например, «Распечатать что вам нравится»), но я также нашел этот скрипт. Кто-нибудь знает что-нибудь об этом? Я не нашел никакой документации или ссылок.

javascript:document.body.contentEditable='true'; document.designMode='on'; void 0

Спасибо! * * 1004

Ответы [ 3 ]

9 голосов
/ 07 октября 2008

Свойство contentEditable - это то, что вам нужно - оно поддерживается IE, Safari (и побочным продуктом chrome), и я думаю firefox 3 (увы, не FFX2). И эй, это тоже часть HTML5: D

Firefox 2 поддерживает designMode, но он ограничен отдельными фреймами, тогда как свойство contentEditable применяется к отдельным элементам, поэтому вы можете сделать так, чтобы ваш редактируемый контент воспроизводился на вашей странице более красиво: D

[Edit (olliej): Удаленный пример, поскольку атрибут contentEditable не проходит выходные фильтры SO (несмотря на работу в предварительном просмотре) :(]

[Правка (olliej): я набрал очень простую демонстрацию , чтобы проиллюстрировать, как она ведет себя]

[Edit (olliej): Так что да, атрибут contentEditable в связанной демонстрации отлично работает в IE, Firefox и Safari. Увы, изменение размера - это функция css3, которую поддерживает только webkit, и IE делает все возможное, чтобы бороться почти со всем CSS. вздыхает ]

1 голос
/ 07 октября 2008

document.designMode поддерживается в IE 4+ (который запустил его, по-видимому) и FireFox 1.3+. Вы включаете его, и вы можете редактировать контент прямо в браузере, это довольно банально. Я никогда не использовал его раньше, но, похоже, он идеально подходит для ручного сбора информации для печати. ​​

Отредактировано, чтобы сказать: это также, кажется, работает в Google Chrome. Я тестировал его только в Chrome и Firefox, так как это браузеры, в которых у меня есть консоль javascript, поэтому я не могу гарантировать, что она работает в Internet Explorer, поскольку я никогда не использовал ее лично. Насколько я понимаю, это было свойство только для IE, которое взяли другие браузеры, и в настоящее время оно не соответствует каким-либо стандартам, поэтому я буду удивлен, если Firefox и Chrome его поддержат, но IE остановится.

0 голосов
/ 07 октября 2008

Включает встроенную в браузер функцию редактирования, где она доступна. Как упоминалось выше, designMode - это Gecko, а contentEditable - это все остальные (и добавленные в Gecko 1.9). Эти функции используются в качестве основы (почти?) Каждого редактора WYSIWYG, созданного с использованием HTML / Javascript. Если вы просто печатаете / удаляете, ничего более не нужно, чем предоставленный вами скрипт. (Однако все, начиная с 'void', является излишним.)

Для документации о том, как эти функции могут быть использованы в приложении, лучшим справочником является спецификация Mozilla Midas ( MSDN также может пригодиться ...).

...