Как стать автором
Обновить

Комментарии 73

и что я должен получить?
В зависмости от броузера. В Опере просто не покажет часть исходника, в хроме покажет, но скопировать целиком не даст.
Проделал, все скопипастилось как обычно. Что я делаю не так? Chrome 7.0.517.44 Win7
Аналогично, Chrome 7.0.517.44 Mac OS 10.6.5
Скриншот: www.dropmocks.com/mKnKz
Оч интересно. А у меня полностью не скопипастилось. Открыл, Ctr+U, Ctrl+A, Ctrl+C и Ctrl+V:

<!doctype html><html><head><meta http-equiv="content-type" content="text/html; charset=UTF-8"></head> 
 
	<body> 
	<ol> 
<li>Open</li>

Конфиг: Chrome 7.0.517.44 Win7
0_o
Chromium 9.0.595.0 (67482) Ubuntu 10.10 — идентично.
Аналогично. Opera 11 бета, debian stable
Тоже самое. Crome 8.0.552.208 beta. Ubuntu 10.04
Проделал, это уличная магия!))) А если серьезно, как вы это сделали?
нулевой байт? wget решает все проблемы с сохранением кода. Хотя идея интересная…

Однако, никто не обещал, что браузеры будут это нормально рендерить.
Да зачем сразу wget? Как минимум, кроме оперы оперы и хрома есть огнелис, который без проблем копирует сорец.
от Ctrl+S не спасает)
Опять же, если сравнить код по Ctrl+S и Ctrl+U — это разные исходники))
Да уж, хорошо Opera реагирует на нулевой байт в HTML.
я практически уверен что это не опера так реагирует, а Ctrl+C виндовый… или его реализация в приложении…
Тогда почему в ФФ работает нормально?
это может также зависеть от того куда вставляешь, ну и опять же стоит посмотреть на то что сохранит ФФ в файл по нажатию кнопки «сохранить как» возможно ФФ на лету парсит байты 0х00…
у меня нету под рукой ФФ чтобы проверить
«Куда вставляешь»: по условию — в блокнот. Так или иначе, но версия про «Ctrl+C виндовый» не проходит.
в фар вставка тоже не работает, но надо обратить внимание, что и обработка Ctrl+C и обработака Ctrl+V ложится на приложение в котором эту комбинацию нажимают.
а уж что дальше делает приложение после нажатия этой комбинации — на совести разработчиков.
> надо обратить внимание, что и обработка Ctrl+C и обработака Ctrl+V ложится на приложение в котором эту комбинацию нажимают.

