2010-11-02 5 views
2

Я экспериментирую с элементом управления вкладками jQuery UI и имею три вкладки, каждый из которых загружает другую страницу через AJAX. Загружаемые страницы представляют собой полные html-страницы со своим Javascript и CSS.Используйте CSS/Javascript, полученный через AJAX

Сценарии, которые являются встроенными в тело html, в порядке, поэтому CSS в атрибуте style на тегах, но Javascript и CSS в начале загруженных страниц вообще не используются.

Как я могу использовать Javascript и CSS в начале загруженных страниц? Или мне нужно включить все CSS и Javascript на странице, содержащей элемент управления вкладкой?

ответ

1

Нагрузка AJAX будет фильтровать все, что не находится в элементе корпуса. Вы можете поместить теги CSS/Javascript в тело, и они будут добавлены на вашу страницу, но я бы избегал этого, если это вообще возможно. Если вы не будете осторожны, вы в конечном итоге будете включать в себя несколько раз.

Я предлагаю накладывать обычные вещи, такие как jQuery, плагины и т. Д. На странице, содержащей вкладки, и только поместить скрипты с табуляцией на биты, которые загружаются через AJAX. Вам нужно быть осторожным, чтобы управлять идентификаторами - они должны быть глобально уникальными, а не уникальными на вкладке. Приклеивание с помощью классов может быть лучшим способом справиться с этим или предисловие ваших идентификаторов с именем вкладки. Для CSS я бы попытался сделать так, чтобы CSS применялся ко всей странице, включая вкладки, и загружал ее со страницы.

YMMV.

+0

Кажется, большая часть хлопот, я думаю, что я просто продолжаю работать без контроля табуляции и просто использую обычные ссылки между страницами. –

+0

@Joachim - На практике я этого не вижу. Наверное, легче начать так, чтобы модифицировать что-то на вкладках, но, честно говоря, у меня не было особых проблем. Конечно, ASP.NET MVC может сделать это проще, чем некоторые другие структуры из-за разделения проблем. – tvanfosson

0

Вы можете добавить эту строку в вашей голове:

<link rel="stylesheet" id="yourid" type="text/css" /> 

и это после того, как ваш АЯКС вызова:

document.getElementById('yourid').href='css/'+yourvariable+'.css';} 

И вы можете сделать то же самое для скриптов (изменить отн и тип).

Смежные вопросы