2013-08-26 6 views
0

Несколько часов Я пытаюсь загрузить содержимое div с одной страницы и показать его другому. например:Загрузите содержимое div с одной страницы и покажите его другому

У нас есть this wikipedia page. Я хочу получить содержимое div с id="mw-content-text" и показать его на моей странице с элементом с id="result".

Есть ли способ сделать это только с javascript/jquery?

ответ

2

Сначала загрузите файл JS https://github.com/padolsey/jQuery-Plugins/blob/master/cross-domain-ajax/jquery.xdomainajax.js и включите файл js на свою страницу. Ниже приведена функция, которую я использовал для загрузки внешней страницы.

function test() { 
    $.ajax({ 
     url: 'http://external_site.com', 
     type: 'GET', 
     success: function(res) { 
     var content = $(res.responseText).text(); 
     alert(content); 
     } 
    }); 
    } 

Это помогло мне получить контент с внешнего сайта.

Reference

+0

Я стараюсь это раньше, и это не сработало :(Любые идеи, в которых я ошибаюсь? – NoSense

+0

К сожалению, это не помогло. – NoSense

+0

извините за поздний ответ. Теперь у меня есть этот код для работы. – NoSense

3

Да, в разделе "Загрузка фрагментов страницы" на http://api.jquery.com/load/.

Короче говоря, вы добавляете селектор после URL. Например:

$('#result').load('ajax/test.html #container'); 
+0

спасибо за ответ, но это не сработало. – NoSense

0

Вы можете попробовать IFRAME:

<iframe src="http://en.wikipedia.org/wiki/Robert_Bales" frameborder="0"></iframe> 
+0

спасибо, но хочу только получить содержимое определенного элемента страницы. – NoSense

1

Вы всегда можете использовать CURL в PHP, чтобы захватить контент с других сайтов, а затем вы можете получить доступ к PHP и отобразить его пользователю на этой странице с помощью функции load() JQuery. Предположим, что этот файл имеет имя: «gatherinfo.php» (JQuery не может собирать информацию с удаленных сайтов, так как это небезопасно, я верю (http://forum.jquery.com/topic/using-ajax-to-load-remote-url-not-working)), поэтому один из способов - сделать это через PHP.

<?php 
$myData = curl("http://en.wikipedia.org/wiki/Robert_Bales"); 
echo "$myData"; 

function curl($url) { 
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL, $url); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); 
    $data = curl_exec($ch); 
    curl_close($ch); 
    return $data; 
} 
?> 

Однако, убедитесь, что вы всегда ссылаетесь на источники, когда собираете такую ​​информацию. Затем с помощью JQuery вы можете назвать файл на сервере и отобразить его на DIV вы хотите, выполнив следующие действия:

Javascript: (Это будет инициализирован, как только страница готова и загружен)

$(document).ready(function(){ 
    $("#yourDIVID").load("gatherinfo.php"); 
}); 

HTML:

<html> 
<head> 
<script src="yourjqueryfile.js" type="text/javascript"></script> 
<script type="text/javascript"> 
     $(document).ready(function(){ 
      $("#yourDIVID").load("gatherinfo.php"); 
     }); 
</script> 
</head> 
<body> 
<div id="yourDIVID"> The content you're grabbing would load here </div> 
</body> 
</html> 

Вот как вы могли бы сделать это, если это то, что вы собираетесь делать.

+0

спасибо, но как получить только содержимое определенного элемента? – NoSense

+0

Хорошо, добавляю: $ ("# getPrice"). Load ("gatherinfo.php #content"); но id, похоже, не работает.Любые идеи, в которых я ошибаюсь? – NoSense

+1

Покажите нам свой HTML-код. Hashtags (#) используются для указания на id и dots (.) Используются для указания на класс элемента. Я отредактирую свой ответ для вас и сделаю для вас функцию javascript. –

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