Перейти к контенту

[1.x.x]Цитата с выделением и вставка имени v1.2


Рекомендуемые сообщения

Название: Цитата с выделением и вставка имени v1.2

Добавил: IgorekM

Добавлен: 20 Июл 2003

Обновлен: 20 Июл 2003

Категория: IP.Board 1.x.x

 

Для версии 1.2

При выделении мышкой нужного Вам куска текста, и нажатии на определённую ссылочку над формой ответа, этот выделенный текст будет автоматичски вставляться в форму ответа в тэгах [QUОTE][/QUОTE].

Цитата
Цитата

А также, для обращения конкретно к кому-то из пользователей, отметившихся в теме, при нажатии имя этого пользователя, его имя будет вставлено в форму ответа, в тэгах Bold [В][/В], т.е. имя будет выделено жирным шрифтом.

 

Нажмите здесь, чтобы скачать файл

Ссылка на комментарий
Поделиться на других сайтах

  • Ответы 90
  • Создана
  • Последний ответ

Лучшие авторы в этой теме

Лучшие авторы в этой теме

Загружено фотографий

Если в skin_topic.php заменить

<a href='{$ibforums->base_url}act=Post&CODE=06&f={$ibforums->input[f]}&t={$ibforums->input[t]}&p={$post['pid']}'><{P_QUOTE}></a>

на

<a href="javascript:Insert(selection)" onMouseDown="get_selection()"><{P_QUOTE}></a>

то для вставки выделенного отрезка сообщения можно нажать кнопку Цитата (QUOTE), которая находится рядом с кнопкой Редактировать (EDIT)

Ссылка на комментарий
Поделиться на других сайтах

  • 4 недели спустя...
  • 2 недели спустя...

Че-то у меня в файле /sources/Usercp.phph хоть так:

  	
if ( $open_qreply == FALSE )
{
$open_qreply = 1;
}

хоть так:

  	
if ( $open_qreply == FALSE )
{
$open_qreply = 0;
}

 

Хоть даже вместо FALSE ставить TRUE,

все-равно Быстрый Ответ по-умолчанию спрятан... :D

Ссылка на комментарий
Поделиться на других сайтах

  • 4 недели спустя...

вот я поставил этот хак

почему не появилсь надпись над формой ответа "Для вставки цитаты, выделите нужный текст и нажмите..."?

Ссылка на комментарий
Поделиться на других сайтах

  • 3 недели спустя...
вот я поставил этот хак

почему не появилсь надпись над формой ответа "Для вставки цитаты, выделите нужный текст и нажмите..."?

 

Такая же фигня, мож че не правильно делаю, вроде проверял... :D

Ссылка на комментарий
Поделиться на других сайтах

  • 4 недели спустя...

2IgorekM

Ваш хак не работает в опере (т.е. я так понял не работает quote.js)

Как исправить ?

Ссылка на комментарий
Поделиться на других сайтах

Внимание! После установки данного хака (версии 1.2) наблюдается глюк с пользователями, чьи ники заканчиваются на знак = (равно)

 

Как это выглядит и как это исправить читать здесь: http://www.ibresource.ru/forums/index.php?...t=ST&f=4&t=2482

Ссылка на комментарий
Поделиться на других сайтах

  • 2 недели спустя...

IgorekM

 

И все же опера.... В ней цитата не работает... Хотя на www.forum.ru-board.com работает нормально...

Может можна чегото переделать так чтоб цитата начала работать.

 

Если это конечно поможет вот код с www.forum.ru-board.com.

 

function pasteN(text)
{
  if (text != '') document.postform.post.value = document.postform.post.value + "[b]" + text + "[/b]\n";
}

if (document.selection||document.getSelection) {Q=true} else {var Q=false} 
var txt=''

function copyQ() { 
txt='' 
if (document.getSelection) {txt=document.getSelection()} 
else if (document.selection) {txt=document.selection.createRange().text;} 
txt='[q]'+txt+'[/q]\n'
} 
function pasteQ() { 
document.postform.post.value=document.postform.post.value+txt; 
}  

 

Может его пересобачить как-то можна?

 

Сразу же приношу огромные извинения за то что запостил чужие коды и адреса форума...

Ссылка на комментарий
Поделиться на других сайтах

lib.js

function ins(name){
var input=document.REPLIER.Post;
input.value=input.value+"[b]"+name+"[/b]"+" \n";
}

var txt='' 
function copyQ() { 
txt='' 
if (document.getSelection) {txt=document.getSelection()} 
else if (document.selection) {txt=document.selection.createRange().text;} 
txt='[q]'+txt+'[/q]'} 
function pasteQ() { 
var input=document.REPLIER.Post;
input.value=input.value+txt; 
} 
if (document.selection||document.getSelection) {Q=true} else {var Q=false}

вроде все :D

усе остальное от Игорька.

Ссылка на комментарий
Поделиться на других сайтах

lib.js
это что?
txt='[q]'+txt+'[/q]'}
Инвижн вроде как понимает
 [/QUOTE] текс [/QUOTE]

