Одним словом, нет. У Вас может быть несколько форм на странице, но они не должны быть вложены.
От html5 рабочий проект :
4.10.3
form
элементмодель Content:
содержание Потока, но без потомков элемента формы.
Если файл хранится в том же домене, то jQuery будет использовать XHR для извлечения его содержимого, а затем будет глобально "оценивать" его. Это должно работать нормально, но если у вас возникли проблемы, я бы предложил использовать альтернативный метод внедрения тега скрипта. К сожалению, jQuery не предоставляет эту функциональность, поэтому вам придется сделать это самостоятельно:
var script = jQuery('<script/>').attr('src', 'CAGSCript.js').appendTo('head');
var timer = setInterval( function(){
if (window.CAGInit !== undefined) {
clearInterval(timer);
script.remove();
// Do your stuff:
CAGInit();
}
}, 200);
Лучше всего абстрагировать это до функции; это всего лишь пример ...
I think you can start by checking testStatus of the callback function to make sure that the script was really loaded. Callback function has two parameters, more defails on those you can find on jQuery Docs
$.getScript("CAGScript.js", function (data, textStatus) {
if (textStatus === "success") {
try {
CAGinit();
} catch(err) {
console.log(err);
}
} else {
console.log("script not loaded");
}
});
Просто имел такую же проблему на Firefox, решил его немного взломать.
Применение его к вашему примеру:
$.getScript("CAGScript.js", function (xhr) {
try {
CAGinit();
} catch(err) {
eval(xhr);
CAGinit();
}
});
в основном принудительно вынуждает оценку ответа XHR, если оно не может сделать это самостоятельно.