Я новичок в программировании Javascript/Jquery, поэтому извиняюсь, если это простой/глупый вопрос.Функция jQuery getScript с кадрами
Я пытаюсь использовать функцию jQuery .getScript() для обновления части существующей веб-страницы. Эта веб-страница должна запускаться в локальной файловой системе, и большое количество форматирования выполняется с использованием фреймов.
Прямо сейчас есть три основных кадра - боковая панель, на которой отображаются возможные «области» на выбор, основной кадр, который отображает большую часть содержимого веб-страницы, и рамку нижнего колонтитула. Основная запись на страницу находится в файле index.html, который загружает файл sidebar.html, main.html и footer.html в каждый из соответствующих кадров.
В свою очередь, main.html имеет несколько загружаемых javascript-файлов, основным из которых является main.js, который содержит множество функций для форматирования/обработки содержимого этого главного окна. После загрузки этого файла javascript main.html загружает несколько файлов javascript, которые содержат данные, которые будут отображаться в основном фрейме. Эти загружаемые файлы имеют фиксированную структуру данных и зависят от функций, которые были загружены файлом main.js.
Загрузка веб-страницы теперь прекрасна, но когда пользователь пытается переключиться на другую «область», вся веб-страница перезагружается, чтобы сделать коммутатор. Единственная разница в веб-странице - это содержимое в кадре main.js, загружаемое другим набором файлов .js.
Достаточно текста, давайте посмотрим на некоторый код.
При загрузке веб-страницы я попытался добавить простой вызов функции getScript в файле .js на уровне index.html, который обрабатывает области переключения. Этот файл newFile имеет разные определения данных, чем ранее загруженный файл oldFile.js, который был загружен в файл main.html.
$ .getScript (/js/newFile.js);
Однако это не сработает, поскольку newFile.js зависит от функции parseData(), которая находится в main.js.
Если я открываю firebug, parseData не находится на вкладке dom, которая, как я полагаю, связана с некоторой проблемой с основным файлом main.html и main.js, существующим в другом фрейме.
Я попытался сделать какой-то таргетинг на правильный «кадр», но я не думаю, что достаточно понимаю jQuery, чтобы знать, что происходит.
$ (window.parent.frames [0]). GetScript (/js/newFile.js);
Любые предложения?
Если бы я был ввести в Firebug консоли «parseData» он не может найти его: «ReferenceError: parseData не определен»
Однако, если я типа в window.parent.frames [1] .parseData, он может найти функцию.
Извините за все бессвязное и плохое понимание javascript. Надеюсь, кто-то может оказать некоторую помощь!
Благодаря
Это оказалось проблемой при попытке загрузить файлы из локальной файловой системы. Одна и та же политика происхождения домена в браузере заставила меня не иметь доступа к файлам, которые мне нужно было получить. – user210099