Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.06.2012, 22:52   #1
nunu
Новичок
Джуниор
 
Регистрация: 18.06.2012
Сообщений: 4
По умолчанию Как увидеть исходник функции

пожалуйста не отправляйте учить матчасть
вопрос разовый


пример взят с
http://parsing-and-i.blogspot.com/20...1_archive.html


На странице
http://med-edu.ru/basic-science/biohim/shnol1/262
в HTML коде есть функция

[I].....
<a href="javascript:void(1);" class="pimp" onclick="loadVideo(this);" style="color:#ffffff;"></a>
...
..[/I]

скачиваем страницу полностью и в файле item.js
видим исходный код


$(function() {

$('#s'+$('#mi_cat_id').val()).css({ 'font-weight':'bold'});
$('#s'+$('#mi_cat_id').val()).css({ 'text-decoration':'underline'});

$('#'+$('#mi_parent_cat_id').val()) .css({'display': 'block'});

});

function ClosePlayer() {
$("#embedplayer").remove();
$("#darklayer").remove();
}

function loadVideo(handle) {

hasReqestedVersion = DetectFlashVer(requiredMajorVersion , requiredMinorVersion, requiredRevision);

if (!hasReqestedVersion){

hs.htmlExpand(handle, { contentId: 'mi_flash_is_absent', minWidth: '500', minHeight: '500', Width: '500', Height: '500' });

} else {

scroll(0,0);
$("body").prepend('<div id="embedplayer" style="position: absolute; z-index: 99; top: 10px; width: 100%;" align="center"><embed id="flash_video" name="flash_video" flashvars="xml_php=http://'+_ME_HOSTNAME+'/new_pl/&id='+$('#mi_art_id').val()+'&playe r_mode=preset_player_4&preloader=pr eload.png&widemode=true&userId='+$( '#mi_user_id').val()+'" allowfullscreen="true" quality="high" bgcolor="#333333" salign="ct" salign="ct" width="1060" height="750" src="/new_pl/FlashMediaPlayer.swf" type="application/x-shockwave-flash"/>');
$("body").prepend('<div id="darklayer" style="position: absolute; z-index: 98; width: 100%; height: 1300px; background: none repeat scroll 0 0 #444444; filter:alpha(opacity=60); -moz-opacity: 0.6; opacity: 0.6;"></div>');

}
}





как этот код увидеть в виде извлеченном якобы из IE, а именно

function loadVideo() { scroll(0,0); $("body").prepend('<div id="embedplayer" style="position: absolute; z-index: 99; top: 10px; width: 100%;" align="center"><embed width="1047" height="711" flashvars="xml_php=/xml.php?id=262&amp;php_seek=" allowfullscreen="true" wmode="transparent" salign="ct" scale="noscale" quality="high" bgcolor="#333333" name="video" id="123" style="" src="/pl/player7v_n_api_y.swf" type="application/x-shockwave-flash" base="/"/></div>'); $("body").prepend('<div id="darklayer" style="position: absolute; z-index: 98; width: 100%; height: 1300px; background: none repeat scroll 0 0 #444444; filter:alpha(opacity=60); -moz-opacity: 0.6; opacity: 0.6;"></div>');}

Спасибо
nunu вне форума Ответить с цитированием
Старый 19.06.2012, 09:29   #2
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

А в чем проблема? Код как код, неоформленный просто, и со стилями внутри; пара минут поковырять, выкинуть лишнее в css и будет конфетка.
Не за что.
Alar, верни репу!
Naive вне форума Ответить с цитированием
Старый 19.06.2012, 10:05   #3
nunu
Новичок
Джуниор
 
Регистрация: 18.06.2012
Сообщений: 4
По умолчанию

