Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.02.2013, 09:37
Аватар для damekkoneko
Новичок на форуме
Отправить личное сообщение для damekkoneko Посмотреть профиль Найти все сообщения от damekkoneko
 
Регистрация: 15.02.2013
Сообщений: 9

Подключение внешних скриптов к динамически создаваемому окну
Здравствуйте! Второй день голову ломаю, уверен, что ошибка в какой-то мелочи, которую не могу заметить.
Прошу вашей помощи.

Имеется календарик (tigracalendar), подключается из "tcal.js", в статике все работает, а как создаю динамическую страницу ничего не работает. Доходит до объявления скрипта и все дальше страничка не подгружается, стоит добавить алерт сразу после объявления источника калдендарика и все норм.

...
win = window.open("", "", "toolbar=0,width=800,height=450");  
win.document.open(); 
win.document.writeln('<!DOCTYPE HTML>');
win.document.writeln('<html><head>');
win.document.writeln('<meta http-equiv="content-type" content="text/html; charset=windows-1251">');
win.document.writeln('<link rel="stylesheet" type="text/css" href="http://ххх/cgi-bin/src/u/tcal.css"/>');
win.document.writeln('<script type="text/javascript" src="http://ххх/cgi-bin/src/u/tcal.js"><\x2fscript>');
win.alert();
win.document.writeln('<title>Проверка отчета</title></head><body>');
...


Что я не замечаю? В tcal.js кавычки используются одинарные, мне казалось, что проблема с кавычками, или с тем, что нужно подождать, пока подгрузится скритп из источника.
Спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 15.02.2013, 10:35
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,124

Сообщение от damekkoneko
а как создаю динамическую страницу ничего не работает
Бивас, тест!

<!DOCTYPE html>
<html>
<head>
<!--
<script src="http://code.jquery.com/jquery-latest.js"></script>
<link rel="stylesheet" type="text/css" href="tmp.css" />
-->
<style type="text/css">
</style>
<script type="text/javascript">
win = window.open("", "", "toolbar=0,width=800,height=450");  
win.document.open(); 
win.document.writeln('<!DOCTYPE HTML'+'>');
win.document.writeln('<html><head'+'>');
win.document.writeln('<script src="http://code.jquery.com/jquery-latest.js"></script'+'>');
win.document.writeln('<title>Проверка отчета</title'+'>');
win.document.writeln('</head'+'>');
win.document.writeln('<body'+'>');
win.document.writeln('<button id="b" onclick="$(\'#b\').css(\'color\',\'red\')">Test</button'+'>');
win.document.writeln('</body'+'>');
</script>
</head>
<body>
</body>
</html>

Вроде работает...
Ответить с цитированием
  #3 (permalink)  
Старый 15.02.2013, 10:53
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от damekkoneko
win.document.writeln('<!DOCTYPE HTML>');
win.document.writeln('<html><head>');
Так открытый документ уже содержит
<html>
    <head></head>
    <body></body>
</html>

И доктайп уже вписывать поздно.
ksa, разве нет?
Ответить с цитированием
  #4 (permalink)  
Старый 15.02.2013, 11:38
Аватар для damekkoneko
Новичок на форуме
Отправить личное сообщение для damekkoneko Посмотреть профиль Найти все сообщения от damekkoneko
 
Регистрация: 15.02.2013
Сообщений: 9

Сообщение от danik.js Посмотреть сообщение
Так открытый документ уже содержит
<html>
    <head></head>
    <body></body>
</html>

И доктайп уже вписывать поздно.
Похоже на то. Но в башку-то надо как-то запихать

Последний раз редактировалось damekkoneko, 15.02.2013 в 11:42.
Ответить с цитированием
  #5 (permalink)  
Старый 15.02.2013, 11:56
Аватар для damekkoneko
Новичок на форуме
Отправить личное сообщение для damekkoneko Посмотреть профиль Найти все сообщения от damekkoneko
 
Регистрация: 15.02.2013
Сообщений: 9

Техническая мысль прогресса меня подтолкнула проверить это в других браузерах (Изначально проверка в виндовой последней Опере ).
Хром отлично переваривает и все работает.
IE6 загибается и буксует - пишет загрузка данных с http://ххх/cgi-bin/src/u/tcal.css

Чего ж им не нравится?

Стоит к примеру ksa прикрутить вызов окна по кнопке, как сразу все не работает
Почему опера нелюбит, когда этот код помещен в функцию?

