Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.11.2011, 12:33
Профессор
Отправить личное сообщение для Почемучкин Посмотреть профиль Найти все сообщения от Почемучкин
 
Регистрация: 11.05.2011
Сообщений: 241

Изменение HTML кода в другом окне
Нужно скриптом открыть страничку, но не по адресу, а сгенерированную моим же скриптом.
То есть html-код должен быть сгенерирован на лету или чтобы можно было изменить страничку в другом окошке после его открытия.
Как это сделать?
Ответить с цитированием
  #2 (permalink)  
Старый 04.11.2011, 13:09
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,217

Сообщение от Почемучкин
Как это сделать?
Прямо так и сделать...

<script type="text/javascript">
function Test() {
	var w=window.open()
	w.document.writeln('Text...')
}
</script>
<input type="button" value="Test" onclick='Test()' />
Ответить с цитированием
  #3 (permalink)  
Старый 04.11.2011, 14:39
Профессор
Отправить личное сообщение для Почемучкин Посмотреть профиль Найти все сообщения от Почемучкин
 
Регистрация: 11.05.2011
Сообщений: 241

Есть одна проблема, не знаю как ее решить:
Если в таргет-окошке загружена вебстраница, например http://google.ru, то не получается ее изменить - сразу ошибка javascript и выполнение скрипта прекращается. Пробовал
w.document.write('HELLO');
и
w.document.body.innerHTML += '<div><h1>HELLO</h1></div>';

Но если изменить
w.location = "about:blank";
то тогда скрипт отрабатывает без проблем и все пишется и меняется без ошибок.

В чем может быть проблема? То есть как изменить или дополнить уже загруженную вебстраничку?

p.s. и еще IE все время спрашивает позволить ли выполнить активный контент (скрипт) - при какждой попытке предпросмотра. как это отключить?
Ответить с цитированием
  #4 (permalink)  
Старый 04.11.2011, 17:37
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,217

Сообщение от Почемучкин
IE все время спрашивает позволить ли выполнить активный контент (скрипт) - при какждой попытке предпросмотра. как это отключить?
Это он делает только в локальной сети... В инете этого вопроса не будет.

Сообщение от Почемучкин
как изменить или дополнить уже загруженную вебстраничку?
Как и текущую. Только обращаться нужно "через переменную"...

tmp.html
<!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">
function Test() {
	var w=window.open('tmp1.html')
	w.document.getElementById('test').innerHTML='Hello word!'
}
</script>
</head>
<body>
<input type="button" value="Test" onclick='Test()' />
</body>
</html>

tmp1.html
<!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">
</script>
</head>
<body>
<div id='test'></div>
</body>
</html>
Ответить с цитированием
  #5 (permalink)  
Старый 04.11.2011, 18:32
Профессор
Отправить личное сообщение для Почемучкин Посмотреть профиль Найти все сообщения от Почемучкин
 
Регистрация: 11.05.2011
Сообщений: 241

А просто заменить страницу на свой текст или дописать в конец нельзя?
Ответить с цитированием
  #6 (permalink)  
Старый 04.11.2011, 18:55
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,217

Сообщение от Почемучкин
А просто заменить страницу на свой текст
Тогда не понятно зачем та страница вообще... Просто используй мой первый вариант.

Сообщение от Почемучкин
дописать в конец нельзя?
Мой второй пример может запросто послужить тому примером. Просто "вконце страницы" я любовно приготовил ДИВ для вставки...
Ответить с цитированием
  #7 (permalink)  
Старый 04.11.2011, 20:00
Профессор
Отправить личное сообщение для Почемучкин Посмотреть профиль Найти все сообщения от Почемучкин
 
Регистрация: 11.05.2011
Сообщений: 241

1. Но если страница чужая - там ведь нет подготовленного дива с известным id - когда я хочу добавить в конец страницы свой код.

2. Что касается полной замены на свой хтмл-код, то просто интересно, почему это не работает? Ни document.innerHTML, ни document.body.innerHTML не получается заменить.

Последний раз редактировалось Почемучкин, 04.11.2011 в 20:03.
Ответить с цитированием
  #8 (permalink)  
Старый 05.11.2011, 09:37
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

К чужой странице доступа вы не получите.
Ответить с цитированием
  #9 (permalink)  
Старый 05.11.2011, 17:32
Профессор
Отправить личное сообщение для Почемучкин Посмотреть профиль Найти все сообщения от Почемучкин
 
Регистрация: 11.05.2011
Сообщений: 241

А почему?
Ответить с цитированием
  #10 (permalink)  
Старый 05.11.2011, 23:47
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Потому что в противном случае, я бы с вашего клиент-банка денег бы снял без вашего ведома.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача кода HTML Владимир Седов Общие вопросы Javascript 2 12.04.2011 16:48
Изменение сгенерённого html Wolfer Events/DOM/Window 5 16.03.2011 11:23
Вывод кусков HTML кода с одного файла JS wlad2 Общие вопросы Javascript 16 04.01.2011 11:52
Генератор Html кода Grindel Общие вопросы Javascript 0 08.10.2010 20:06
Готовность HTML кода no_alex Общие вопросы Javascript 15 25.11.2008 16:52