Дополнительно
Как загрузить HTML-страницу в <div> с помощью JavaScript?
Я хочу, чтобы home.html загружался в <div id="content">
.
<div id="topBar"> <a href ="#" onclick="load_home()"> HOME </a> </div>
<div id ="content"> </div>
<script>
function load_home(){
document.getElementById("content").innerHTML='<object type="type/html" data="home.html" ></object>';
}
</script>
Это работает нормально, когда я использую Firefox. Когда я использую Google Chrome, он запрашивает плагин. Как заставить его работать в Google Chrome?
143
14
Наконец-то я нашел ответ на свою проблему. Решение следующее
Вы можете использовать функцию jQuery load:
Извините. Отредактировал для клика вместо загрузки.
Получение API
XHR API
исходя из ваших ограничений, вы должны использовать ajax и убедиться, что ваш javascript загружается до разметки, которая вызывает функцию
load_home()
.Ссылка - davidwalsh
MDN - Использование Fetch
[Демонстрация JSFIDDLE](http://jsfiddle.net/jpmCz/)
Я видел это и думал, что это выглядело довольно хорошим, так что я побежал некоторые тесты на нем.
Может показаться, что это чистый подход, но в плане производительности она отстает на 50% по сравнению со временем, которое потребовалось, чтобы загрузить страницу с функцией загрузки jQuery или используя обычный JavaScript подход от объекта XMLHttpRequest, которые были примерно похожи друг на друга.
Я представляю это потому, что под капот он получает страницу точно так же, но он также имеет дело со строительством совершенно нового объекта объекта HTMLElement, а также.
В резюме я предлагаю с помощью jQuery. Синтаксис примерно так же легко использовать, как это может быть и структурировано перезвонит для вас для использования. Это тоже относительно быстро. Ванильный подход может быть быстрее, незаметно несколько миллисекунд, но синтаксис сбивает с толку. Я бы только использовать это в среде, где я не'т иметь доступ к jQuery.
Вот код, который я использовал для тестирования - это довольно элементарным, но раз вернулся очень последовательно через несколько попыток, так что я бы сказал точнее примерно +- 5 мс в каждом конкретном случае. Тесты проводились в хроме с моего собственного домашнего сервера:
Выборки HTML в современных JavaScript-способ
Этот подход использует современные функции JavaScript, такие как
асинхронный/ждут
изагрузить
API-интерфейс. Он скачивает html как текст, а затем подает его в innerHTML будет вашего контейнера элемента.В
ждут (ожидают получить(URL-адрес)).текст()
может показаться немного сложно, но это's легко объяснить. Он имеет два асинхронных шагов, и вы могли бы переписать эту функцию так:Смотрите извлечение документации API для более подробной информации.
При использовании
Помните, что вы не можете и"отладка" в хроме локально, потому что запросы XMLHttpRequest не может загрузить ... это не значит, что он не работает, это просто означает, что вы должны проверить ваш код на тот же домен ака. ваш сервер
Вы можете использовать jQuery с :
попробовать
в
в
или
Есть этот плагин на GitHub, что загрузка содержимого в элемент. Вот РЕПО
https://github.com/abdi0987/ViaJS
Обычно это необходимо, когда вы хотите включить header.php или на любой странице.
В Java это's особенно легко, если у вас есть HTML-страницу, и Дон'т хотите использовать PHP включает функции, но вообще вам надо написать функцию PHP и добавить его в качестве Java функции в теге script.
В этом случае вы должны написать его без функции с именем просто. Скрипт ярость функция Word и начать включать header.php Т. е. преобразовать в PHP включить функцию Java функции в тег script и поместить все ваше содержание в том, что включаемый файл.
Универсально многоразовые чистого JavaScript
Я не'т использовать фреймворки или библиотеки (мои клиенты может если очень хочется) хотя моем веб-платформы-это'т отягощенные излишней и расточительной пропускной способности. Ниже функция, что я написал для непосредственного добавления XML к
После
,перед
,внутри
(становится последним элементом) или "заменить" и существующего элемента. Нет ненадежное барахло вродеinnerHTML будет (что во многих браузерах искали
идентификатор` "и добавил, что" так можно'т быть найдены, таким образом, не надежный). Автономные функции предпосылкой использованы в приведенных ниже примерах в нижней части этого поста.после
,перед
,внутри
изаменить
).id_('содержание')
) или строковое значениеидентификатор
элемента.<div с префиксом xmlns="и http://www.w3.org/1999/xhtml"><п>все сюда</п></див>
).Функция
Понимание правильной работы дом
Загрузка XML-данных через AJAX в дом правильно не требует пространства имен XML (
префиксом xmlns="и http://www.w3.org/1999/xhtml"
) на корневой элемент (возможно, не имеют более чем один корневой элемент или если вы делаете вы будете иметь, чтобы выполнить итерации). Затем вы должны использоватьэтого importnode
. Остальные функции-это просто семантика , где XML-код (Аякс, из другой функции и т. д.) размещается относительно других элементов в DOM.Примеры Использования
Добавить XML "после" конкретного элемента:
Добавить XML " до " определенного элемента:
Добавьте XML-код "внутри" конкретного элемента (в качестве последнего дочернего элемента):
Чистого JavaScript автономного необходимых функций
Эти функции я использую на моей платформе, чтобы избежать наказания пользователей с пять копий фреймворков/библиотек и обеспечение высокой эффективности:
Сочетания Пользовательских Функций
Если вы хотите чистый профессиональный JavaScript, вы'вновь придется использовать "прототип", который является удивительным. В Примере
id_('примеру').tag_('тд')[0].class_('хороший')[0]
строительство гораздо проще, чем возиться с$
внутри петель.Полными Сундуками Сокровищ
Я Обновить код в редких случаях (потому что он'ы скала, а не на "Версия" и зависимые). Программирования на чистом JavaScript это's легкий для того чтобы избежать массовых низкой производительности фреймворков и библиотек. https://www.jabcreations.com/docs/javascript/#functions
showhide.html
Если ваш HTML-файл хранится локально, а затем перейти на iframe, а не в <Объект> В теге. в <Объект> теги не работают кросс-браузер, и в основном используются для вспышки
Например :
<элемент iframe в src="и домой.HTML-код как" ширина"и 100&;" Высота=то"100" и/>