Как мне записать контент в другое окно браузера с помощью Javascript?

Я открыл новое окно с помощью window.open () и хочу использовать ссылку из вызова window.open () для записи содержимого в новое окно. Я пробовал скопировать HTML из старого окна в новое окно с помощью myWindow.document.body.innerHTML = oldWindowDiv.innerHTML; но это не работает. Есть идеи?

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
11
0
25 845
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

myWindow.document.writeln(documentString)

Я думаю, это поможет.

   function popUp(){

    var newWindow = window.open("","Test","width=300,height=300,scrollbars=1,resizable=1")

    //read text from textbox placed in parent window
    var text = document.form.input.value

    var html = "<html><head></head><body>Hello, <b>"+ text +"</b>."
    html += "How are you today?</body></html>"


    newWindow .document.open()
    newWindow .document.write(html)
    newWindow .document.close()

    } 
Ответ принят как подходящий

Ссылка, возвращаемая window.open(), относится к объекту window дочернего окна. Итак, вы можете делать все, что обычно, вот пример:

var myWindow = window.open('...')
myWindow.document.getElementById('foo').style.backgroundColor = 'red'

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

На самом деле это та же политика происхождения (w3.org/html/wg/html5/#same-origin), что в основном означает, что вы должны получать доступ к странице в том же домене, на том же порте и с тем же протоколом (например, example.com не может писать в example.com, example.com:8080 и т. д.)

olliej 04.10.2008 11:34

что идет туда, где точки?

Simon Woodward 24.11.2019 00:27

Решение формы, о котором упоминает Виджеш, является основной идеей обмена данными между окнами. Если вы ищете код библиотеки, есть отличный плагин jQuery именно для этого: WindowMsg (см. Ссылку внизу из-за странной ошибки автоматического связывания Stack Overflow).

Как я описал в своем ответе здесь: Как я могу реализовать всплывающие окна чата в GMail? WindowMsg использует форму в каждом окне, а затем хэш window.document.form ['foo'] для связи. Как упоминает Дэн выше, это работает, только если окно совместно использует домен.

Также, как упоминалось в другом потоке, вы можете использовать библиотеку JSON 2 с JSON.org для сериализации объектов javascript для отправки между окнами таким образом, вместо того, чтобы общаться исключительно с помощью строк.

WindowMsg:

http://www.sfpeter.com/2008/03/13/communication-between-browser-windows-with-jquery-my-new-plugin/

Другие вопросы по теме