при открытии новой вкладки замените содержимое HTML - PullRequest
0 голосов
/ 08 марта 2019

Идея в том, чтобы получить содержимое iframe, открыть окно новой вкладки и заменить HTML нового окна содержимым, полученным из iframe.

, поэтому в приведенном ниже компоненте у меня есть

const printComp = ()=>{

  onPrint = () => {
    let temp = document.getElementById('iprintable') as HTMLIFrameElement;
    let win = window.open();
    const content= temp!.contentWindow!.document.documentElement); // Here I have a complete document 
    /* here I have tried followings*/
  };
 return <button className="..." onClick={this.onPrint}/>
}

, поэтому попытка замены на:

win!.document = content /* Cannot assign to 'document' because it is a read-only property*/ 
win!.document.body = content /*The new body element is of type 'HTML'. It must be either a 'BODY' or 'FRAMESET' element.*/
win!.document.body.innerHTML=content /*Type 'HTMLElement' is not assignable to type 'string'*/

с использованием win!.document.body.innerHTML=content.innerHTML работает, но содержимое Head в iframe переходит в тег body.это нормально или так не должно быть?в общем, как мне заменить все содержимое окна новой вкладки содержимым iframe.

PS: в общем, я нашел печать содержимого iframe катастрофой, таков мой подход, так как мой предыдущий вопрос не получил ответ (по-прежнему доступна награда:))

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...