2015-03-20 8 views
1

Я хочу попытаться сделать что-то вроде этого, где я изменяю местоположение href для определенного div. Я знаю, что могу использовать iframe, но я стараюсь избегать кадров. Есть ли способ сделать это, когда пользователь нажимает кнопку, а источник только одного div изменяется, а остальная часть сайта остается прежней.Можно изменить location.href div без использования iframe?

<script> 
function chdiv() 
{ 
document.getElementById("div2").location.href="google.com"; 
} 
</script> 

<div id="div1"> 
<button id="change" onclick="chdiv();" 
</div> 
<div id="div2"> 
<div> 
+1

Если вы сделали акт Div просто как кадр, какую выгоду вы получите от избежания фреймов? – Quentin

+0

он будет использоваться для целей seo – user3005775

+0

См. Мой предыдущий комментарий. Кажется, вы сбиваете с толку идею о том, что «вещи, которые делают iframe, плохо для SEO», «iframes - плохо для SEO». Создание iframe из JavaScript (т. Е. Использование Ajax, как подсказывает большинство ответов) не будет лучше для SEO, это будет хуже. – Quentin

ответ

0

Нет, и дивы не имеют location свойство. Вы можете изучить запрос AJAX, чтобы использовать любой HTML-код.

$.get('url', function (data) { 
    $('#div2').html(data); 
}); 
+0

спасибо за быстрый ответ, не знаю jquery или ajax, но если я это сделаю, можно загрузить внешнюю страницу, которая принимает строка запроса url. Например, у меня есть php-страница, которая будет заполняться только через строку запроса url. Когда пользователь нажимает кнопку, я хочу, чтобы содержимое div загружало страницу PHP. Не просто изменить html. – user3005775

+0

или выполняет ли ваша функция? – user3005775

+0

Да, вы можете отправлять строки запроса как «данные» в запросе AJAX GET. Взгляните на: http://api.jquery.com/jQuery.get/. jQuery немного привыкает, но это сделает вашу жизнь легкой. Вы можете сделать это в простом JavaScript, но это больше строк кода, чтобы сделать то же самое. – beautifulcoder

0

Нет, я не верю, что поведение, которое вы ищете, возможно. Div не имеют location. Вам, скорее всего, придется использовать AJAX для изменения любых данных в div, который вы хотите изменить.

0

Не нравится, но вы можете сделать это с помощью AJAX:

<div id="div1"> 
    <button id="change">load</button> 
</div> 
<div id="div2"></div> 

-

$(document).ready(function(){ 
     $("#change").click(function(){ 
      $("#div2").load('http://google.com/'); 
     }); 
});