2010-01-25 4 views
0

Итак, мне передали старый веб-сайт и попросили внести некоторые изменения. Это было сделано с ASP, и я не очень хорошо знаком с этим. http://www.littleairplane.com/who-we-are/default.aspx Меня попросили избавиться от этой ужасной прокрутки.Как определить, откуда этот javascript?

Просмотрев исходный код страницы, я решил, что прокрутка выполняется с использованием встроенного Javascript.

<script type="text/javascript"> 

    function getElementPosition(theElement){ 
    var posX = 0; 
    var posY = 0;   
    while(theElement != null){ 
     posX += theElement.offsetLeft; 
     posY += theElement.offsetTop; 
     theElement = theElement.offsetParent;   
    }          
    return {x:posX, y:posY}; 
    } 

    var offsetY = 0; 
    window.onload = function(){ 

    var elem = document.getElementById("foo"); 
    var elemPos = getElementPosition(elem); 

    var box = document.getElementById("boxId"); 
    box.style.left = elemPos.x + "px"; 
    box.style.top = elemPos.y + "px"; 
    offsetY = elemPos.y; 

    elem = null; 
    box = null; 

    } 
    window.onscroll = function(){ 
    var scrollY = (window.pageYOffset)?(window.pageYOffset):(document.documentElement)?document.documentElement.scrollTop:document.body.scrollTop; 
    var box = document.getElementById("boxId"); 
    box.style.top = (offsetY + scrollY) + "px"; 
    box = null; 
    } 

</script> 

Я хотел бы прокомментировать это, но поскольку это ASP, я не уверен, где найти этот javascript. Файл default.ASP, который у меня есть, не содержит. И из того, что я могу сказать, нет вызова внешнего файла .js.

Единственное, что я мог найти, это файл java.htm в корне, который имеет код, который я ищу, но, похоже, не имеет значения, есть ли этот файл.

Так что я хотел бы знать, как найти этот javascript. Любая помощь приветствуется.

+0

Как выглядит ваша aspx? Js можно вставить с помощью кода или непосредственно в линию на странице. – jball

+1

ASP или ASP.NET? Между прочим, это две разные вещи. –

+0

Я быстро пытаюсь узнать все это, но похоже, что происходит некоторая обработка кода, есть файлы aspx.vb, поэтому некоторый код выполняется с помощью VBscript. – 2010-01-25 23:22:57

ответ

2

Используйте FireBug и активируйте вкладку «Сценарий».

Существует раскрывающийся список всех javascripts, которые находятся на странице, и их исходные пути.

Если вы столкнулись с путями источников, которые содержат «WebResource.axd? Crazycrazystringofguidylookingstuff ....», то вы знаете, что скрипты компилируются в dll как внедренный ресурс. Однако, если у вас есть текст сценария, вы можете сделать глобальную находку в своем коде, чтобы узнать, где он находится.

+0

Вау, это дает мне хорошее начало. Спасибо за помощь. – 2010-01-25 23:12:37

+0

Если вы используете IE8, у него есть встроенные функции, подобные этому. Хит F12, чтобы поднять его. Для IE6 & 7 вам необходимо загрузить бесплатную «Панель инструментов разработчика Internet Explorer». Opera также имеет встроенный инструмент под названием Dragonfly (откройте его из Tools-> Advanced-> Developer Tools). –

+0

Просто случайный вопрос - в чем преимущество компиляции JS во встроенный ресурс? Лично я считаю, что его плохая практика ... мнения? –

0

Похоже, это было включено где-то ... сделать «Найти ...» что-то вроде:

<!--#include 

Кроме того, это своего рода Hacky, но вы можете установить событие window.onscroll в null в javascript, в самом низу главной страницы?

+0

Я попытался добавить это к нижней части файла defualt.aspx без каких-либо результатов. Он не отображается в источнике страницы. – 2010-01-25 23:19:47

0

Вы можете пройти через asp в визуальной студии, если у вас есть. В качестве альтернативы вы можете попробовать grepping через базу кода. ASP окружает свой собственный код в тегах (например, JSP), поэтому javascript (или, по крайней мере, вещи, отличные от имен конкретных элементов) должен быть смежным.

Смежные вопросы