Добро пожаловать!


Дай пять, если только что зарегистрировался!

Вести Борды
16 Марта 2022

Пробудился и обнаружил, что хостинг freesite.vip взял и умер. Перевёл сайт на площадку https://tclabs.byethost5.com/ -- вроде бы даже работает шустрее и без рекламы. С полноценным возвращением к помощнической деятельности на Борде пока неясно -- делов вагон.

19 Ноября 2019

Как и ожидалось, домен jpe.ru превратился в тыкву. Те, кто стали испытывать из-за этого проблемы (пропали иконки, некоторые страницы стали длиннее, чем должны быть и т.п.), могут воспользоваться инструкцией.

29 Августа 2018

Сегодня форумы, у которых в настройках указан адрес папки с кнопками и иконками на домене jpe.ru, стали испытывать проблемы, связанные с непоказом иконок и кнопок. Решение: заменить jpe.ru на forum24.ru или unoforum.pro (по вкусу) в настройках своего форума.

Будущее домена jpe.ru не определено.

Август 2018

Борда недавно сменила владельцев (наконец-то!) - и ближайшее время её будет штормить (уже!). Отнесёмся к происходящему с пониманием и подсобим тем, кто поддерживает сервис сейчас, своими своевременными докладами обо всех нюансах прошлой и нынешней работы сервиса на ФТП!

Что тут происходит

Это личный форум ТехнОкраТа - верного жителя Борды.
Здесь над форумом проводятся эксперименты, пилится некое творчество (которому однажды форум будет посвящён) и раздаются пятюни.
Понравилась какая-то фича? Смело тяните к себе.
Хотите в чём-то поучаствовать? Чувствуйте себя, как дома!

Дружбанские ссылки

Клуб любителей биатлона
Короли созвездий (Beta)
Канал на GoodGame.ru
Фугизяшки

АвторСообщение
Автор




Сообщение: 87
ссылка на сообщение  Отправлено: 29.11.19 04:13. Заголовок: Библиотека JSObjmodule.js (с myhelp.nm.ru - Dante)


function getTreeObj(obj, upLevel, next, downLevel){ 
for(i=0; i < upLevel; i++) {obj = obj.parentNode;}
for(i=0; i < next; i++) {obj = obj.nextSibling;}
for(i=0; i < downLevel; i++){obj = obj.lastChild;}
return obj;
}

/*
***Функция добавления своей кнопки в меню над полем ввода ответа***
*obj - узел в котором выполняется скрипт (textAr.parentNode)
*beforNumb - номер объекта в списке потомков obj, перед которым нужно вставлять новую кнопочку
*Ahref - действия новой ссылки
*Atarget - способ открытия окна на которое ведет ссылка, ежели она куда-то ведет
*IMGsrc - картинка внутри ссылки
*IMGalt - поясняющий текст новой кнопочки
*/

function addMenuAnc(obj, beforNumb, Ahref, Atarget, IMGsrc, IMGalt){
var tagA = new Object();
var newText = document.createTextNode(unescape('%A0%A0'));
var newA = document.createElement('A');
newA.href = Ahref;
newA.target = Atarget;

obj.insertBefore(newA, obj.childNodes[beforNumb]);
tagA = obj.childNodes[beforNumb];
tagA.appendChild(document.createElement('img'));
tagA.lastChild.src = IMGsrc;
tagA.lastChild.alt = IMGalt;
tagA.lastChild.border = 0;
tagA.lastChild.width = 16;
tagA.lastChild.height = 16;
if(obj.childNodes[beforNumb+1].nodeName == 'IMG'){obj.insertBefore(newText, obj.childNodes[beforNumb+1])}
else{obj.insertBefore(newText, tagA)}
} /*end addMenuAnc*/

/*
***Функция возвращающая массив ссылок на элементы с указанным атрибутом class***
*className - название класса
*NodeList - список элементов в котором следует производить поиск. Если этот параметр опущен поиск производится по всему древу элементов
*/

function getElementsByClass(className, NodeList){
if(NodeList == null){
NodeList = document.all;
}

var RezNodeList = new Array();
var l = NodeList.length

for(j=0; j < NodeList.length; j++){
if(NodeList[j].getAttribute('class') == className){
RezNodeList.push(NodeList[j])
}
else{
if(NodeList[j].getAttribute('className') == className){
RezNodeList.push(NodeList[j])
}
}
}
return RezNodeList;
} /*end getElementsByClass*/

