2010-04-01 3 views
0

Играя с shjs, чтобы отображать номера строк, разрывов строк и пробелы, я натолкнулся на это: используя псевдоэлементы для> скрытых <символов, он ведет себя так, как ожидалось (в Firefox): никаких номеров строк, пробелов или строк endings копируются в буфер обмена.Как предотвратить IE и Opera от копирования псевдоэлементов в буфер обмена?

Поскольку IE8 отображает все хорошо, я был удивлен, что он ведет себя иначе с копией + вставкой.

Copy + вставка строки из FF выглядит так (и это хорошо):

config = ({ 

В то время как то же самое, скопированный из IE8 гласит:

 
14·config· =· ({¶ 

То же самое с Opera, кстати.

Кто-нибудь знает, какое поведение является правильным, и если есть способ научить браузеру желаемому поведению?

Заранее спасибо

ответ

1

Opera и IE правильно: Там нет правила, которое запрещает копирование контента. Поведение Mozilla является одной из многих причин, почему вы не можете использовать элемент <q> ...

К сожалению, вы не можете привести все браузеры в соответствие. Сгенерированный контент не является частью DOM и поэтому недоступен для Javascript.

+0

Большое спасибо за быстрый ответ. Поскольку Javascript не имеет доступа к сгенерированному контенту, никакой sanitazion не потребуется, оставляя только истинный dom при доступе через javascript. Это хорошая новость по этому вопросу, по крайней мере. – nonano