Цитата:
Сообщение от Naive Посмотреть сообщение
А в чем проблема? Код как код, неоформленный просто, и со стилями внутри; пара минут поковырять, выкинуть лишнее в css и будет конфетка.
Не за что.
проблема в незнание ни теории, ни практики джаваскрипт
если не сложно, опишите процесс "ковыряния", схематично
nunu вне форума Ответить с цитированием
Старый 19.06.2012, 12:20   #4
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Берем то, что красное и засовываем в деобфускатор
сильно ничего не улучшиться, но зато теперь можно разобрать, что в "бесконечность" уходят 2 простых строки:
Код:
function loadVideo() {
  scroll(0, 0);
  $("body").prepend('<div id="embedplayer" style="position: absolute; z-index: 99; top: 10px; width: 100%;" align="center"><embed width="1047" height="711" flashvars="xml_php=/xml.php?id=262&amp;php_seek=" allowfullscreen="true" wmode="transparent" salign="ct" scale="noscale" quality="high" bgcolor="#333333" name="video" id="123" style="" src="/pl/player7v_n_api_y.swf" type="application/x-shockwave-flash" base="/"/></div>');
  $("body").prepend('<div id="darklayer" style="position: absolute; z-index: 98; width: 100%; height: 1300px; background: none repeat scroll 0 0 #444444; filter:alpha(opacity=60); -moz-opacity: 0.6; opacity: 0.6;"></div>');
}
теперь видно, что первая строка - объявление функции;
вторая - некая самописная функция, судя по названию и координатам, скролит экран в левый верхний угол;
вторая и третья — это jQuery, открываем документацию и видим, что $('что-то') — конструктор класса jQuery по селектору, который возвращает объект jQuery, к которому применяется метод prepend.
Цитата:
Добавляет контент внутрь каждого элемента набора. Добавляемый контент следует перед уже существующим.
другими словами, пережевывает простой html и вставяет все "до" предыдущего контента.
Остается разобрать HTML:
Код:
<div id="darklayer" style="position: absolute; z-index: 98; width: 100%; height: 1300px; background: none repeat scroll 0 0 #444444; filter:alpha(opacity=60); -moz-opacity: 0.6; opacity: 0.6;"></div>
<div id="embedplayer" style="position: absolute; z-index: 99; top: 10px; width: 100%;" align="center"><embed width="1047" height="711" flashvars="xml_php=/xml.php?id=262&amp;php_seek=" allowfullscreen="true" wmode="transparent" salign="ct" scale="noscale" quality="high" bgcolor="#333333" name="video" id="123" style="" src="/pl/player7v_n_api_y.swf" type="application/x-shockwave-flash" base="/"/></div>
Думаю с разметкой у вас проблем не возникнет.
Alar, верни репу!
Naive вне форума Ответить с цитированием
Старый 19.06.2012, 18:20   #5
nunu
Новичок
Джуниор
 
Регистрация: 18.06.2012
Сообщений: 4
По умолчанию

Цитата:
Сообщение от Naive Посмотреть сообщение
Берем то, что красное и засовываем в деобфускатор.......
Спасибо за ответы!
Но суть моего вопроса:

куда засунуть СИНЕЕ чтобы на выходе было КРАСНОЕ

PS не думал, что все так запутано
nunu вне форума Ответить с цитированием
Старый 19.06.2012, 19:52   #6
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Если в "примерно" такой вид, то вам нужен обфускатор JavaScript, тысячи их
В именно такой — никак, это два разных кода выполняющих разные функции. Совпадает только последний кусок после else
Alar, верни репу!
Naive вне форума Ответить с цитированием
Старый 19.06.2012, 21:50   #7
nunu
Новичок
Джуниор
 
Регистрация: 18.06.2012
Сообщений: 4
По умолчанию

Цитата:
Сообщение от Naive Посмотреть сообщение
Если в "примерно" такой вид, то вам нужен обфускатор JavaScript, В именно такой — никак, это два разных кода выполняющих разные функции. Совпадает только последний кусок после else
что собственно интересовало!

Согласно примеру в файле
http://med-edu.ru/xml.php?id=262
имеем ссылки на все FLV видеофайлы

уважаемая автор примера
утверждает что ссылку на этот файл она получила обработав
исходный код страницы в IE, причем логично предположить что ей
обработка далась без особого труда

ее слова:

........................
А вот как та же самая функция loadVideo выглядит в никем не любимом IE:
......................
..... flashvars="xml_php=/xml.php?id=262 ..........
.................
Итак, стало все намного очевиднее, flashvars открывают завесу тайны
........................

увы но для меня до сих пор
переход от одного к другому
есть загадка, завернутая в тайну и покрытая мраком
nunu вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как увидеть функцию и процедуру глобально? UT5YG Microsoft Office Excel 2 15.03.2010 15:42
On-line олимпиада или как увидеть? Квэнди Свободное общение 3 16.02.2010 20:54
Как увидеть изменения в БД, внесенные другим пользователем? Сергей089 Помощь студентам 5 12.02.2010 15:45
как увидеть реляционную структуру SQL? Bendebej SQL, базы данных 5 03.02.2010 15:05
Как увидеть зависимые ячейки bsa785 Microsoft Office Excel 5 02.02.2010 00:09