/*
***Функция возвращающая ссылку на родительский элемент элемента self с указанным именем тега***
*searchParentTagName - имя искомого родительского тега
*self - элемент от которого ведется поиск
*/

function getParentElementByTagName(searchParentTagName, self){
var tmpElem = self.parentNode;
var tmpNodeName = tmpElem.nodeName.toLowerCase();
searchParentTagName = searchParentTagName.toLowerCase();
while(tmpNodeName != searchParentTagName && tmpNodeName != '#document'){
tmpElem = tmpElem.parentNode;
tmpNodeName = tmpElem.nodeName.toLowerCase();
}
if((tmpNodeName == '#document' && searchParentTagName == '#document') || tmpNodeName != '#document'){
return tmpElem;
}
else{
return null;
}
} /*end getParentElementByTagName*/

/*
***Функция возвращающая NodeList потомков элемента self, с заданым атрибутом name***
*searchChildNodesName - имя искомых потомков
*self - элемент от которого ведется поиск
*/

function getChildNodesByName(searchChildNodesName, self){
var NodeList = new Array();
var scnLen = self.childNodes.length;
for(i=0; i < scnLen; i ++){
self.childNodes.getAttribute('name') == searchChildNodesName ?
NodeList.push(self.childNodes) :
NodeList = NodeList.concat(getChildNodesByName(searchChildNodesName, self.childNodes));
}
return NodeList;
}

/*
***Функция возвращающая NodeList элементов div, содержащих сообщения темы***
*/
function fbb_getMsgs(){
return getElementsByClass('font1', document.getElementsByTagName('div'));
}


I came to chew bubblegum. Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 7 [только новые]


Автор




Сообщение: 88
ссылка на сообщение  Отправлено: 29.11.19 04:15. Заголовок: Пример использования..


Пример использования (с форума telegimnaz.borda.ru):

 
<script>
var textAr = document.all.message;
if(textAr){
document.write('<SCRIPT SRC="http://myhelp.nm.ru/scripts/helper_forum/ForumSm.js" TYPE="text/javascript"><\/SCRIPT>');

//Вызов функции, с параметрами кнопки неразрывного пробела
addMenuAnc(textAr.parentNode, 21, "javascript:p3('','','','"+unescape('%A0%A0%A0')+"','')", "", "http://myhelp.nm.ru/smile/space.gif", "неразрывный пробел");

//Вызов функции, с параметрами кнопки copyright
addMenuAnc(textAr.parentNode, 27, "javascript:p3('','','','©','')", "", "http://foto.radikal.ru/0511/6443a8b50338.gif", "copyright");

//Вызов функции, с параметрами кнопки User Agent
addMenuAnc(textAr.parentNode, 23, "javascript:p3('','','','User Agent: " + navigator.userAgent + "','')", "", "http://foto.radikal.ru/0601/c59ab6c21e6d.gif", "User Agent");}
</script>


I came to chew bubblegum. Спасибо: 0 
ПрофильЦитата Ответить
Автор




Сообщение: 90
ссылка на сообщение  Отправлено: 29.11.19 04:20. Заголовок: Geek пишет: documen..


Geek пишет:

 цитата:
document.write('<SCRIPT SRC="http://myhelp.nm.ru/scripts/helper_forum/ForumSm.js" TYPE="text/javascript"><\/SCRIPT>');


То были дополнительные смайлики. Файл, который подгружался этим скриптом, был таким:

 
var UsInfTD = new Object();
(gb==1)?(UsInfTD = textAr.parentNode):(UsInfTD = textAr.parentNode.previousSibling);
var SmBurrSRC = 'https://web.archive.org/web/20070227024730/http://foto.radikal.ru/0511/cb6854103080.gif';
var SmFolderPath = 'https://web.archive.org/web/20070227024730/http://myhelp.nm.ru/smile/Forum_Sm';
var titleT = 'Доп. смайлы';
var SmNumber = 19;
var DSmImgPath = '';

if(forum == 'hellsingforum'){SmBurrSRC = 'https://web.archive.org/web/20070227024730/http://hellsinguniverse.ru/ect/smiles/mySm3.gif';}

