2014-11-14 4 views
0

Мы пытаемся создать собственное приложение Windows 8 с использованием JavaScript. Мы используем jQuery для динамической загрузки файлов javascripts, и все файлы javascript хранятся внутри приложения. Когда я пытаюсь отладить javascript, точка останова не может пострадать, говоря: «В настоящий момент точка останова не будет удалена ...», но в обозревателе решений есть проект сценариев, есть файл с именем «script» block ", который содержит все javascripts, которые загружаются из jQuery. Я могу отлаживать оттуда после отключения «Включить только мой код», но трудно найти нужное место для установки точки останова, так как этот файл огромен ...Как отладить javascript в Visual Studio 2013

На самом деле все файлы javascript имеют атрибут sourcemap, например: // # sourceURL = ms-appx: //d664ef20-6ac8-11e4-ab78-2f4dc8b50d53/www/resources/abc.js

Он отлично работает со всеми браузерами, IE, Safari, Firefox и Хром. Но Visual Studio, похоже, не может их распознать.

Любой, у кого такая же проблема?

С уважением, Xiaojun

+0

Как вы загружаете JavaScript через jQuery? Работает ли он так, как ожидалось, если вы обычно включаете их в качестве файлов сценариев? –

+0

Нет, они загружаются через вызов ajax, даже если они находятся на локальном диске, а затем используют window.eval для их выполнения. – Xiaojun

+0

Если вы попытаетесь вставить «отладчик»; ключевое слово, где вы обычно устанавливаете точку останова, выполняет ли пауза при нажатии на ключевое слово? –

ответ

0

Я ожидаю, что вы делаете это, что Evals содержимое в виде строки, в результате чего строку, которая будет добавлена ​​к «Eval код» файла под документы Script. Обратите внимание, что вы все равно можете установить точки останова, вам просто нужно сделать это из документа «eval code».

// eval via AJAX -- adds to the "eval code" document 
$.ajax("./js/fileToAdd.js").done(function (data) { 
    window.eval(data); 
}); 

Если вы загрузите файл с помощью тега сценария, файл сценария загружается отдельно и контрольные точки привязки, как ожидается, так как содержимое привязаны к файлу, а не строка. Вот так:

// Add <script> tag to head -- Causes script file to be loaded/displayed individually 
var scriptTag = document.createElement("script"); 
scriptTag.src = "./js/fileToAdd.js" 
document.head.appendChild(scriptTag); 
+0

Привет, Адам, Спасибо за помощь. Если мы загрузим файл, скрипт не будет выполнен немедленно.

abc

Xiaojun

+0

Это все равно задерживает его загрузку всякий раз, когда выполняется код кода. Вы можете перенести этот второй блок кода в функцию (возможно, с параметром имени файла), а затем вызвать ее, когда хотите загрузить код. –

+0

Я знаю, что у нас есть огромное монтирование js-файлов, которые написаны таким образом, не могут позволить себе это изменить. – Xiaojun

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