Загрузите div из другого файла html в том же домене - PullRequest
1 голос
/ 28 января 2020

Я хотел бы загрузить div из другого файла html в том же домене. Как я могу сделать это с jquery?

Здесь ниже это мой пример, но он не работает. В прошлом я использовал .load (), но теперь это устарело. Мой текущий браузер Firefox 72.0.2. 64-разрядный.

Имейте в виду, что в старых firefox браузерах это работает (например, Firefox 60.0), но в новых Firefox браузерах это не работает.

Пожалуйста Вы можете написать код с полным решением. Я новичок ie в Jquery.

Спасибо.

<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

		<script
		src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js">

			$(document).ready(function(){
				
				$("#boton").click(function(){
					$.get("tabla/test.html", function(data){
						$("#content").html(data);
						
					});
				});
				
			});//End jquery.
			
		</script>
		
	</head>
	<body>
		
		<h2>Let's see how load the text file from another html file.</h2>
		
		<input type="button" id="boton" value="Load an external HTML file">
		<div id="content">
			<p>Here will be loaded the text.</p>
		</div>
	</body>
</html>

<html>
	<!-- This is the other web page named: test.html -->
	<div id="fbody">
		<p>Hi, this is the text from antoner html file.</p>
	</div>
</html>

Ответы [ 2 ]

1 голос
/ 28 января 2020

Вы не можете иметь несколько <html> элементов. Код, который вы загружаете, не должен включать оболочку <html>, это должен быть <div>.

. Вы можете решить эту проблему, добавив идентификатор к вызову .load().

$("#content").load("tabla/test.html #fbody");

Но это тоже может не сработать. jQuery использует встроенный в браузер синтаксический анализатор HTML, помещая возвращенный HTML в тег <div> и затем анализируя его. Если Firefox отбрасывает все HTML, потому что оно находится внутри <html>, это также не удастся. Лучшее решение - исправить загрузку скрипта, который содержит только DIV, а не <html>.

Эта форма .load() не считается устаревшей. Единственный устаревший метод использует .load() для обработчика событий.

0 голосов
/ 29 января 2020

Я нашел ответ здесь: https://www.statsilk.com/support/running-offline-javascript-firefox-68-resolving-cross-origin-request-blocked

Там написано:

  • Go для вашего браузера Mozilla firefox.
  • Введите about: config в адресной строке Firefox и нажмите Enter. Подтвердите, что вы будете осторожны, если отображается предупреждающее сообщение.
  • Позже выполните поиск «уникальный» в поле поиска.
  • Двойной щелчок "privacy.file_unique_origin" предпочтение и значение "True" будет изменено на "False".
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...