JavaScript & jQuery
UnderShot
Группа: Модераторы
Пользователь №: 45
Сообщений: 923
Получено оценок: 85
Чтобы не создавать отдельные темы с проблемой в JavaScript, решил создать тему с вопросами по jS и jQ. Задаем вопросы… Ссылки для обучения JS: 1. Центральный Javascript-ресурс 2. Учебники JavaScript 3. Уроки JavaScript 4. Справочник JavaScript 5. JavaScript tutorials 6. Плагины для jQuery 7. Учим JavaScript 8. Интересные решения на JS Конечно, если я какие-нибудь ссылки пропустил, оповестите меня, и я добавлю эти ссылки.
UPD Стандарт экма на русском: http://javascript.ru/ecma
Очень важная тема! Filmzona — онлайн фильмы .
Infamous
Группа: Проверенные
Пользователь №: 316
Сообщений: 158
Получено оценок: 21
UnderShot ,
Code
var arr = [], e = document.getElementsByTagName('*'); for (var i = 0; i < e.length; i++) { if (e[i].tagName == 'pre' || e[i].tagName == 'code') { arr.push(e[i].innerHTML); } } ... Скрипт замены ... for (var i = 0; i < e.length; i++) { if (e[i].tagName == 'pre' || e[i].tagName == 'code') { e[i].innerHTML = arr[i]; } }
DSC
Группа: Проверенные
Пользователь №: 127
Сообщений: 516
Получено оценок: 41
а как узнать marginLeft любого объекта? вот есть же object.offsetLeft вот мне нужно то же самое только для marginLeft aka Latro
Aleko
Watching you
Группа: Администраторы
Пользователь №: 2
Сообщений: 1621
Получено оценок: 167
DSC Code
<script> function margLeft(object){ return object.style.marginLeft||(!-[1,]?object.currentStyle['marginLeft']:document.defaultView.getComputedStyle(object,null)['marginLeft']) } </script>
Бесплатные обои.
UnderShot
Группа: Модераторы
Пользователь №: 45
Сообщений: 923
Получено оценок: 85
Aleko , не знаешь, как с твоим скриптом справиться? Я все не могу вывести через алерт содержимое класса, а jq не хочу.Очень важная тема! Filmzona — онлайн фильмы .
DSC
Группа: Проверенные
Пользователь №: 127
Сообщений: 516
Получено оценок: 41
Aleko , только в осле на любые значения выдаёт auto !aka Latro
UnderShot
Группа: Модераторы
Пользователь №: 45
Сообщений: 923
Получено оценок: 85
DSC , осел таки.Очень важная тема! Filmzona — онлайн фильмы .
chu4___x
говорун
Группа: Проверенные
Пользователь №: 13
Сообщений: 211
Получено оценок: 19
UnderShot , http://www.w3.org/TR/selectors-api/ «POST данные для модулей системы »
WRC
Группа: Проверенные
Пользователь №: 223
Сообщений: 149
Получено оценок: 11
Когда я всовываю в цикл две переменные: Code
for (var i=0,o=0;i<3,o<6;i++,o++) document.write('i='+i+',o='+o+'<br>')
получается что i не выполняет своё условие (i<3), а выполняет условие o<6. Если же добавить условку: Code
for (var i=0,o=0;i<3,o<6;i++,o++) document.write((i<3?'i='+i+',':'')+'o='+o+'<br>')
то всё работает желаемо. Как сделать это без ввода условия, прямо в цикле? Устраняем баг при просмотре материала Сообщение отредактировал WRC - Суббота, 17.04.2010, 13:29
Infamous
Группа: Проверенные
Пользователь №: 316
Сообщений: 158
Получено оценок: 21
WRC ,
Code
for (var i = 0; i < 3; i++) for (var o = 0; o < 6; o++) …
WRC
Группа: Проверенные
Пользователь №: 223
Сообщений: 149
Получено оценок: 11
Infamous , а без двух циклов (чтобы именно в одном были все параметры) получается не возможно( ???Устраняем баг при просмотре материала Сообщение отредактировал WRC - Воскресенье, 18.04.2010, 03:59
Infamous
Группа: Проверенные
Пользователь №: 316
Сообщений: 158
Получено оценок: 21
WRC , нет, невозможно.
chu4___x
говорун
Группа: Проверенные
Пользователь №: 13
Сообщений: 211
Получено оценок: 19
Code
for (var i = 0; i < 6; i++) { document.write(i + ' ' + (i < 3 ? i : '') + '<br>') };
Результат. «POST данные для модулей системы »
WRC
Группа: Проверенные
Пользователь №: 223
Сообщений: 149
Получено оценок: 11
chu4___x , ага... я так и сделал ещё в само начале... просто поинтересовался возможно или нет...Устраняем баг при просмотре материала
chu4___x
говорун
Группа: Проверенные
Пользователь №: 13
Сообщений: 211
Получено оценок: 19
Тем кто не знаком с системой, xmlhttprequest и refferer, просьба дальше не читать. На станице изменения личной информации стоит проверка рефферала, если данные отправлены не со страницы /index/11 , то выдаст ошибку - «You are trying to do illegal action! ». Возможно ли обойти эту хрень? Может с iframe?
«POST данные для модулей системы »
Aleko
Watching you
Группа: Администраторы
Пользователь №: 2
Сообщений: 1621
Получено оценок: 167
chu4___x , а если так? Code
запрос.setRequestHeader("Referer", "$HOME_PAGE_LINK$index/11")
Бесплатные обои.
chu4___x
говорун
Группа: Проверенные
Пользователь №: 13
Сообщений: 211
Получено оценок: 19
Aleko , уже пробовал, не получится.«POST данные для модулей системы »
Aleko
Watching you
Группа: Администраторы
Пользователь №: 2
Сообщений: 1621
Получено оценок: 167
chu4___x , почему? Что выдает?Бесплатные обои.
chu4___x
говорун
Группа: Проверенные
Пользователь №: 13
Сообщений: 211
Получено оценок: 19
Aleko , всё тоже самое =) Code
«You are trying to do illegal action!»
Могу код в лс кинуть. «POST данные для модулей системы »
Aleko
Watching you
Группа: Администраторы
Пользователь №: 2
Сообщений: 1621
Получено оценок: 167
chu4___x , у хз тогда, я в этом не особо рублю.Бесплатные обои.
chu4___x
говорун
Группа: Проверенные
Пользователь №: 13
Сообщений: 211
Получено оценок: 19
Aleko , да там не сложно, ты одним глазком взгляни «POST данные для модулей системы »
chu4___x
говорун
Группа: Проверенные
Пользователь №: 13
Сообщений: 211
Получено оценок: 19
Вот мигрень. «POST данные для модулей системы »
UnderShot
Группа: Модераторы
Пользователь №: 45
Сообщений: 923
Получено оценок: 85
Можно как-либо сделать со стороны пользователя редирект на другую страницу? Например в укозовском поле «Сайт» я указал ссылку — http://vasya.ru/, но на том сайте стоит авто-добавление к ссылкам. Например ссылку к вася.ру будет выглядеть так: http://studioad.ru/forum/http://vasya.ru/, соответственно выдает 404. Повторю вопрос, можно ли сделать, типа ??redirect='http://vasya.ru/', и чтобы при нажатии на ссылку перенаправлял на мой сайт? Очень важная тема! Filmzona — онлайн фильмы .
Aleko
Watching you
Группа: Администраторы
Пользователь №: 2
Сообщений: 1621
Получено оценок: 167
UnderShot , только на самой странице в коде. То поле, которое ты изменял, предполагает редирект на внутренние страницы. Про скриптовый редирект читай тут: http://studioad.ru/blog/2009-02-18-40 Бесплатные обои.
Иван0
Группа: Проверенные
Пользователь №: 300
Сообщений: 48
Получено оценок: 5
Помогите, пожалуйста, выдрать скрипт слайдера с Adobe.com, тот, что в блоке Products and Solutions. Всё перепробовал - не выходит. Спасибо заранее!
Aleko
Watching you
Группа: Администраторы
Пользователь №: 2
Сообщений: 1621
Получено оценок: 167
Иван0 , просто поищи в интернете, таких скриптов навалом, он очень простой.Бесплатные обои.
UnderShot
Группа: Модераторы
Пользователь №: 45
Сообщений: 923
Получено оценок: 85
Code
if(!username && !password && !captcha){return false}
Будет работать?Очень важная тема! Filmzona — онлайн фильмы .
chu4___x
говорун
Группа: Проверенные
Пользователь №: 13
Сообщений: 211
Получено оценок: 19
UnderShot , по идеи да.«POST данные для модулей системы »
Infamous
Группа: Проверенные
Пользователь №: 316
Сообщений: 158
Получено оценок: 21
UnderShot , если переменные не присвоены — будет Error. И компактнее было бы так:
Code
!(window.username && window.password && window.captcha)
UnderShot
Группа: Модераторы
Пользователь №: 45
Сообщений: 923
Получено оценок: 85
Infamous , chu4___x , Code
var a=document.getElementById('asd'),b=document.getElementById('asd'),c=document.getElementById('asd'); if(!(a.innerHTML && b.innerHTML && c.innerHTML)){return false}
Очень важная тема! Filmzona — онлайн фильмы .
UnderShot
Группа: Модераторы
Пользователь №: 45
Сообщений: 923
Получено оценок: 85
↑ правильно? Очень важная тема! Filmzona — онлайн фильмы .
Infamous
Группа: Проверенные
Пользователь №: 316
Сообщений: 158
Получено оценок: 21
Да. Но можно так:
Code
return a.innerHTML && b.innerHTML && c.innerHTML;
UnderShot
Группа: Модераторы
Пользователь №: 45
Сообщений: 923
Получено оценок: 85
Infamous , спасибо.Очень важная тема! Filmzona — онлайн фильмы .
WRC
Группа: Проверенные
Пользователь №: 223
Сообщений: 149
Получено оценок: 11
Code
<a>1</a> <a>2</a> <a>3</a> <div id="lol"> <a>4</a> <a>5</a> <a>6</a> </div> <script type="text/javascript"> alert(document.getElementById('lol').parentNode.getElementsByTagName('a').length)//6 /*почему так? по идее должно быть 3... ну так я думаю /:D/ */ </script>
Устраняем баг при просмотре материала Сообщение отредактировал WRC - Понедельник, 26.04.2010, 16:09
UnderShot
Группа: Модераторы
Пользователь №: 45
Сообщений: 923
Получено оценок: 85
WRC , Code
document.getElementById('lol').getElementsByTagName('a').length
Очень важная тема! Filmzona — онлайн фильмы .
DSC
Группа: Проверенные
Пользователь №: 127
Сообщений: 516
Получено оценок: 41
WRC , т.к. parentNode укажет на родителя lol , а это body aka Latro
Infamous
Группа: Проверенные
Пользователь №: 316
Сообщений: 158
Получено оценок: 21
Как у div'-a удалить внешние <div> … </div> ? Через outerHTML ведь некроссбраузерно.
chu4___x
говорун
Группа: Проверенные
Пользователь №: 13
Сообщений: 211
Получено оценок: 19
А ты вынеси содержимое блока за его пределы, а затем удали блок. «POST данные для модулей системы »
UnderShot
Группа: Модераторы
Пользователь №: 45
Сообщений: 923
Получено оценок: 85
chu4___x , Quote (chu4___x )
ага, код безопасности убери
Может обойти как-то? Геттить каптчу, и вместе с каптчой полевыводить, куда ее нужно ввести, затем нажать «Отправить», и коммент отправит все данные по нужным полям?Очень важная тема! Filmzona — онлайн фильмы .
chu4___x
говорун
Группа: Проверенные
Пользователь №: 13
Сообщений: 211
Получено оценок: 19
Можно, но мне лень переписывать. «POST данные для модулей системы »
UnderShot
Группа: Модераторы
Пользователь №: 45
Сообщений: 923
Получено оценок: 85
А потом? Очень важная тема! Filmzona — онлайн фильмы .
chu4___x
говорун
Группа: Проверенные
Пользователь №: 13
Сообщений: 211
Получено оценок: 19
UnderShot , ну если будет свободная минутка, а пока выключай капчу.«POST данные для модулей системы »
Infamous
Группа: Проверенные
Пользователь №: 316
Сообщений: 158
Получено оценок: 21
Quote (chu4___x )
А ты вынеси содержимое блока за его пределы, а затем удали блок.
Делал так:
Code
c = a.childNodes; a.parentNode.removeChild(a);
но
Code
alert(c); // [object NodeList] alert(c.getElementById(id)); // ничего нету
Сообщение отредактировал Infamous - Пятница, 30.04.2010, 21:01
Aleko
Watching you
Группа: Администраторы
Пользователь №: 2
Сообщений: 1621
Получено оценок: 167
Infamous , простейшая функция ведь... Сначала добавим метод:
Code
<script> Node.prototype.removeNode = function(){ try{ var parent = this.parentNode, tempDoc = document.createDocumentFragment(), counter = 0, children = this.childNodes; for(;counter<children.length;counter++){tempDoc.appendChild(children[counter])} parent.insertBefore(tempDoc,this); return parent.removeChild(this) } catch(e){ return false } } </script>
Пример использования:
Code
снаружи<div id=one> и </div>внутри <script> document.getElementById('one').removeNode() </script> <!-- стало --> снаружи и внутри
Бесплатные обои.
Aleko
Watching you
Группа: Администраторы
Пользователь №: 2
Сообщений: 1621
Получено оценок: 167
Infamous , кстати детей ты не смог получить потому как получил массив ссылок на них. Объекты в js не копируются, копируются ссылки на них.Бесплатные обои.
Hammer
Группа: Пользователи
Пользователь №: 2965
Сообщений: 9
Subst переменной мм? Сообщение отредактировал Hammer - Суббота, 01.05.2010, 22:09
UnderShot
Группа: Модераторы
Пользователь №: 45
Сообщений: 923
Получено оценок: 85
Hammer , что?Очень важная тема! Filmzona — онлайн фильмы .
Hammer
Группа: Пользователи
Пользователь №: 2965
Сообщений: 9
Эмм, как определить страну пользователя используя один JS?
Infamous
Группа: Проверенные
Пользователь №: 316
Сообщений: 158
Получено оценок: 21
Hammer , никак.
Hammer
Группа: Пользователи
Пользователь №: 2965
Сообщений: 9
Infamous , клевета.
Aleko
Watching you
Группа: Администраторы
Пользователь №: 2
Сообщений: 1621
Получено оценок: 167
Hammer , как вариант прочитать информацию о языке системы и браузера. Но это, очевидно, не точный показатель.Бесплатные обои.