Попробовал все обернуть в
<div id="z-2"> и вывел кнопку {name: ls.lang.get('panel_images1'), className:'editor-pictures1', key:'2', beforeInsert: function foo() { $("#z-2").click(); } }, все равно не срабатывает!!! Блин ну что мне за не фарт, только нашел и встроил нужный мне как воздух скрипт, на 1ой кнопке уже 3 сутки мучаюсь (((( |
На флэшку программно не нажмешь. Нужно подкладывать такую же флешку под твою кнопку в тулбаре. Или забить на пользователей старых браузеров и юзать атрибут mutliple - он без всяких плясок с флешками предоставляет мультивыбор файлов.
|
Не канает mutliple
Хорошо, мне впринципе по барабану как и где выводить. Если программно не нажмешь - КАК вот в этом коде выводить var ls = ls || {}; /** * Различные настройки */ ls.settings = (function ($) { this.getMarkitup = function() { return { onShiftEnter: {keepDefault:false, replaceWith:'<br />\n'}, onCtrlEnter: {keepDefault:false, openWith:'\n<p>', closeWith:'</p>'}, onTab: {keepDefault:false, replaceWith:' '}, markupSet: [ {name:'H4', className:'editor-h4', openWith:'<h4>', closeWith:'</h4>' }, {name:'H5', className:'editor-h5', openWith:'<h5>', closeWith:'</h5>' }, {name:'H6', className:'editor-h6', openWith:'<h6>', closeWith:'</h6>' }, {separator:'---------------' }, {name: ls.lang.get('panel_b'), className:'editor-bold', key:'B', openWith:'(!(<strong>|!|<b>)!)', closeWith:'(!(</strong>|!|</b>)!)' }, {name: ls.lang.get('panel_i'), className:'editor-italic', key:'I', openWith:'(!(<em>|!|<i>)!)', closeWith:'(!(</em>|!|</i>)!)' }, {name: ls.lang.get('panel_s'), className:'editor-stroke', key:'S', openWith:'<s>', closeWith:'</s>' }, {name: ls.lang.get('panel_u'), className:'editor-underline', key:'U', openWith:'<u>', closeWith:'</u>' }, {name: ls.lang.get('panel_quote'), className:'editor-quote', key:'Q', replaceWith: function(m) { if (m.selectionOuter) return '<blockquote>'+m.selectionOuter+'</blockquote>'; else if (m.selection) return '<blockquote>'+m.selection+'</blockquote>'; else return '<blockquote></blockquote>' } }, }, {name: ls.lang.get('panel_list'), className:'editor-ul', openWith:' <li>', closeWith:'</li>', multiline: true, openBlockWith:'<ul>\n', closeBlockWith:'\n</ul>' }, {name: ls.lang.get('panel_list'), className:'editor-ol', openWith:' <li>', closeWith:'</li>', multiline: true, openBlockWith:'<ol>\n', closeBlockWith:'\n</ol>' }, {name: ls.lang.get('panel_list_li'), className:'editor-li', openWith:'<li>', closeWith:'</li>' }, {separator:'---------------' }, {name: ls.lang.get('panel_images'), className:'editor-pictures', key:'1', beforeInsert: function() { ls.image.showForm() } }, {name: ls.lang.get('panel_image'), className:'editor-picture', key:'P', beforeInsert: function(h) { jQuery('#window_upload_img').jqmShow(); } }, {name: ls.lang.get('panel_video'), className:'editor-video', replaceWith:'<video>[!['+ls.lang.get('panel_video_promt')+':!:http://]!]</video>' }, {name: ls.lang.get('panel_url'), className:'editor-link', key:'L', openWith:'<a href="[!['+ls.lang.get('panel_url_promt')+':!:http://]!]"(!( title="[![Title]!]")!)>', closeWith:'</a>', placeHolder:'Your text to link...' }, {name: ls.lang.get('panel_user'), className:'editor-user', replaceWith:'<ls user="[!['+ls.lang.get('panel_user_promt')+']!]" />' }, {separator:'---------------' }, {name: ls.lang.get('panel_clear_tags'), className:'editor-clean', replaceWith: function(markitup) { return markitup.selection.replace(/<(.*?)>/g, "") } }, {name: 'cпойлер', className:'editor-spoiler', openWith:'<spoiler title="Заглянуть под спойлер">', closeWith:'</spoiler>' }, {name: ls.lang.get('panel_cut'), className:'editor-cut', replaceWith: function(markitup) { if (markitup.selection) return '<cut name="'+markitup.selection+'">'; else return '<cut>' }} ] } }; return this; }).call(ls.settings || {},jQuery); выводить ту часть - которая отвечает за вывод я так понимаю этой флешки ( по крайней мере именно это я вставляю в шаблоне и все работает) <ul> <li class="upload-link"><a href="javascript:ls.image.showForm()" id="image-start-upload">Загрузить</a></li> </ul> |
По фатку за вывод этого флеша отвечает
<a href="javascript:ls.image.showForm()" id="image-start-upload">Загрузить</a> Вот мне бы это вставить в меню (( |
Думаю тебе придется сначала сгенерировать тулбар, затем добавить флешку в нужную кнопку. Ищи по коду где используется image-start-upload. Если там document.getElementById, то замени на document.querySelector('.editor-picture'). Если там селектор #image-start-upload, то просто измени селектор.
|
В подключаемом скрипте для мультизагрузки
this.showForm = function () { var $select = $('#image-start-upload'); if ($select.length) { var pos = $select.offset(); w = $select.outerWidth(); h = $select.outerHeight(); t = pos.top + h - 30 + 'px'; l = pos.left - 15 + 'px'; $('#image-upload-form').css({ 'top':t, 'left':l }); } $('#image-upload-form').show(); } А на что и где изменить этот селектор ? Простите за тупость ( |
Вот еще в самом начале есть
this.initSwfUpload = function (opt) { var opt = opt || {}; //alert(opt.post_params); opt.button_placeholder_id = 'image-start-upload'; if ($.cookie('ls_image_target_tmp')) { opt.post_params.ls_image_target_tmp = $.cookie('ls_image_target_tmp'); } else { opt.post_params.ls_image_target_tmp = 0; } $(ls.swfupload).bind('load', function () { this.swfu = ls.swfupload.init(opt); $(this.swfu).bind('eUploadProgress', this.swfHandlerUploadProgress); $(this.swfu).bind('eFileDialogComplete', this.swfHandlerFileDialogComplete); $(this.swfu).bind('eUploadSuccess', this.swfHandlerUploadSuccess); $(this.swfu).bind('eUploadComplete', this.swfHandlerUploadComplete); }.bind(this)); ls.swfupload.loadSwf(); } |
Помогите пожалуйста нубу (
|
Походу скрипт флешки ждет именно id. Тогда назначь этот id кнопке. В markupSet может можно указать id, аналогично className? Попробуй добавить id: 'image-start-upload' и посмотреть в инспекторе на кнопку - назначился ли id. Если не назначился, то после генерации тулбара добавь id так:
$('.editor-picture').prop('id', 'image-start-upload'); Только ссылку Загрузить не забудь удалить. |
Сделал так
{name: ls.lang.get('panel_images'), className:'editor-pictures', id:'image-start-upload', key:'1' }, ссылку в шаблоне убрал -но воз и ныне там ( НЕмного не понял как смотреть в консоли где передался или нет ID + куда это добавить $('.editor-picture').prop('id', 'image-start-upload'); |
Часовой пояс GMT +3, время: 20:47. |