а не

 [Q] текст [/Q]

 

Может немного растолкуеш мне темному что к чему ? :D

Ссылка на комментарий
Поделиться на других сайтах

  • 4 недели спустя...
<script> 

function copy_selection() {

//for Netscape and Opera

if (document.getSelection) {

var str = document.getSelection();

document.form1.message1.value+="\\quote{"+str+"}";

document.form1.message1.focus();

} else {

//display message if browser does not support above methods.

window.alert("Your browser does not support this feature");

return;

}

}

</script>

<p>Select part of text and click one of the buttons/images below to copy to box.</p>

<button onMouseDown="copy_selection()">button tag</button>

<input type="button" value="input tag" onMouseDown="copy_selection()">

<a href="#" onMouseDown="copy_selection()">a tag</a>

<img src="" alt="img tag" border="1" onMouseDown="copy_selection()">

<form name="form1">

<textarea name="message1">

</textarea>

</form>

 

Вот кстати пример для Оперы. Если грабить выделенный текст кнопкой - то работает. Но только само по себе. А в составе Инвижина - нет.

Ну и полно ругани в инете, что опера GetSelection не поддерживает, ну и второй, нетскейповский метод - тоже.

 

Можно с кнопкой сделать, но почему-то внутри инвижина оно не живет. Может найдется ясная голова, прояснит? :D

Ссылка на комментарий
Поделиться на других сайтах

Во, благодаря Farch сделал и себе цитирование в Quick reply.

 

Значит так, вот мой qoute.js

 

var IE5 = (navigator.userAgent.indexOf('MSIE')!=-1) && (navigator.userAgent.indexOf('Opera')==-1)
var Opera7 = (navigator.userAgent.indexOf('Opera')!=-1) && (navigator.userAgent.charAt(navigator.userAgent.indexOf('Opera')+6)>=7)

function ins(name){
if (document.REPLIER) {
var input=document.REPLIER.Post;
input.value=input.value+"[b]"+name+"[/b]"+" \n";
}
}


var txt='' 
function get_selection() { 
txt='' 
if (document.getSelection) {txt=document.getSelection()
if (!Opera7){
selection = selection.replace(/\r\n\r\n/gi, "_doublecaret_");
selection = selection.replace(/\r\n/gi, " ");
       while (selection.indexOf("  ") !=-1) selection = selection.replace(/  /gi, ""); 
selection = selection.replace(/_doublecaret_/gi, "\r\n\r\n");
}
  } 
else if (document.selection) {txt=document.selection.createRange().text;} 
txt='[QUOTE]'+txt+'[/QUOTE]'} 


function Insert(){ 
 var input=document.REPLIER.Post;
 input.value=input.value+txt;
}

 

а в скине цитата сносится вот такой конструкцией

<a class=tpc title='Для вставки цитаты в форму ответа, выделите ее, и нажмите сюда'  onmouseover="get_selection();" href="java script:Insert();">Цитировать</a>

 

 

Всё прекрасно работает и в Опере и в Эксплорере. Я счастлив %)

Ссылка на комментарий
Поделиться на других сайтах

Всё прекрасно работает и в Опере и в Эксплорере. Я счастлив %)
А у мня нет :D IE - нормально, а ОПЕРА выдаёт ТОЛЬКО
[QUOTE][/QUOTE]

;)

Изменено пользователем Остап
Ссылка на комментарий
Поделиться на других сайтах

fanatic Да и не ясно назначение переменной var IE5 она инициализируется, но не используется ... да и на это if (!Opera7), не видно else ... Не Опера - делаем, а что делаем, если Опера ? Не понятно ;)

Может я ничё не понял ??? :D

Ссылка на комментарий
Поделиться на других сайтах

Этот вариант работает и в Опере и в эксплорере - везде.

Остап, если опера - то не трогаем текст.

 

переменную эксплорера можешь выкинуть.

 

Сноску цитаты взял из моего примера? Селекция должна копироваться по "mousover", т.к. при клике Опера сбрасывает селекцию раньше чем успевает отработаться скрипт.

 

 

Song там-же написано, работает. И видно, что я именно для оперы искал решение. В опере по похому метаду работает вставка и на ixbt, и на ru-board. Вот теперь и у меня :D

Посетители счастливы тоже.

 

Заодно сделал, чтобы по клику на имени пользователя при наличии выделения сразу сносилось и имя и цитата. Ну если ничего не выделено - то просто имя. Удобно!

Ссылка на комментарий
Поделиться на других сайтах

А не, работает :D

после моих переделок (пришлось переделать, потому что у меня в цитате кроме quote ещё указывался автор цитируемого поста и дата цитирования)

Изменено пользователем Song
Ссылка на комментарий
Поделиться на других сайтах

fanatic, Теперь пашет, спасибо ... Я забыл поменять OnMouseDown() на OnMouseOver() .... В этом трабла и порылась ... :D

 

 

Song, ;)

Изменено пользователем Остап
Ссылка на комментарий
Поделиться на других сайтах


×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.