Поскольку запросы JSONP создаются следующим образом:
var script=document.createElement('script');
script.src='url';
script.onLoad=function(){dosomething()};
document.body.appendChild(script);
Мой вопрос заключается в том, существует ли стандартное для w3c событие, поддерживаемое несколькими браузерами, например onBeforeLoad, которое, в свою очередь, позволяет нам прекратить выполнение загруженного скрипта,в случае, если он не является правильно сформированным ответом JSONP, или он не проходит проверку заранее определенной схемы, или на случай, если он состоит из некоторого вредоносного кода (базовая проверка скрипта)?Я знаю о событии onBeforeLoad, поддерживаемом в некоторых браузерах, но при сосредоточении на загруженном источнике данных сценария и по любой из указанных выше причин было бы чрезвычайно полезно иметь кросс-браузерный доступ к источнику загружаемого сценария, и из-за хорошегопричины, возможность остановить выполнение, непосредственно перед его запуском.
Например, приведенный выше сценарий может быть следующим:
var script=document.createElement('script');
script.src='url';
script.onBeforeLoad=function(){
if(json.parseJson(this.dataSource) &&
json.validateAgainst(schema,this.dataSource))
{
return false;
}
else{
return true;
}
};
//if onBeforeLoad return true, onLoad will not be fired;
script.onLoad=function(){dosomething()};
document.body.appendChild(script);
Я знаю, что JSONP - это доверие кМодуль стороннего javascript, поэтому я иногда хочу, чтобы, если бы я мог проверить эти модули непосредственно перед тем, как я его использую.