<!DOCTYPE html>
<html>
<head>
<!--
<script src="http://code.jquery.com/jquery-latest.js"></script>
<link rel="stylesheet" type="text/css" href="tmp.css" />
-->
<style type="text/css">
</style>
</head><body>
  <script type="text/javascript">
    function s(){
win = window.open("", "", "toolbar=0,width=800,height=450");  
win.document.open(); 
win.document.writeln('<!DOCTYPE HTML'+'>');
win.document.writeln('<html><head'+'>');
win.document.writeln('<script src="http://code.jquery.com/jquery-latest.js"></script'+'>');
win.document.writeln('<title>Проверка отчета</title'+'>');
win.document.writeln('</head'+'>');
win.document.writeln('<body'+'>');
win.document.writeln('<button id="b" onclick="$(\'#b\').css(\'color\',\'red\')">Test</button'+'>');
win.document.writeln('</body'+'>');
    };
</script>
  
  <input type="button" onclick= s()>
</body>
</html>

Последний раз редактировалось damekkoneko, 15.02.2013 в 12:19. Причина: ...подумал
Ответить с цитированием
  #6 (permalink)  
Старый 15.02.2013, 12:35
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от damekkoneko
Но в башку-то надо как-то запихать
var doc = win.document,
    script = doc.createElement('script');
script.src = 'http://code.jquery.com/jquery-latest.js';
doc.body.appendChild(script);
doc.title = 'Проверка отчета';

doc.body.innerHTML = '<button id="b" onclick="$(\'#b\').css(\'color\',\'red\')">Test</button'+'>';


Может так?
Ответить с цитированием
  #7 (permalink)  
Старый 15.02.2013, 12:48
Аватар для damekkoneko
Новичок на форуме
Отправить личное сообщение для damekkoneko Посмотреть профиль Найти все сообщения от damekkoneko
 
Регистрация: 15.02.2013
Сообщений: 9

Сообщение от danik.js Посмотреть сообщение
var doc = win.document,
    script = doc.createElement('script');
script.src = 'http://code.jquery.com/jquery-latest.js';
doc.body.appendChild(script);
doc.title = 'Проверка отчета';

doc.body.innerHTML = '<button id="b" onclick="$(\'#b\').css(\'color\',\'red\')">Test</button'+'>';


Может так?
Да, так правильнее.
Но проблема остается все равно опера не прожевывает
Ответить с цитированием
  #8 (permalink)  
Старый 15.02.2013, 13:43
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,124

Сообщение от danik.js
разве нет?
Я лишь потестил пример автора...
Ответить с цитированием
  #9 (permalink)  
Старый 27.02.2013, 09:46
Аватар для damekkoneko
Новичок на форуме
Отправить личное сообщение для damekkoneko Посмотреть профиль Найти все сообщения от damekkoneko
 
Регистрация: 15.02.2013
Сообщений: 9

В общем, я так этот вопрос и не решил. У меня мой пример в Опере работает только, если перед загрузкой странички новое окошко выдаст алерт, в Хроме все ок и без алерта.
Ответить с цитированием
  #10 (permalink)  
Старый 27.02.2013, 17:35
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

<script type="text/javascript">
function MyOpen(str){
var msg = new String("");
msg = "<head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1251\" /><link rel=\"stylesheet\" type=\"text/css\" href=\"http://javascript.ru/forum/clientscript/vbulletin_css/style-81884d78-00003.css\" /><title>Тest</title> <script src=\"http://code.jquery.com/jquery-latest.js\"><"+"/"+"script>"
msg+="<div class='panel' style='margin-top:45px;color:red;font-size:32px;'><center>"+str+"</center></div>"
msg+="<script>setTimeout(\"$('div').text('Меняем содержимое элемента с помощью jQuery,- Скрипты работают')\",2000);<"+"/"+"script>"
msg+="</body></html>";
popup = window.open("", "", "height=300, width=700, top=300, left=300, scrollbars=1")
popup.document.write(msg)
popup.document.close()
return false
}
</script>
<button onclick="MyOpen('Привет')">Жмём</button>

Последний раз редактировалось Deff, 27.02.2013 в 17:57.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
перенос подключение скриптов в header Артем125 Javascript под браузер 8 13.10.2012 05:16
Конфликт событий внешних скриптов. ryslan1 Events/DOM/Window 10 11.07.2012 20:35
Динамическое подключение скриптов на страницу trikadin AJAX и COMET 12 28.12.2011 01:32
Подключение скриптов из внешнего файла feelman Общие вопросы Javascript 19 29.05.2010 21:21
Подключение внешних таблиц из css файла chippolino (X)HTML/CSS 14 30.04.2010 12:36