2015-11-06 2 views
0

Можно ли открыть новое окно с помощью функции javascript open(), например, но окно должно быть пустым, поэтому нет HTML-файла и вставить содержимое в это, где будет javascript?Открыть новое окно с динамическим содержимым javascript

Я знаю, как открыть новое окно, как вставить туда контент, как вставить стили там (он работает), но я вставляю туда, и javascript не работает в этом открывшемся окне.

Что я делаю неправильно?

EDIT: функции для открытия окна:

function openNewWindow(url) { 
    var OpenWindow = window.open('','_blank','width=1024,height=768,resizable=1'); 
    var content = document.getElementById('forSBWindow'); 

    OpenWindow.document.write('<html><head><title>New window</title><link rel="stylesheet" type="text/css" href="'+url+'style.css"><link rel="stylesheet" type="text/css" href="'+url+'ref/ref.css"><script type="text/javascript" src="'+url+'main.js"></script><script type="text/javascript" src="'+url+'ref/ref.js"></script></head><body>'); 
    OpenWindow.document.write(content.outerHTML); 
    OpenWindow.document.write('</body></html>'); 
} 

И в этом новом открывшемся окне мне нужно, например, нажать на что-то и вызвать некоторые Javascript функции из ref.js, но он не работает

+0

Что у вас есть? – cfly24

+0

Что вы подразумеваете под словом «paste content»? –

+0

, пожалуйста, см. Мою функцию –

ответ

0

Я столкнулся с такими же проблемами несколько месяцев назад. Следующий код работал на меня: это тоже должно вам помочь.

var OpenWindow = window.open('','New Window','width=1024,height=768,resizable=1'); 
var content = document.getElementById('forSBWindow'); 

OpenWindow.document.writeln('<html><head><title>New window</title><link rel="stylesheet" type="text/css" href="'+url+'style.css"><link rel="stylesheet" type="text/css" href="'+url+'ref/ref.css"><script type="text/javascript" src="'+url+'main.js"></script><script type="text/javascript" src="'+url+'ref/ref.js"></script></head><body>'); 
    OpenWindow.document.writeln(content.outerHTML); 
    OpenWindow.document.writeln('</body></html>'); 
    OpenWindow.document.close() 
$('OpenWindow.document').ready(function(e) { 
         setTimeout(onloadFunction,500); 
        }); 

function onloadFunction(){ /*code here*/ } 
Смежные вопросы