Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / upload скрипта в html / 19 сообщений из 19, страница 1 из 1
16.01.2009, 10:53
    #35760859
gabbeer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
upload скрипта в html
Всем привет!

Подскажите, как можно организовать вставку javascript в готовую html страничку?

Пробовал таким образом:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
<script type="text/javascript">
	
function megalink(param){
        var wpo = window.open(param);
  	var head = wpo.document.getElementsByTagName("head")[ 0 ];
	script = wpo.document.createElement('script');
	script.id = 'uploadScript';
	script.type = 'text/javascript';
	script.src = "../categories/script.js ";
	head.appendChild(script);
	%какая-то функция%();
}
</script>

<a href="javascript:void(0)" onclick="megalink('%html страница%')"> megalink</a>

выдает ошибку: "undefined" - есть null или не является объектом
...
Рейтинг: 0 / 0
16.01.2009, 11:00
    #35760888
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
upload скрипта в html
Может проще вставлять: document.body.appendChild?
...
Рейтинг: 0 / 0
16.01.2009, 11:17
    #35760955
gabbeer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
upload скрипта в html
ShSergeМожет проще вставлять: document.body.appendChild?

Ругается, что либо "Интерфейс не поддерживается", либо "предполагается наличие объекта"..
...
Рейтинг: 0 / 0
16.01.2009, 12:15
    #35761134
Ex_Soft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
upload скрипта в html
Гм...
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
var
	w,
	d,
	h,
	s;

if(!(w=window.open("child.html")))
	return;

d=w.document;
if((h=d.getElementsByTagName("head"))
	&& h.length> 0 )
{
	h=h[ 0 ];
	if(s=d.createElement("script"))
	{
		s.type="text/javascript";
		s.charset="windows-1251";
		s.src="js1.js";
		h.appendChild(s);
		w.F1inJS1();
	}
}
В M$ IE 6.0.2800.1106+SP1 отрабатывает без проблем... А, вот, под Mozilla Firefox 3.0.5 если напрямую
Error Console
Error: w.F1inJS1 is not a function
Line: 52
,
а, вот, под Firebug 'ом - вызываецо. В Mozilla 1.7.13 же шо напрямую, шо под Mozilla -> Tools -> Web Development -> JavaScript Debugger - аналогичная ошибка...
_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
16.01.2009, 12:27
    #35761172
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
upload скрипта в html
Чего-то вы замутили... . Прекрасно всё работает, м.б. убрать лишнее.
Достаточно:
Код: plaintext
1.
2.
3.
var sc=document.createElement("SCRIPT");
sc.src="мой_любимый_урл";
document.body.appendChild(sc);
А если в цикле надо, соответственно аппендчилдить в какой-то див, который предварительно почистить. В хеад пихать и ещё хеаду айдишник присваивать - круто, конечно, а смысл в чём - чтобы работало или поизощряться?
...
Рейтинг: 0 / 0
16.01.2009, 13:02
    #35761289
gabbeer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
upload скрипта в html
Надо, шоб работало)

Надо на вызываемой страничке выпонять функцию js скрипта.
...
Рейтинг: 0 / 0
16.01.2009, 13:11
    #35761310
IDVsbruck
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
upload скрипта в html
Если вызов из обработчика элементов на стренице, то ИМХО нельзя. Надо в скрипте переопределять обработчик.
Можно также вставлять через eval({то что между <script></script>}) - не так красиво и DOMенно, но действенно и просто :)
...
Рейтинг: 0 / 0
16.01.2009, 13:36
    #35761366
Ex_Soft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
upload скрипта в html
ShSerge
Прекрасно всё работает

Не правда Ваша:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
var
	h,
	s;

if((h=document.getElementsByTagName("head"))
	&& h.length> 0 )
{
	h=h[ 0 ];
	if(s=document.createElement("script"))
	{
		s.type="text/javascript";
		s.charset="windows-1251";
		s.src="js1.js";
		h.appendChild(s);
		F1inJS1();
	}
}
Работает только в M$ IE 6.0.2800.1106+SP1. В Mozilla 1.7.13, Mozilla Firefox 2.0.0.19, Mozilla Firefox 3.0.5 же выше приведенная ошибка. Но после этого - функция дергается без проблем...
ShSerge
хеад пихать

По барабану...
ShSerge
айдишник присваивать

"...для форсу бандитского..."

А вообще, я так понял, человеку нуна из своей страницы открыть в окне другую страницу, добавить в эту другую страницу *.js, и, сразу же вызвать функцию из того js'а в контексте своей страницы. Поправьте меня, если я ошибаюсь...
_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
16.01.2009, 13:44
    #35761384
Ex_Soft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
upload скрипта в html
BTW, M$ IE 6.0.2800.1106+SP1
1. Рапортует, что у него script.length==2 (Mozilla 1.7.13, Mozilla Firefox 2.0.0.19, Mozilla Firefox 3.0.5 - 1 )
2. При вызове функции из своего окна - становится активным открытое окно.
_________________
"Helo, word!" - 17 errors 56 warnings
...
Рейтинг: 0 / 0
16.01.2009, 13:46
    #35761389