function RPprintSm(){
var index = 0;
if(UsInfTD.lastChild.lastChild.nodeName == 'A'){
UsInfTD.appendChild(document.createElement('TABLE'));
UsInfTD.lastChild.setAttribute("bgColor", diz[5]);
UsInfTD.lastChild.setAttribute("border", 2);
UsInfTD.lastChild.setAttribute("borderColor", diz[8]);
UsInfTD.lastChild.style.position = 'absolute';
UsInfTD.lastChild.appendChild(document.createElement('TBODY'));

UsInfTD.lastChild.lastChild.appendChild(document.createElement('TR'));
for(i=0; i < SmNumber; i++){
if(i - index == 5){UsInfTD.lastChild.lastChild.appendChild(document.createElement('TR')); index += 5;}
UsInfTD.lastChild.lastChild.lastChild.setAttribute("borderColor", diz[8]);
UsInfTD.lastChild.lastChild.lastChild.appendChild(document.createElement('TD')).innerHTML =
'<IMG SRC="'+SmFolderPath+'/FSm'+(i+1)+'.gif" onclick="p3(\''+SmFolderPath+'/FSm'+(i+1)+'.gif\',\'\',\'\',\'[img src=\',\']\');" onmouseover="this.style.cursor=\'hand\'" onmouseout="this.style.cursor=\'default\'">'; UsInfTD.lastChild.lastChild.lastChild.setAttribute("align", "center");}}
else{(UsInfTD.lastChild.style.visibility == 'hidden')?UsInfTD.lastChild.style.visibility = 'visible' : UsInfTD.lastChild.style.visibility = 'hidden';}
}

UsInfTD.appendChild(document.createElement('BR'));
if(gb!=1){
UsInfTD.appendChild(document.createElement('BR'));
UsInfTD.appendChild(document.createElement('center'));}
else{
UsInfTD.appendChild(document.createElement('font'));}
UsInfTD.lastChild.appendChild(document.createElement('A'));
UsInfTD.lastChild.lastChild.href='javascript:RPprintSm();';
if(graf_but_off == 1){UsInfTD.lastChild.lastChild.innerHTML = '<u>'+titleT+'<u>';}
else{UsInfTD.lastChild.lastChild.appendChild(document.createElement('IMG'));
UsInfTD.lastChild.lastChild.lastChild.src = SmBurrSRC;
UsInfTD.lastChild.lastChild.lastChild.border = 0;
UsInfTD.lastChild.lastChild.lastChild.title = titleT;}


I came to chew bubblegum. Спасибо: 0 
ПрофильЦитата Ответить
Автор




