javascript
  • html
  • innerhtml
  • 2015-03-11 7 views 0 likes 
    0

    Я пытаюсь изменить содержимое div, когда я нажимаю ссылку в другом div. Я использовал яваскрипт функции:Как загрузить страницу в div с помощью innerHtml и javascript

    function load_home(){ 
        document.getElementById("content").innerHTML='<object type="type/html" data="home.html" ></object>'; 
    } 
    

    Однако страница загружаемый в DIV «content» появляюсь как маленькая прокрутка окно. Размер div 'content' фиксирован и занимает часть страницы, на которой я хочу. Любая идея, как я могу изменить размер загружаемой коробки?

    +0

    Пожалуйста, открепите свой код и отформатируйте его –

    ответ

    0

    Ну вы можете определить высоту тега объекта, как этот

    <object type="type/html" data="home.html" height="1000"></object> 
    

    Но это также может быть статичным.

    Вы также можете использовать iframe вместо object, но iframe также имеет статическую высоту.

    <iframe src="home.html" height="1000"></iframe> 
    

    Для того, чтобы высота вашего DIV зависит от контента, который вы должны были бы получить содержимое с помощью вызова AJAX и вставить его в DIV с помощью JavaScript, как это было предложено @ Крис. И чтобы делать вызовы AJAX и делать манипуляции с использованием HTML с помощью Javascript, я бы предложил использовать Jquery (если вы не используете и другие JS-рамки) (ref: http://api.jquery.com/jquery.ajax/, http://www.w3schools.com/jquery/ajax_ajax.asp).

    Затем вы можете сделать что-то вроде:

    $.ajax({ 
        url: 'home.html', 
        success: function(data) { 
         $('#content').html(data); // assuming div#content has a auto height 
        } 
    }) 
    

    Кроме того, вы должны убедиться, что у «home.html» возвращает только содержание, которое будет отображаться (как HTML), а не полный HTML страницы (т. е. он не должен иметь теги html и body, он должен иметь только внутренний контент тега body).

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