gabbeer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
upload скрипта в html
Ex_Soft
А вообще, я так понял, человеку нуна из своей страницы открыть в окне другую страницу, добавить в эту другую страницу *.js, и, сразу же вызвать функцию из того js'а в контексте своей страницы. Поправьте меня, если я ошибаюсь...


Именно это и надо :)
...
Рейтинг: 0 / 0
16.01.2009, 13:54
    #35761405
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
upload скрипта в html
Ex_SoftПо барабану...
Видать не по барабану. Щас пользую: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5 (.NET CLR 3.5.30729)
ПС. А если вдруг топикстартер захочет поюзать окошко, загруженное из чужого домена - фиг получится!
...
Рейтинг: 0 / 0
16.01.2009, 14:22
    #35761503
Ex_Soft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
upload скрипта в html
ShSerge
Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5 (.NET CLR 3.5.30729)

Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5
ShSerge
Видать не по барабану

Вы у себя дрозофилку -то попробуйте...
ShSerge
А если вдруг топикстартер захочет поюзать окошко, загруженное из чужого домена

Знамо дело... Но это - уже другой коленкор... А пока топикстартер об кроссдоменности не сказал ни слова будем считать, что все в одном флаконе... И попробуем забороть...
_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
16.01.2009, 14:30
    #35761526
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
upload скрипта в html
Ex_Soft,

Код: plaintext
1.
2.
F1inJS1 is not defined
w.F1inJS1 is not a function
...
Рейтинг: 0 / 0
16.01.2009, 14:40
    #35761574
Ex_Soft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
upload скрипта в html
Подсказали пустой setTimeout. Для себя в себя - сработало
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
function LoadBySrc(dest)
{
	if("F1inJS1" in window)
		return;

	var
		h,
		s;

	if((h=document.getElementsByTagName(dest))
		&& h.length> 0 )
	{
		h=h[ 0 ];
		if(s=document.createElement("script"))
		{
			s.type="text/javascript";
			s.charset="windows-1251";
			s.src="js1.js";
			h.appendChild(s);
			setTimeout("F1inJS1()", 0 );
		}
	}
}
Осталось только извратиться покрасивее для себя в чужом, бо на
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
function LoadBySrcToChild(dest)
{
	var
		w,
		d,
		h,
		s;

	if(!(wc=w=window.open("child.html")))
		return;

	d=w.document;
	if((h=d.getElementsByTagName(dest))
		&& h.length> 0 )
	{
		h=h[ 0 ];
		if(s=d.createElement("script"))
		{
			s.id="js1";
			s.type="text/javascript";
			s.charset="windows-1251";
			s.src="js1.js";
			h.appendChild(s);

			if(s=h.getElementsByTagName("script"))
				for(var i= 0 ; i<s.length; ++i)
					alert(s[i].id);
			
			setTimeout("w.F1inJS1()", 0 );
		}
	}
}
Error Console
Error: w is not defined

_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
16.01.2009, 15:21
    #35761694
gabbeer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
upload скрипта в html
Ex_Soft
ShSerge
А если вдруг топикстартер захочет поюзать окошко, загруженное из чужого домена

Знамо дело... Но это - уже другой коленкор... А пока топикстартер об кроссдоменности не сказал ни слова будем считать, что все в одном флаконе... И попробуем забороть...


Все находится в одном домене.
...
Рейтинг: 0 / 0
17.01.2009, 10:49
    #35762719
Ex_Soft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
upload скрипта в html
В общем все срослось с Mozilla и паламалось в M$ IE Ж:-/ Теперь стоит вопрос как поэлегантней скрестить ежа с удавом? Отчет о проделанной работе в attach'е
_________________
"Helo, word!" - 17 errors 56 warnings
...
Рейтинг: 0 / 0
17.01.2009, 11:16
    #35762732
Ex_Soft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
upload скрипта в html
Не знаю насколько это валидно, но скрестил так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
function LoadBySrcToChild(dest)
{
	var
		CtrlLog=document.getElementById("LogChild");

	CtrlLog.value+="LoadBySrcToChild(\""+dest+"\")\r\n";

	var
		w;

	if(!(wc=w=window.open("child.html")))
		return;

	if("attachEvent" in w)
		//w.attachEvent("onload",function(){WindowOnLoadChild(w,dest)});
		WindowOnLoadChild(w,dest);
	else if("addEventListener" in w)
		w.addEventListener("load",function(){WindowOnLoadChild(w,dest)},false);
	else
		w.onload=function(){WindowOnLoadChild(w,dest)};
}
Остался один ньюанс: в M$ IE не могу понять почему функция из js'а дергается два раза...
_________________
"Helo, word!" - 17 errors 56 warnings
...
Рейтинг: 0 / 0
17.01.2009, 19:03
    #35762987
gabbeer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
upload скрипта в html
Ex_Soft,

Спасибо! Думал что все будет гораздо проще :)
...
Рейтинг: 0 / 0
18.01.2009, 00:31
    #35763164
Ex_Soft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
upload скрипта в html
gabbeer
Думал что все будет гораздо проще

- Почему в сообщениях ТАСС говорят: "На полигоне в Семипалатинске был произведен ядерный взрыв мощностью от 10-ми до 20-ти килотонн"?
- Мы думали 10-ть, а оно как бабахнет...
_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / upload скрипта в html / 19 сообщений из 19, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]