Сообщение: 124
ссылка на сообщение  Отправлено: 03.12.19 02:47. Заголовок: Было: (функция для д..


Было: (функция для добавления своей кнопки в пеню над формой ответа)
 
/*
***Функция добавления своей кнопки в меню над полем ввода ответа***
*obj - узел в котором выполняется скрипт (textAr.parentNode)
*beforNumb - номер объекта в списке потомков obj, перед которым нужно вставлять новую кнопочку
*Ahref - действия новой ссылки
*Atarget - способ открытия окна на которое ведет ссылка, ежели она куда-то ведет
*IMGsrc - картинка внутри ссылки
*IMGalt - поясняющий текст новой кнопочки
*/

function addMenuAnc(obj, beforNumb, Ahref, Atarget, IMGsrc, IMGalt){
var tagA = new Object();
var newText = document.createTextNode(unescape('%A0%A0'));
var newA = document.createElement('A');
newA.href = Ahref;
newA.target = Atarget;

obj.insertBefore(newA, obj.childNodes[beforNumb]);
tagA = obj.childNodes[beforNumb];
tagA.appendChild(document.createElement('img'));
tagA.lastChild.src = IMGsrc;
tagA.lastChild.alt = IMGalt;
tagA.lastChild.border = 0;
tagA.lastChild.width = 16;
tagA.lastChild.height = 16;
if(obj.childNodes[beforNumb+1].nodeName == 'IMG'){obj.insertBefore(newText, obj.childNodes[beforNumb+1])}
else{obj.insertBefore(newText, tagA)}
} /*end addMenuAnc*/


Разметка с древних пор немного изменилась.
Теперь меню над полем ответа расположено здесь:
document.all.message.parentNode.childNodes[0]
А дальше объекты-потомки - это следующие друг за другом ссылки с пробелом друг между другом.

Поэтому функция должна стать такой:
 
/*
***Функция добавления своей кнопки в меню над полем ввода ответа***
*obj - узел в котором выполняется скрипт (textAr.parentNode.childNodes[0])
*beforNumb - номер объекта в списке потомков obj, перед которым нужно вставлять новую кнопочку
*Ahref - действия новой ссылки
*Atarget - способ открытия окна на которое ведет ссылка, ежели она куда-то ведет
*IMGsrc - картинка внутри ссылки
*IMGalt - поясняющий текст новой кнопочки
*/

function addMenuAnc(obj, beforNumb, Ahref, Atarget, IMGsrc, IMGalt){
var tagA = new Object();
var newText = document.createTextNode(unescape('%A0%A0'));
var newA = document.createElement('A');
newA.href = Ahref;
newA.target = Atarget;

obj.insertBefore(newA, obj.childNodes[beforNumb]);
tagA = obj.childNodes[beforNumb];
tagA.appendChild(document.createElement('img'));
tagA.lastChild.src = IMGsrc;
tagA.lastChild.alt = IMGalt;
tagA.lastChild.border = 0;
tagA.lastChild.width = 16;
tagA.lastChild.height = 16;
if(obj.childNodes[beforNumb+1].nodeName == 'IMG'){
obj.insertBefore(newText, obj.childNodes[beforNumb+1]);
} else{
obj.insertBefore(newText, tagA);
}
} /*end addMenuAnc*/

Нетрудно заметить, что ничего не поменялось.
Только нужно в obj передавать правильный адрес меню с кнопками.
Поспешил с набором поста так поспешил. Ай молодец. И двух фейспалмов будет мало.

I came to chew bubblegum. Спасибо: 0 
ПрофильЦитата Ответить
Автор




Сообщение: 125
ссылка на сообщение  Отправлено: 03.12.19 03:26. Заголовок: Подключение библиоте..


Подключение библиотеки сейчас:

 
<!-- JSObjmodule Dante -->
<script type='text/javascript' src='http://stlab.freesite.vip/myhelp.nm.ru/scripts/JSObjmodule.js'></script>


- - -
А теперь добавим абы какой тег (после </HTML>), мне уже просто интересно посмотреть, как это будет.

 
<!-- Дополнительные теги с помощью JSObjmodule.js: Начало -->
<script type='text/javascript'>
textAr = document.all.message;
if(textAr){
// находим панель с кнопками над формой ответа
// сейчас в ней 30 кнопок
textArMenu = textAr.parentNode.childNodes[0];

//Вызов функции, с параметрами кнопки copyright
addMenuAnc(textArMenu, 23, "javascript:pst3('','','','©','')", "", "https://i.imgur.com/eITNdlL.gif", "copyright");
}
</script>
<!-- Дополнительные теги с помощью JSObjmodule.js: Конец -->


I came to chew bubblegum. Спасибо: 0 
ПрофильЦитата Ответить
Автор




Сообщение: 126
ссылка на сообщение  Отправлено: 03.12.19 03:33. Заголовок: НЯ!!!1©©©©©..


НЯ!!!1©©©©©

I came to chew bubblegum. Спасибо: 0 
ПрофильЦитата Ответить
Автор




Сообщение: 127
ссылка на сообщение  Отправлено: 03.12.19 03:44. Заголовок: ©©©©©©©©©© ©©©©©©©©©..


©©©©©©©©©©
©©©©©©©©©©
©©©©©©©©©©
©©©©©©©©©©
©©©©©©©©©©
©©©©©©©©©
©©©©©©©©
©©©©©©
©©©©
©

I came to chew bubblegum. Спасибо: 0 
ПрофильЦитата Ответить
Автор




Сообщение: 128
ссылка на сообщение  Отправлено: 03.12.19 03:53. Заголовок: Теперь можно     дел..


Теперь можно
    делать
        отступы
            вот
                так
                        с помощью неразрывных пробелов
Сбылась             мечта             балбеса

I came to chew bubblegum. Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 0
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет