Sono nuovo a Visual Studio Express 2012 per Windows 8.0x800a139e - JavaScript runtime error: SyntaxError
sono stato in grado di ottenere una semplice applicazione per funzionare bene, ma sarebbe gettare le stesse "eccezioni" .
Così alla prova, ho appena iniziato un nuovo marchio progetto di JavaScript vuoto, e solo legato il codice jQuery in default.html, e corse il debugger, e le seguenti eccezioni sono ancora gettati:
Exception was thrown at line 1217, column 4 in ms-appx://xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx/Scripts/jquery-2.1.1.js
0x800a139e - JavaScript runtime error: SyntaxError
Exception was thrown at line 1235, column 4 in ms-appx://xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx/Scripts/jquery-2.1.1.js
0x800a139e - JavaScript runtime error: SyntaxError
Come posso modificare il codice jQuery o cosa devo fare per eliminare questa eccezione?
La parte del codice jQuery cui viene generata la prima eccezione:
assert(function (div) {
// Support: Windows 8 Native Apps
// The type and name attributes are restricted during .innerHTML assignment
var input = doc.createElement("input");
input.setAttribute("type", "hidden");
div.appendChild(input).setAttribute("name", "D");
// Support: IE8
// Enforce case-sensitivity of name attribute
if (div.querySelectorAll("[name=d]").length) {
rbuggyQSA.push("name" + whitespace + "*[*^$|!~]?=");
}
// FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)
// IE8 throws error here and will not see later tests
if (!div.querySelectorAll(":enabled").length) {
rbuggyQSA.push(":enabled", ":disabled");
}
// Opera 10-11 does not throw on post-comma invalid pseudos
div.querySelectorAll("*,:x"); // *********** THIS IS LINE 1217 ***********
rbuggyQSA.push(",.*:");
});
La parte del codice jQuery cui viene generata la seconda eccezione:
if ((support.matchesSelector = rnative.test((matches = docElem.matches ||
docElem.webkitMatchesSelector ||
docElem.mozMatchesSelector ||
docElem.oMatchesSelector ||
docElem.msMatchesSelector)))) {
assert(function(div) {
// Check to see if it's possible to do matchesSelector
// on a disconnected node (IE 9)
support.disconnectedMatch = matches.call(div, "div");
// This should fail with an exception
// Gecko does not error, returns false instead
matches.call(div, "[s!='']:x"); // ***** THIS IS LINE 1235 *****
rbuggyMatches.push("!=", pseudos);
});
}
TooLongDon'tRead - Cose che ho provato:
Da quello che ho capito, si suppone di lanciare un'eccezione, tuttavia Microsoft non approverà un'app che sta lanciando qualsiasi rors/eccezioni ... Sono abbastanza confuso dal fatto che non ci sia una risposta chiara a questo (che è facile da trovare), dal momento che è probabile che tutti abbiano problemi con jquery con Visual Studio. Ho anche provato a usare jquery2.02 che la gente ha detto non ha gettato queste eccezioni, ma lo ha fatto ancora per me. Ho provato a modificare il codice jQuery da solo, ma questo ha causato un sacco di altri errori.
Ho anche provato il jquery per Windows 8 in nuget (che non è stato aggiornato in circa 2 anni) ... che suppongo fosse per risolvere questo problema, ma in realtà mi ha dato ancora più errori di runtime.
Dal momento che i commenti fanno eccezione a queste eccezioni, presumo che verranno catturati internamente da jQuery. Se tali eccezioni non raggiungono mai il massimo livello, sei sicuro che questo sia un problema per Microsoft? L'app utilizza eccezioni internamente per propagare gli errori, ma ciò non è insolito e non significa che l'app si arresti in modo anomalo. Sarebbe strano se Microsoft non lo permettesse. – sth
@sth - Penso che tu abbia ragione. Questo problema può verificarsi quando Visual Studio è configurato per interrompere tutti gli errori JavaScript. Questo errore è previsto e gestito da jQuery, ma Visual Studio non lo sa. Sembra che se ignoro l'errore e continui, tutto va bene ... – barrypicker