LEX1
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Chauvinist 12:12 15-05-2010 Цитата: вы можете что то придумать со скриптом Sayka Board? | Замена Код: document.addEventListener( 'load', | на Код: window.addEventListener( 'load', | обеспечит частичную работоспособность. Для остального нужна эмуляция document.selection. Добавлено: Более менее рабочая эмуляция. Заменить Код: function sayka_find_selection() { if (document.selection.createRange().text) { var c = document.selection.createRange().duplicate(); return c; } return false; } | на Код: function sayka_find_selection() { var getText=function(){var d=document,s=d.getSelection(),t=d.getElementsByTagName('textarea');if(!s)for(var i=0,e;e=t[i];i++){if(s=e.value.substring(e.selectionStart,e.selectionEnd))break}return s}; if (getText()) { var getTextarea=function(){ var t, ta=document.getElementsByTagName('textarea'); var tl=ta.length-1; do{t=ta[tl]; tl--}while(t && (t.rows<5 || t.offsetHeight==0)); return t; }; var ta=navigator.lastFocusedTextArea || getTextarea(); if(!ta)return; var c = new String(getText()); c.__defineGetter__("text", function() { return ta.value.substring(ta.selectionStart, ta.selectionEnd); }); c.__defineSetter__("text", function(v) { var nStart=ta.selectionStart; var nEnd=ta.selectionEnd; ta.value=ta.value.substring(0,nStart)+v+ta.value.substring(nEnd,ta.value.length); ta.setSelectionRange(ta.value.substring(0,nStart).length, ta.value.substring(0,nStart).length+v.length); ta.focus(); }); return c; } return false; } |
| Всего записей: 3793 | Зарегистр. 24-10-2005 | Отправлено: 22:08 15-05-2010 | Исправлено: LEX1, 23:02 15-05-2010 |
|