То, что вы пытаетесь сделать, безусловно, возможно, но в долгосрочной перспективе это будет не очень удобно.
Одна из самых больших проблем, с которой вы столкнетесь, — это правильная вставка кода из загруженного ajax html в текущую страницу. Вы не можете просто проигнорировать это и позволить всему этому работать, потому что тогда вы будете включать библиотеки несколько раз (в результате чего плагины будут перезаписаны/удалены), а код для загружаемой страницы может произойти слишком рано из-за того, что dom уже быть готовым.
Это в значительной степени оставляет вам два варианта: внедрение зависимостей или предварительная загрузка.
Внедрение зависимостей, вероятно, будет для вас самым простым из двух способов реализации, поскольку он требует наименьшего количества изменений в вашей текущей кодовой базе. Все, что вам нужно сделать, это убедиться, что все страницы, запрошенные с помощью ajax, включают только содержимое <body>
(что можно сделать с помощью кода на стороне сервера) и убедиться, что весь код, специфичный для страницы, включен до закрытия </body>
каждой страницы. . Тогда вам просто нужно будет использовать методы внедрения зависимостей для запуска вашего кода с правильными зависимостями.
Вы также можете включить только <div id="#content">...</div>
для ваших частей, что когда-либо имеет больше смысла для вашего варианта использования.
Фронтальная загрузка будет немного сложнее, потому что у вас будет один гигантский файл со всем вашим кодом для всех страниц, если только вы не используете процесс сборки (если вы никогда не использовали процесс сборки раньше, вы действительно должны попробовать его, даже если вы не думаете, что он вам нужен.) С предварительной загрузкой вам придется либо использовать делегирование событий, либо иметь методы инициализации для каждой страницы, которую вы выборочно выполняете при загрузке каждой страницы. Без хороших процессов сборки это может стать кошмаром для ремонтопригодности.
person
Kevin B
schedule
22.12.2014
$.get
, это только часть (например,<div>lots of content</div>
или целая страница? - person Matijs   schedule 23.12.2014