2015-08-27 4 views
0

У меня к страницам есть страница источника, другая - это копия, мне нужно передать некоторые элементы div в другое тело страницы. Я сделал половину пути, здесь я использовал функцию setTimeOut Как обойтись без функции тайм-аута? и браузер должен отображать URL-адрес.Как добавить содержимое текущей страницы на другую страницу?

исходный код страницы:

<html> 
    <head>   
     <script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.11.3.min.js"></script> 
    </head> 
    <body> 

     <script> 
      function copyCon(){ 

      var p = document.getElementById("1"); 
      var p_prime = p.cloneNode(true); 
      var w = window.open('printcopy.html'); 

      setTimeout(function(){ 
       w.document.body.appendChild(p_prime); 
      }, 1000); 
      } 

     </script> 

     <button onclick="copyCon()">copy </button> 
     <div id = "1" style="width: 500px; height: 500px; border: 1px solid black; position: relative"> 

      <h3> this is a test heading </h3> 
      <p style="top: 60px; left: 20px; position: absolute;"> test Paragraph</p> 

      <input type="text" style="position: absolute; top: 40px; left: 20px"/> 

     </div> 

    </body> 
</html> 

копия:

<html> 
    <head> 
    </head> 
    <body>   
    </body> </html> 

и есть ли способ получить доступ к элементам и выполнить функцию копирования страницы?

+1

В чем причина использования '' setTimeOut'' и какой URL-адрес должен отображаться браузером? – Kamil

+0

посмотрите http://stackoverflow.com/questions/2155122/copy-current-webpage-into-a-new-window или http://stackoverflow.com/questions/22245608/javascript-how-to-copy- div-content-to-another-page – ZaoTaoBao

+0

Я с @Kamil, что причина таймаута? Я думаю, что ваш код без таймаута должен выполнять эту работу. Что происходит при попытке без таймаута? – frikinside

ответ

0

Я нашел решение самого

function copyCon(){ 


    var w = window.open('printcopy.html'); 
    w.onload = function(){ 
    var p = document.getElementById("1"); 
    var p_prime = p.cloneNode(true); 
    w.document.body.appendChild(p_prime); 
    }; 
} 

благодарит за поддержку

0

Вы можете добиться этого, используя функцию $ .get (documentation).

В файле вы хотите добавить элементы из копирования (если у вас есть DIV называется div_you_want_to_be_append):

$.get('source.php', function (data) { 
    $('#div_you_want_to_be_append').append(data); 
}); 

Лучший способ избежать новых HTML-теги, чтобы включить содержимое, которое требуется скопировать новый файл в PHP и вызове включить его в источнике и вызвать функцию $ .get (файл: source.php в моем примере)

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