Я пытаюсь использовать jQuery, чтобы проверить, заблокирован ли/разблокирован ли определенный веб-сайт/порт компьютером пользователя. Я могу заставить его работать правильно, с небольшим раздражением, что он выдает ошибки, например. "Uncaught SyntaxError: неожиданный токен ‹"
Можно ли просто позволить jQuery выполнить запрос на получение на странице, чтобы увидеть код возврата, но не вводить его на веб-сайт как javascript? Если нет, будут ли когда-нибудь побочные эффекты от этого кода?
Примечание. Я не владею проверяемыми сайтами, поэтому я не могу заставить их реализовать jsonp.
var checkPorts = function() {
var url = "__redacted__" ;
$.ajax({
url: url,
type: "get",
cache: false,
dataType: 'jsonp', // it is for supporting crossdomain
crossDomain : true,
asynchronous : false,
timeout : 5000, // set a timeout in milliseconds
complete : function(xhr, responseText, thrownError) {
if(xhr.status == "200") {
//nothing
}
else {
$("#ports-warning").slideDown();
}
}
});
};
script
, и этот процесс заставляет браузер загружать все, на что указывает URL-адрес (и оценивать это как JavaScript). Но получение синтаксической ошибки означает, что вызов был успешным... хотя это не кажется очень надежным методом. - person Felix Kling   schedule 21.02.2013script
, но похоже, что всякий раз, когда вы устанавливаете для свойстваtype
что-то, что не запускает выполнение скрипта (например,text/plain
), содержимое, на которое указываетsrc
, даже не загружается. Так что нет, похоже, нет способа, по крайней мере, сscript
. Возможно, вы сможете использовать элементiframe
и прослушать его событиеload
. w3.org/ TR/2011/WD-html5-20110525/. (именно так работает обратный вызов jQuerycomplete
, только он вставляет элементscript
). - person Felix Kling   schedule 21.02.2013