Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Объединение страниц с помощью js (https://javascript.ru/forum/dom-window/56701-obedinenie-stranic-s-pomoshhyu-js.html)

Exhaust_ 30.06.2015 00:34

Объединение страниц с помощью js
 
Здравствуйте. Интересная проблема
Есть полноценная страница 1.html на сайте и страница 2.html с куском кода, который содержит html-разметку, css-стили и js-скрипты.
Цель - с помощью вставки строки <script src='script.js'> в 1.html подгрузить в это место все содержание 2.html
Это должно происходить при загрузке страницы. А подгруженный документ 2.html должен стать полнофункциональной частью страницы 1.html
Каким способом это можно сделать?

krasovsky 30.06.2015 07:28

Все просто - напиши в этом скрипте соответствующий код.
1 тебе нужно загрузить шаблон 2.html. jquery.load() должно подойти.
2 заменить тег этого скрипта на html. jquery.replaceWith() должно подойти.

Exhaust_ 30.06.2015 08:39

Я правильно понял?

1.html
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script>jquery.load(script.js)</script>


script.js
jquery.replaceWith(2.html)


2.html
<div>...</div>
<script>...</script>
<style>...</style>

krasovsky 30.06.2015 08:50

Тут то зачем
<script>jquery.load(script.js)</script>

Вот так наверно надо


Да и доку по использованию jq почитать не мешало бы:
<div id="conteiner"></div>
<script src="/mypath/script.js"></script>


в script.js
$( "#conteiner" ).load( "/mypath/2.html" );


По сути Load уже решает все проблемы сразу загружая хтмл в нужный контейнер. И в таком случае скрипт <script src="/mypath/script.js"></script> можно оставить в head.
Другой вопрос если задача стоит именно так и не иначе - "вставить скрипт в определенное место документа, который должен загрузить хтмл и заменить им себя", тогда load не подойдет, подойдет тот же $.get или даже $.ajax и уже потом replaceWith

Exhaust_ 30.06.2015 09:00

Это верно )
В с script.js что писать не понял

krasovsky 30.06.2015 09:05

Посмотри выше
Цитата:

Сообщение от Exhaust_
В с script.js что писать не понял

Цитата:

Сообщение от krasovsky
в script.js
$( "#conteiner" ).load( "/mypath/2.html" );


Exhaust_ 30.06.2015 09:08

Спасибо
На примере работает
Буду внедрять

krasovsky 30.06.2015 09:16

Цитата:

Сообщение от Exhaust_
Спасибо
На примере работает
Буду внедрять

Давай)


Часовой пояс GMT +3, время: 20:12.