Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> execCommand insertimage, снятие выделения с картинки после вставк 
:(
    Опции темы
oranze
Дата 22.5.2008, 12:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 11.8.2007

Репутация: нет
Всего: нет



.execCommand('insertimage', false, document.site+'smiles/smile29.gif');

Уважаемые форумчане вопрос следующий после выполнения выше преведенной команды IE 6,7 ставит выделение на изображении, собственно как его снять javascript'ом 
PM MAIL   Вверх
Се ля ви
Дата 23.5.2008, 14:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java/SOAрхитектор
****


Профиль
Группа: Модератор
Сообщений: 2016
Регистрация: 5.6.2004
Где: place without tim e and space

Репутация: 5
Всего: 127



например вызвать .focus() на другом объекте...


--------------------
  )
 (
[_])
проф. блог

Кролики думали, что занимаются любовью, а на самом деле их просто разводили...
PM MAIL WWW Skype GTalk   Вверх
oranze
Дата 26.5.2008, 01:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 11.8.2007

Репутация: нет
Всего: нет



Код

document.write('<link rel="stylesheet" type="text/css" href="/smiles/style.css">\n');
var target='';
        
function convert(string)
{
    var bbcodetext = string;
    var codetype;
    
    bbcodetext = bbcodetext.replace(/<script[^>]*>/gi, "<TEXTAREA>");
    bbcodetext = bbcodetext.replace(/<\/SCRIPT>/gi, "</TEXTAREA>");
    
    
    
    // maybe they put spaces around the = .  Remove them
    bbcodetext = bbcodetext.replace(/ = /gi, "=");
    // maybe they put quotes surrounding the value
    // so look for =" and ">
    bbcodetext = bbcodetext.replace(/=\"/gi, "=");
    //bbcodetext = bbcodetext.replace(/\">/gi, ">");
    // maybe they put single quote surrounding the value
    // so look for =' and '>
    bbcodetext = bbcodetext.replace(/=\'/gi, "=");
    //bbcodetext = bbcodetext.replace(/\'>/gi, ">");    
    
    bbcodetext = bbcodetext.replace(/<param name=movie[^>]*value=/gi, "<movie=");
    
    bbcodetext = bbcodetext.replace(/ BORDER=[^\'\">]*[\'\">]/gi, "");
    //bbcodetext = bbcodetext.replace(/ BORDER=[^\'>]*\'/gi, " ");
    bbcodetext = bbcodetext.replace(/ TARGET=[^\'\">]*[\'\">]/gi, "");
    //bbcodetext = bbcodetext.replace(/ TARGET=[^\'>]*\'/gi, "");
    bbcodetext = bbcodetext.replace(/ CLASSID=[^\'\">]*[\'\">]/gi, "");
    //bbcodetext = bbcodetext.replace(/ CLASSID=[^\'>]*\'/gi, "");
    bbcodetext = bbcodetext.replace(/ ID=[^\'\">]*[\'\">]/gi, "");
    //bbcodetext = bbcodetext.replace(/ ID=[^\'>]*\'/gi, "");
    bbcodetext = bbcodetext.replace(/ NAME=[^\'\">]*[\'\">]/gi, "");
    //bbcodetext = bbcodetext.replace(/ NAME=[^\'>]*\'/gi, "");
    //bbcodetext = bbcodetext.replace(/ ALIGN=[^\"]*\"/gi, "");
    //bbcodetext = bbcodetext.replace(/ ALIGN=[^\']*\'/gi, "");
    //bbcodetext = bbcodetext.replace(/ ALIGN=[^>]*>/gi, ">");
    bbcodetext = bbcodetext.replace(/ STYLE=[^\'\">]*[\'\">]/gi, "");
    //bbcodetext = bbcodetext.replace(/ STYLE=[^\'>]*\'/gi, "");
    bbcodetext = bbcodetext.replace(/ CLASS=[^\'\">]*[\'\">]/gi, "");
    //bbcodetext = bbcodetext.replace(/ CLASS=[^\'>]*\'/gi, "");
    bbcodetext = bbcodetext.replace(/ ALT=[^\'\">]*[\'\">]/gi, "");
    //bbcodetext = bbcodetext.replace(/ ALT=[^\'>]*\'/gi, "");
    bbcodetext = bbcodetext.replace(/ TITLE=[^\'\">]*[\'\">]/gi, "");
    
    
    bbcodetext = bbcodetext.replace(/<BR>/gi, "\r");
    bbcodetext = bbcodetext.replace(/<BR \/>/gi, "\r");
    bbcodetext = bbcodetext.replace(/<P>/gi, "\r\r");
    bbcodetext = bbcodetext.replace(/<P [^>]*>/gi, "\r\r");
    bbcodetext = bbcodetext.replace(/<CODE>/gi, "
Код
");
    bbcodetext = bbcodetext.replace(/<\/CODE>/gi, "
");
    bbcodetext = bbcodetext.replace(/<BLOCKQUOTE>/gi, "[quote]");
    bbcodetext = bbcodetext.replace(/<\/BLOCKQUOTE>/gi, "[/quote]");
    bbcodetext = bbcodetext.replace(/<UL[^>]*>/gi, "[list]");
    bbcodetext = bbcodetext.replace(/<\/UL>/gi, "[/list]");
    bbcodetext = bbcodetext.replace(/<OL[^>]*>/gi, "[list=1]");
    bbcodetext = bbcodetext.replace(/<\/OL>/gi, "[/list]");
    bbcodetext = bbcodetext.replace(/<LI>/gi, "[*]");

    bbcodetext = bbcodetext.replace(/<IMG[\s\S]*?SRC=([\s\S]*?)\"[\s\S]*?>/gi, "[img]$1[\/img]");
    bbcodetext = bbcodetext.replace(/<IMG[\s\S]*?SRC=([\s\S]*?)'[\s\S]*?>/gi, "[img]$1[\/img]");
    
    
    bbcodetext = bbcodetext.replace(/<BIG>/gi, "");
    bbcodetext = bbcodetext.replace(/<\/BIG>/gi, "
");
    bbcodetext = bbcodetext.replace(/<B>/gi, "");
    bbcodetext = bbcodetext.replace(/<\/B>/gi, "
");
    //bbcodetext = bbcodetext.replace(/<span style="font-weight: bold;">))
    bbcodetext = bbcodetext.replace(/<U>/gi, "[u]");
    bbcodetext = bbcodetext.replace(/<\/U>/gi, "[/u]");
    bbcodetext = bbcodetext.replace(/<I>/gi, "[i]");
    bbcodetext = bbcodetext.replace(/<\/I>/gi, "[/i]");
    
        bbcodetext = bbcodetext.replace(/<FONT Face[^\'\">]*[\'\">]/gi, "<FONT");
        bbcodetext = bbcodetext.replace(/ FACE=[^\'\"]*[\'\"]/gi, "");
    
        bbcodetext = bbcodetext.replace(/<PRE[^>]*>/gi, "
Код
");
        bbcodetext = bbcodetext.replace(/<\/PRE>/gi, "
");
        
        bbcodetext = bbcodetext.replace(/<TEXTAREA[^>]*>/gi, "[code2]");
        bbcodetext = bbcodetext.replace(/<\/TEXTAREA>/gi, "[/code2]");
    
    
        bbcodetext = bbcodetext.replace(/<STRONG>/gi, "");
        bbcodetext = bbcodetext.replace(/<\/STRONG>/gi, "
");
        
    bbcodetext = bbcodetext.replace(/<[^>]*>/g, "");

    bbcodetext = bbcodetext.replace(/>/g, "]");
    bbcodetext = bbcodetext.replace(/\'>/g, "]");
    bbcodetext = bbcodetext.replace(/\">/g, "]");
    bbcodetext = bbcodetext.replace(/\']/g, "]");
    bbcodetext = bbcodetext.replace(/\"]/g, "]");
    
    return bbcodetext;
} // end function convert()


        function hideBlock(target)
        {
            document.getElementById(target).style.display = 'none'; 
        }
        
        function addEvent(oNode,sEvent,fpNotify){
                if(!oNode) return;
            
                if(oNode.attachEvent){
                    sEvent='on'+sEvent;
                    oNode.attachEvent(sEvent,fpNotify);
                }else if(oNode.addEventListener){
                    oNode.addEventListener(sEvent,fpNotify,false);
                }
            }
            
            var MSIE=false;
            var Gecko=false;
            var Opera=false;
            
            if(navigator.appName=='Netscape'){
                Gecko=true;
            }else if(navigator.appName=='Opera'){
                Opera=true;
            }else if(navigator.appName=='Microsoft Internet Explorer'){
                MSIE=true;
            }
            
            
            var dWebEd=null;
            var edWin=null;
            var edDoc=null;
            
            function iframe2wysiwyg()
            {
                dWebEd=document.getElementById('ifr_wysiwyg');
                edDoc=dWebEd.contentWindow.document;
                edWin=dWebEd.contentWindow;
            
                try{
                    // Gecko
                    if(typeof(dWebEd.contentDocument)!="undefined")
                            dWebEd.contentDocument.designMode='On';
            
                    // IE
                    if(typeof(dWebEd.contentWindow)!="undefined")
                            dWebEd.contentWindow.document.designMode='On';
                }
                catch(e){
                    //alert("Can't go into WYSIWYG mode! :(");
                    return;
                }
                //dWebEd.contentWindow.document.designMode='On';
            
                try{
                    if(typeof(edDoc.queryCommandSupported)!="undefined" && edDoc.queryCommandSupported("useCSS"))
                        edDoc.execCommand("useCSS",false,true);    // Opera
            
                    if(typeof(edDoc.queryCommandSupported)!="undefined" && edDoc.queryCommandSupported("styleWithCSS"))
                        edDoc.execCommand("styleWithCSS",false,true);    // Gecko
                }
                catch(e){}
            
                function addButton(oParent,sName,rName)
                {
                    var str="";
                    if(sName=='') str="<div class='sp'></div>";
                    else str="<a href=\"#\" onclick=\"act(this,'"+sName+"',''); return false\"><img src=\"/smiles/"+sName.toLowerCase()+".gif\" width=\"16\" height=\"16\" title=\""+rName+"\" /></a>\n";
            
                    oParent.innerHTML+=str;
                }
                function addSmile(oParent,sName,rName)
                {
                    var str="";
                    if(sName=='') str="<div class='sp'></div>";
                    else str="<a href=\"#\" onclick=\"act(this,'"+sName+"',''); return false\"><img src=\"/smiles/"+sName.toLowerCase()+".gif\" title=\""+rName+"\" /></a>\n";
                    oParent.innerHTML+=str;
                }
            
                var obj=document.getElementById('toolbar');
                //obj.innerHTML="";
                //addButton(obj,'New','');
                //addButton(obj,'');
                //addButton(obj,'Bold','');
                //addButton(obj,'Italic','');
                //addButton(obj,'Underline','');
                //addButton(obj,'');
                //addButton(obj,'JustifyLeft','');
                //addButton(obj,'JustifyCenter','');
                //addButton(obj,'JustifyRight','');
                //addButton(obj,'JustifyFull','');
                //obj.innerHTML+='<br>';
                addSmile(obj,'Smile1', 'Smile');
                addSmile(obj,'Smile2', 'Smile');
                addSmile(obj,'Smile3', 'Smile');
                addSmile(obj,'Smile4', 'Smile');
                addSmile(obj,'Smile5', 'Smile');
                addSmile(obj,'Smile6', 'Smile');
                addSmile(obj,'Smile7', 'Smile');
                addSmile(obj,'Smile8', 'Smile');
                addSmile(obj,'Smile9', 'Smile');
                addSmile(obj,'Smile10', 'Smile');
                obj.innerHTML+='<br>';
                addSmile(obj,'Smile11', 'Smile');
                addSmile(obj,'Smile12', 'Smile');
                addSmile(obj,'Smile13', 'Smile');
                addSmile(obj,'Smile14', 'Smile');
                addSmile(obj,'Smile15', 'Smile');
                addSmile(obj,'Smile16', 'Smile');
                addSmile(obj,'Smile17', 'Smile');
                addSmile(obj,'Smile18', 'Smile');
                addSmile(obj,'Smile19', 'Smile');
                addSmile(obj,'Smile20', 'Smile');
                obj.innerHTML+='<br>';
                addSmile(obj,'Smile21', 'Smile');
                addSmile(obj,'Smile22', 'Smile');
                addSmile(obj,'Smile23', 'Smile');
                addSmile(obj,'Smile24', 'Smile');
                addSmile(obj,'Smile25', 'Smile');
                addSmile(obj,'Smile26', 'Smile');
                addSmile(obj,'Smile27', 'Smile');
                addSmile(obj,'Smile28', 'Smile');
                addSmile(obj,'Smile29', 'Smile');
            }
            
            
            function make(target, site)
            {
                document.site = site;
                document.target = target;
                document.write('<div id="toolbar" width="500"></div>');
                document.write('<iframe id="ifr_wysiwyg" src="about:blank" width="500"></iframe>\n');
                addEvent(window,"load",iframe2wysiwyg);
            }
            
            function get()
            {
                s=edDoc.getElementsByTagName('BODY')[0].innerHTML;
                s = convert(s);
                //s=s.replace(/&lt;a href=/g,'&lt;url=');
                //s=s.replace(/&lt;\/a/g,'&lt;\/url');
                //s=s.replace(/&lt;/g,'[');
                //s=s.replace(/&gt;/g,']');    
                edDoc.getElementsByTagName('BODY')[0].innerHTML = s; 
                document.getElementById(document.target).value=edDoc.getElementsByTagName('BODY')[0].innerHTML;
                edDoc.getElementsByTagName('BODY')[0].innerHTML = '';
            }
            
            function getEdSelection()
            {
                var range="";
            
                if(typeof(edWin.document.selection)!="undefined"){
                    range=edWin.document.selection.createRange();
                }else{
                    range=edWin.getSelection();
                    range=range.getRangeAt(range.rangeCount-1);
                }
                return range;
            }
            
            function act(oSender, sAction, sParam)
            {
                switch(sAction){
                //case 'New':
                //    edDoc.getElementsByTagName('BODY')[0].innerHTML='';
                //    break;
                //case 'Bold':
                //case 'Italic':
                //case 'Underline':
                //case 'JustifyLeft':
                //case 'JustifyCenter':
                //case 'JustifyRight':
                //case 'JustifyFull':
                //    try{
                //    edDoc.execCommand(sAction,false,getEdSelection());
                //    }catch(e){}
                //    break;
                case 'Smile1':

                    edDoc.execCommand('insertimage',false, document.site+'smiles/smile1.gif');
                    break;
                case 'Smile2':
                    edDoc.execCommand('insertimage', false, document.site+'smiles/smile2.gif');
                    break;
                case 'Smile3':
                    edDoc.execCommand('insertimage', false, document.site+'smiles/smile3.gif');
                    break;
                case 'Smile4':
                    edDoc.execCommand('insertimage', false, document.site+'smiles/smile4.gif');
                    break;
                case 'Smile5':
                    edDoc.execCommand('insertimage', false, document.site+'smiles/smile5.gif');
                    break;
                case 'Smile6':
                    edDoc.execCommand('insertimage', false, document.site+'smiles/smile6.gif');
                    break;
                case 'Smile7':
                    edDoc.execCommand('insertimage', false, document.site+'smiles/smile7.gif');
                    break;
                case 'Smile8':
                    edDoc.execCommand('insertimage', false, document.site+'smiles/smile8.gif');
                    break;
                case 'Smile9':
                    edDoc.execCommand('insertimage', false, document.site+'smiles/smile9.gif');
                    break;
                case 'Smile10':
                    edDoc.execCommand('insertimage', false, document.site+'smiles/smile10.gif');
                    break;
                case 'Smile11':
                    edDoc.execCommand('insertimage', false, document.site+'smiles/smile11.gif');
                    break;
                case 'Smile12':
                    edDoc.execCommand('insertimage', false, document.site+'smiles/smile12.gif');
                    break;
                case 'Smile13':
                    edDoc.execCommand('insertimage', false, document.site+'smiles/smile13.gif');
                    break;
                case 'Smile14':
                    edDoc.execCommand('insertimage', false, document.site+'smiles/smile14.gif');
                    break;
                case 'Smile15':
                    edDoc.execCommand('insertimage', false, document.site+'smiles/smile15.gif');
                    break;
                case 'Smile16':
                    edDoc.execCommand('insertimage', false, document.site+'smiles/smile16.gif');
                    break;
                case 'Smile17':
                    edDoc.execCommand('insertimage', false, document.site+'smiles/smile17.gif');
                    break;
                case 'Smile18':
                    edDoc.execCommand('insertimage', false, document.site+'smiles/smile18.gif');
                    break;
                case 'Smile19':
                    edDoc.execCommand('insertimage', false, document.site+'smiles/smile19.gif');
                    break;
                case 'Smile20':
                    edDoc.execCommand('insertimage', false, document.site+'smiles/smile20.gif');
                    break;
                case 'Smile21':
                    edDoc.execCommand('insertimage', false, document.site+'smiles/smile21.gif');
                    break;
                case 'Smile22':
                    edDoc.execCommand('insertimage', false, document.site+'smiles/smile22.gif');
                    break;
                case 'Smile23':
                    edDoc.execCommand('insertimage', false, document.site+'smiles/smile23.gif');
                    break;
                case 'Smile24':
                    edDoc.execCommand('insertimage', false, document.site+'smiles/smile24.gif');
                    break;
                case 'Smile25':
                    edDoc.execCommand('insertimage', false, document.site+'smiles/smile25.gif');
                    break;
                case 'Smile26':
                    edDoc.execCommand('insertimage', false, document.site+'smiles/smile26.gif');
                    break;
                case 'Smile27':
                    edDoc.execCommand('insertimage', false, document.site+'smiles/smile27.gif');
                    break;
                case 'Smile28':
                    edDoc.execCommand('insertimage', false, document.site+'smiles/smile28.gif');
                    break;
                case 'Smile29':
                    edDoc.execCommand('insertimage', false, document.site+'smiles/smile29.gif');
                    break;
                default:
                }
                edWin.focus();
                if(Opera) dWebEd.focus();
            }


Каким образом? что уже только не пробовал IE вообще или не переваривает или без результатно
PM MAIL   Вверх
oranze
Дата 26.5.2008, 01:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 11.8.2007

Репутация: нет
Всего: нет



решение найдено, хотелось красивее но похоже селяви:
range.pasteHTML('<img src="/smiles/smile1.gif"> ');
PM MAIL   Вверх
oranze
  Дата 26.5.2008, 02:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 11.8.2007

Репутация: нет
Всего: нет



теперь вопрос возник такой: как используя вышепреведенный код подсчитать количество символов? Точнее как на сгенерированный design mode="on" frame повесить совытие onkeydown или что-то похожее?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0854 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.