Administ-or | Отредактировал Administ-or - Четверг, 12 Июля 2012, 16:36 Дата: 12 Июля 2012, 15:57 | Сообщение # 1 | ● ● ● ● ● 1 сообщение Статус: Offline | Жду совета ребят которые хорошо разбираются в скриптах. Опишу в деталях суть проблемы: Я создал небольшую размером 230 на 257 пикселей картинку своей деревни с размещением домов. То есть интерактивную карту с тегами area и координатами, при наведении на определенный дом, всплывает название (фамилия хозяев этого дома), при нажиме открывается в другом окне фотография дома (то есть ссылка). Как известно, на uCoz имеются ограничения по количеству знаков кода которые можно загрузить в первый контейнер - это 40 000 знаков. Так как этот скрипт очень большой, учитывая координаты и ссылки, я обратился к профессионалу который за деньги создал мне такой скрипт (в них я разбираюсь плохо), но только с условием дачи ему пароля от ПУ. Этот код работает таким образом. Я его приведу: Его я закидаю в первый контейнер Code <!-- Start SELO --> <div id="tcv" class="boxContent" align="center"> <script id="opl" src="http://exper.at.ua/Interakt_karta/SSC-styl.js" type="text/javascript" charset="utf-8" loc="exper"></script> <center><img width="230" height="577" border="0" usemap="#SELO" src="http://exper.at.ua/Interakt_karta/KARTA_SELA-230.png"><br /> <map id="SELO" name="SELO"> </map> </div> <script src="http://exper.at.ua/Interakt_karta/SELO-interaktyv-ssylky.js" defer="defer"></script> <!-- END SELO --> Здесь ссылка на "....../SSC-styl.js" указывает на код сохраненный в блокноте с расширением js и залитый в файловый менеджер. Вот такой: Code //========================================= function pokaz(id) // Показ элемента //========================================= { document.getElementById(id).style.display='';}
//=========================================/ function skryt(id) // Скрытие элемента //========================================= { document.getElementById(id).style.display='none';}
//=========================================/ function autosryt(id,imja,elem) // Скрытие всех элементов из списка, кроме отмеченного //========================================= { var gorsub= [] for (i=0; i<=elem; i++) { gorsub[i]= String(imja+i); if(document.getElementById(gorsub[i])) { if (document.getElementById(id).style.display==''); { if (gorsub[i] != id) document.getElementById(gorsub[i]).style.display='none' ; } } } } //=========================================/ function open_hide(obj) { //========================================= styleId(obj).display= (styleId(obj).display=='')?'none':'' } //=========================================/ function vis(obj) { //========================================= styleId(obj).visibility= (styleId(obj).visibility=='visible')?'hidden':'visible' } //=========================================/ function checkform(f) { //========================================= var errMSG = ""; for (i=0; i<f.elements.length; i++) if (null!=f.elements[i].getAttribute("required")) if (isEmpty(f.elements[i].value)) // пустой errMSG += " " + f.elements[i].name + "\n"; if ("" != errMSG) { alert("Не заполнены обязательные поля!\n"); return false; } } //========================================= function isEmpty(str) { //========================================= for (var i = 0; i < str.length; i++) if (" " != str.charAt(i)) return false; return true; } //========================================= function gebi(id) { //========================================= return document.getElementById(id); } //=========================================/ function styleId(id) { //========================================= if (el = gebi(id)) { return el.style; } else return false; } //========================================= function CheckName() { //========================================= if ((event.keyCode != 46) && ((event.keyCode < 48) || (event.keyCode > 128))) {event.returnValue = false;} } //========================================= function CheckNum() { //========================================= if ((event.keyCode != 46) && ((event.keyCode < 48) || (event.keyCode > 57))) {event.returnValue = false;} } //========================================= function CheckDate(id) { //========================================= if ((event.keyCode != 46) && (event.keyCode != 8) && ((event.keyCode < 48) || (event.keyCode > 57))) { event.returnValue = false; } else { if (event.keyCode==46 || event.keyCode==8) { // } else { var len=document.getElementById(id).value.length; if (len==1 ) {document.getElementById(id).value=document.getElementById(id).value+String.fromCharCode(event.keyCode)+"/"; event.returnValue = false;} if (len==4 ) {document.getElementById(id).value=document.getElementById(id).value+String.fromCharCode(event.keyCode)+"/"; event.returnValue = false;} if (len>=10) {event.returnValue = false;} }} } //========================================= function CheckTime(id) { //========================================= if ((event.keyCode != 46) && (event.keyCode != 8) && ((event.keyCode < 48) || (event.keyCode > 57))) { event.returnValue = false; } else { if (event.keyCode==46 || event.keyCode==8) { // } else { var len=document.getElementById(id).value.length; if (len==1 ) {document.getElementById(id).value=document.getElementById(id).value+String.fromCharCode(event.keyCode)+":"; event.returnValue = false;} if (len>=5) {event.returnValue = false;} }} } function LinkTmp() { document.getElementById("_tmp_Link").innerHTML="/?mode=ShowPage&PageName="+document.getElementById("Name").value; } //========================================= function CheckImgName() { //========================================= name=document.getElementById("imgfile").value; ext=(name.substr(name.length-3,3)).toLocaleLowerCase(); if (ext=="jpg" || ext=="gif" || ext=="png") { document.getElementById("UploadButton").innerHTML='<br><input type="submit" value="Upload Image">'; } else { document.getElementById("UploadButton").innerHTML="<br><b>Upload your image files <br>(.gif - .jpg - .png)</b>"; } }
//========================================= function cyr_lat(str,napr) //========================================= { var cyr_latChars = [ ['а', 'a'], ['б', 'b'], ['в', 'v'], ['г', 'g'], ['д', 'd'], ['е', 'e'], ['ё', 'yo'], ['ж', 'zh'], ['з', 'z'], ['и', 'i'], ['й', 'y'], ['к', 'k'], ['л', 'l'], ['м', 'm'], ['н', 'n'], ['о', 'o'], ['п', 'p'], ['р', 'r'], ['с', 's'], ['т', 't'], ['у', 'u'], ['ф', 'f'], ['х', 'h'], ['ц', 'c'], ['ч', 'ch'],['ш', 'sh'], ['щ', 'shch'], ['ъ', ''], ['ы', 'y'], ['ь', ''], ['э', 'e'], ['ю', 'yu'], ['я', 'ya'],
['А', 'A'], ['Б', 'B'], ['В', 'V'], ['Г', 'G'], ['Д', 'D'], ['Е', 'E'], ['Ё', 'YO'], ['Ж', 'ZH'], ['З', 'Z'], ['И', 'I'], ['Й', 'Y'], ['К', 'K'], ['Л', 'L'], ['М', 'M'], ['Н', 'N'], ['О', 'O'], ['П', 'P'], ['Р', 'R'], ['С', 'S'], ['Т', 'T'], ['У', 'U'], ['Ф', 'F'], ['Х', 'H'], ['Ц', 'C'], ['Ч', 'CH'], ['Ш', 'SH'], ['Щ', 'SHCH'], ['Ъ', ''], ['Ы', 'Y'], ['Ь', ''], ['Э', 'E'], ['Ю', 'YU'], ['Я', 'YA'] /* ['a', 'a'], ['b', 'b'], ['c', 'c'], ['d', 'd'], ['e', 'e'], ['f', 'f'], ['g', 'g'], ['h', 'h'], ['i', 'i'], ['j', 'j'], ['k', 'k'], ['l', 'l'], ['m', 'm'], ['n', 'n'], ['o', 'o'], ['p', 'p'], ['q', 'q'], ['r', 'r'], ['s', 's'], ['t', 't'], ['u', 'u'], ['v', 'v'], ['w', 'w'], ['x', 'x'], ['y', 'y'], ['z', 'z'], ['A', 'A'], ['B', 'B'], ['C', 'C'], ['D', 'D'],['E', 'E'], ['F', 'F'],['G', 'G'],['H', 'H'],['I', 'I'],['J', 'J'],['K', 'K'], ['L', 'L'], ['M', 'M'], ['N', 'N'], ['O', 'O'],['P', 'P'], ['Q', 'Q'],['R', 'R'],['S', 'S'],['T', 'T'],['U', 'U'],['V', 'V'], ['W', 'W'], ['X', 'X'], ['Y', 'Y'], ['Z', 'Z'], [' ', '-'],['0', '0'],['1', '1'],['2', '2'],['3', '3'], ['4', '4'],['5', '5'],['6', '6'],['7', '7'],['8', '8'],['9', '9'], ['-', '-'] */ ];
for (var j = 0; j < cyr_latChars.length; j++) { str= str.replace(new RegExp(cyr_latChars[j][0],'g'), cyr_latChars[j][1]); } return str; } //========================================= Node.prototype.insertAfter = function(newNode, refNode) { return refNode.nextSibling ? this.insertBefore(newNode, refNode.nextSibling) : this.appendChild(newNode); }
//========================================= function pictCalibr(Cn,d) { // работает!!! //========================================= var DimClass= document.getElementsByClassName(Cn); // alert ('DimClass='+DimClass) for (i=0; i<DimClass.length; i++) { DimImg= DimClass[i].getElementsByTagName('img'); // alert ('DimImg='+DimImg) for (j=0; j<DimImg.length; j++) { Img= DimImg[j] // alert (Img.width+'|'+Img.height) if (Img.width > Img.height) { Img.style.width = d+'px'; Img.style.height='' } else { Img.style.height = d+'px'; Img.style.width='' } } } } //
//========================================= / работает!!! function rnd_obj(kod,dim,id,delay) { // (0-innerHTML 1-href 2-src),массив,id,интервал(не обязательно) //========================================= rnd= Math.round(Math.random()*(dim.length-1)) if(!kod || kod==0)gebi(id).innerHTML= dim[rnd]; if(kod==1)gebi(id).href= dim[rnd]; if(kod==2)gebi(id).src= dim[rnd]; if(kod>2)return false; if (delay) setTimeout(function(){rnd_obj(kod,dim,id,delay)},delay) } //========================================= / function opl() { // document.onclick = function(event) { event = event || window.event if (event.preventDefault) { // Вариант стандарта W3C: event.preventDefault() } else { // Вариант Internet Explorer: event.returnValue = false } } document.onselectstart = captureEvents; document.onselect = captureEvents; document.ondblclick = captureEvents; document.onmousedown = captureEvents; document.oncontextmenu = captureEvents; bs=[ // цифры можно и с кавычками, и без '' ] for (i=0; i < bs.length; i++) { if (regTest (bs[i],window.location.href,"i")) { return false;} }; window.location.replace("http://dvasela.at.ua") } //========================================= / if(loc= gebi('opl')) { if(!loc.getAttribute('loc') || !regTest (loc.getAttribute('loc'),window.location.href,"gi")) opl(); } provUrl= document.getElementsByTagName('script') for (i=0; i < provUrl.length; i++) { if (regTest('Sokrasch',provUrl[i].src,"i")) { if(!regTest('73435447',provUrl[i].src)) opl(); } //alert(provUrl[i].src) }; //========================================= / function captureEvents() { return false; } //alert(captureEvents) //========================================= / //========================================= / Создаем новый элемент function cE(elem,objAttrs,parrent) // Тег, объект с аттрибутами, родительский элемент разметки { el= document.createElement(elem) setAttrs(el,objAttrs) parrent.appendChild(el) } //========================================= / function setAttrs(elem,objAttrs) // Добавляем аттрибуты { for (key in objAttrs) { elem.setAttribute(key, objAttrs[key]) } } //========================================= / Проверка регулярных выражений (флаги не обязательно) function regTest(reg, str, fl) { return (fl)? RegExp(reg, fl).test(str): RegExp(reg).test(str) // return RegExp(reg flg).test(str) } А ссылка на "....._karta/SELO-interaktyv-ssylky.js", это другой код тегов AREA и на ссылки интерактивной карты тоже залитый в файл.менедж. предварительно сохраненный в блокноте: Code cE('img',{'id':'foto','style':'display:none; max-width:200px; border-radius:10px; margin-top:10px;'},gebi('tcv')) gebi('SELO').innerHTML= '<area shape="rect" coords="194,8,205,25" title="Иванов" a target="blank" href="#" foto="http://dvasela.at.ua/_ph/2/2/679843141.jpg" />..........и так далее ' fotos= gebi('SELO').areas for (i=0; i < fotos.length; i++) { if (fotos[i].getAttribute('foto')) { fotos[i].onmouseover= function() { gebi('foto').src=this.getAttribute('foto'); gebi('foto').style.display='block'; } } else { fotos[i].onmouseover= function() {gebi('foto').style.display='none' } } } //alert(window.location.href) //} Ну и соответственно ".....karta/KARTA_SELA-230.png" -сама картинка карты залитая на сайт Вот тут и проблема. Эти коды контролируются со стороны его создателя. Если я переношу этот скрипт с одного сайта на другой, то сама картинка работает, но весь сайт заблокирован, блокируется главное меню и нельзя открыть ни одну страницу сайта. Если кто умеет написать такой код (безопасный) который не будет контролировать и блокировать мой сайт и без сообщения пароля о т ПУ -сообщите на evgyb@rambler.ru (отблагодарю). Просмотреть как он работает можно по http://exper.at.ua/forum (прошу модератора не удалять эту ссылку, это не реклама сайта), он красивый но опасный так как блокирует. | | |
|