Ответ 1
UPDATE
Теперь принятая форма имеет #
(хэштег), а не @
(символ)
Синтаксис был изменен во избежание конфликтов с операторами условной компиляции IE и некоторыми другими проблемами (спасибо Александру Пшеничному и Варункумару Нагараджану за это)
//#sourceURL=/path/to/file
Это действительно может быть любая строка, которая поможет вам идентифицировать блок кода.
Дополнительная хорошая точка из JMac:
Для меня файл js отображался в списке источников в пределах группа, называемая "(без домена)". Может быть, стоит упомянуть, поскольку я пропустил это сначала!
ОРИГИНАЛ
Я боролся с вышеупомянутым около недели, прежде чем бегать через в этой статье. Это действительно отлично работает для моей среды разработки (Chrome 22, поскольку я пишу это).
Firebug также поддерживает поддерживаемые разработчиком eval() буферы: просто добавьте строку в конец вашего eval (выражение), например:
//@ sourceURL=foo.js
Например, учитывая этот простой html-документ:
<!DOCTYPE html>
<html>
<body>
<p>My page content</p>
<div id="counter"></div>
<script type="text/javascript">
//if this page is loaded into the DOM via ajax
//the following code can't be debugged
//(or even browsed in dev-tools)
for(i=0;i<10;i+=1) {
document.getElementById('counter').innerText = i;
}
//but if I add the line below
//it will "magically" show up in Dev Tools (or Firebug)
//@ sourceURL=/path/to/my/ajaxed/page
</script>
<body>
</html>
Вещи, которые я еще не обнаружил:
- Нужно ли это делать для каждого блока script для встроенных скриптов?
- Должна ли она быть последней строкой блока script? (В статье предполагается, что ответ на этот вопрос да)