Это с чего это вы взяли? Это не так.
Это от реализации зависит. Может и приложение, может и винда. И приложение может управлять в каком формате в буфер обмена класть. Например, они могут как null-terminated строку передавать и тогда всё объяснимо. А могут, как rich-text и тогда никакие ноли не страшны.
О чем, собственно, и хотел сказать. А накинулись то как сразу… (
Я вас рассужу: У меня в линуксе точно такая же реакция Хрома. Причем нет разницы будет ли это Control+C или просто выделение и вставка средней кнопкой мыши.
Причем не только в ФФ, но и в любом приложении не замечено глюков с копи/пэст
В 11-ой бете — еще до копирования в самом тексте исходника (который показывает Опера) не видно ничего дальше Open
Это «Опера» реагирует, ошибке сто лет в обед, но она неуловимый Джо, поэтому не правят.
забавный баг с использованием того, что в некоторых языках программирования конец строки помечается кодом 0x00
На маке не сработало не в фф(3.6.3), не в хроме(7.0.517.44), не в опере(10.63). А хоть расскажите, что там должно случиться?
В Опере, например, рендер исходного кода обрывается после <li>Open</li>.
Аналогично. Во всех браузерах результат один: все нормально копируется.
Может быть автор скрины приложит?
Рендер в Опере 11A, такой же в 10,63 под Ubuntu
Opera 11, win 7 x86 — не сработало.
Прошу прощения, глаза кривые после трудового дня) действительно, код не показал полностью
Открыл в фоксе 4.0b, вставил в kwrite, никаких изменений не заметил.
не сработало в Chromium 7, Ubuntu 10.10
Сработало. Код видно весь, а копируется не весь.
Firefox 4.0b7, Win7 64
копируется и вставляется без проблем, от начала до конца и частями.
Интересно, а боты гугла / яндекса / etc не сломаются о нульбайт?
Не ломаются. Любой простейший краулер это обрабатывает (wget тому пример). Вопрос именно в отображении данных.
Firefox 3.6.14 успешно вставил в kate исходник
Так, я что-то не понял всей сути, разжуйте мне плиз, я попробую проглотить.
Упомянутые броузер не способоны переварить нулевой байт, хотя проблема само по себе давняя, и её можно было бы отнести к «детским болезням».
Интересно
НЛО прилетело и опубликовало эту надпись здесь
В HTML не должно быть байтов 0x00
в опере через shift+ctrl+i (dragonfly) нормально
Вот пример неправильного парсинга последним Firefox 3.6.12. (Нужно сохранить как *.html открыть в Fx и действовать согласно инструкции).
В Opera 11.00 beta в исходнике не весь код, в Chrome 9.0.587.0 dev весь (сохранил и открыл WordPad'ом, видно символы, вернее квадратиком они, между *… в Блокноте не видно)
Chrome 7.0.517.44 / Mac, не сработало
Копируется.

Chromium 8.0.558.0 (62903) Built on Ubuntu 10.04, running on Ubuntu 10.10
Опера 10.62 — при Ctrl-U честно сообщила что нашла 0х00 байт и дала 4 варианта на выбор.
И да, исходник открывается, если выбрать варианты с кодировками, а не хек или аски вью, во внешнем редакторе как и обычно.
chrome 9.0.576.0 и firefox 3.6.1 все показывают и копируют
НЛО прилетело и опубликовало эту надпись здесь
Кстати, а я один использую не Ctrl + C, а православный Ctrl + Ins?
Не вы один. Я тоже приучен к Ctrl+Ins. Но последнее время стал привыкать к ctrl+C, ctrl+V.

Я нажимаю ctrl/shift+insert левой рукой.

Ctrl+C, Ctrl+V под левой рукой и они рядом, так что руку не надо тянуть через всю клаву. Так что в некоторых случаях получается быстрее. Советую освоить.
Вслепую я имею в виду.
Справа на клавиатурах тоже есть Ctrl && Shift, не разу не задумывался по этому поводу. Сейчас посмотрел я жму одной правой рукой.
Да. еще рядом c ctrl+c/, ctlr+v находится alt+tab.

Что как раз и нужно: копируешь с одной программы, вставляешь в другую.
Не вы один, насколько я помню Ctrl+Ins && Shift + Ins чаще работают в консоли. Откуда-то от консолей у меня пошла эта привычка.
Save as еще никто не отменял
opera прекрасно открыла мне весь текст в vim.
браузер должен работать браузером, а редактор редактором.
Непонятна необходимость этого?
Почти, кое-где, иногда работает.

Напоминает демонстрацию фокуса одноглазому, когда один глаз закрыть надо…

однако как баг некоторых браузеров — будет полезно.
О пользе и не было речи. Заметка о том, что одним байтом можно нарушить работу source-viewer'а в двух броузерах и о том, как это проверить. Не более того.
Одним битом в kernel.dll можно нарушить работу всей винды. Это достойно хабра?
судя по вашему ответу это достойно холивара:) А разница в обработке нулевого байта браузерами довольно любопытна
это наверно будет полезно в качестве ответа на типичный вопрос из ru.html.chainik «как сделать чтобы код моей страницы никто не увидел?»
Это бородатый баг черти знает какого года. На античате его обсуждали еще в начале 2007 года и уже там написали, что это боян.
На хабре давно был топик про похожий прикол с нуль-байтом в URL. Из-за того, что разные браузеры обрабатывали ссылку по-разному, они показывали разную картинку.
нулбайт… помню пару лет назад в опере подобное было… вот только найти не могу =(
opera 9.25 — исходный код не полный
FF 3.6.12 — показывается и копируется без проблем
~> curl "http://cajax.perso.sfr.fr/selectme.htm"
<!doctype html><html><head><meta http-equiv="content-type" content="text/html; charset=UTF-8"></head>

	<body>
	<ol>
<li>Open</li>*<li>Ctrl+U</li>*<li>Select this text</li>*<li>Paste</li>
</ol>
	</body>
</html>
~> 
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории