powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Не открывается окно в firefox
7 сообщений из 7, страница 1 из 1
Не открывается окно в firefox
    #37986312
san_d
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите, пожалуйста, почему такой код может не работать в firefox(15.0.1 последняя версия):
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
function showURLInDialog(url,_1a4){
	var _1a5=getXMLHttpRequest();
	
	if(parent["USESUBREQESTINDIALOG"]){
		if(url.indexOf("SUBREQUEST")==-1){
			url=getURLSuffixed(url);
			url+="SUBREQUEST=true";
		}
	}
	
	_1a5.open("GET",url,true);
	_1a5.onreadystatechange=function(){if(_1a5.readyState==4){showDialog(_1a5.responseText,_1a4);}};
	_1a5.send(null);
}


вызывается:
Код: html
1.
<a href="javascript:void(0)" onclick="showURLInDialog('/AddNotes.do?workorderID=10040&amp;toAdd=yes',' top=50, left=400, title=' + getMessageForKey('sdp.requests.viewrequest.addnotes'))" class="linkborder">Добавить примечания</a>


То есть смысл в том, что при клике на кнопку должно открыться окно для ввода примечания. Вот это окно не открывается. в IE работает. Работает также, если просто вписать в адресной строке www.[имя узла]/AddNotes.do?workorderID=10040 - открывается страничка, которую нужно открыть в виде диалогового окна.
Как-либо менять код нельзя, т.к. это готовое приложение, нужно просто заставить его работать под firefox. Возможно какие-то настройки? Но ничего кроме блокировки всплывающих окон не нашел(блокировка отключена), опция "Использовать JavaScript" соответственно включена. Что еще может быть?
...
Рейтинг: 0 / 0
Не открывается окно в firefox
    #37986318
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Откройте консоль ошибок, там видно будет, что не так.
...
Рейтинг: 0 / 0
Не открывается окно в firefox
    #37986322
san_d
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в консоли ошибок при клике на кнопку выводит:
Метка времени: 06.10.2012 10:06:49
Ошибка: TypeError: dialogProperties is undefined
Источник: http://[имя узла]/components/javascript/components.js?7
Строка: 1

В components.js весь код размещается в одной строке(в предыдущем посте я отформатировал). Но ошибка я так понимаю в функции showURLInDialog, здесь if(_1a5.readyState==4) {showDialog(_1a5.responseText,_1a4) ;}
...
Рейтинг: 0 / 0
Не открывается окно в firefox
    #37986342
san_d
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
san_d,
функция showDialog - это оказывается тоже функция из components.js, просто я абсолютно не разбираюсь в js. Код под спойлером. Подскажите плз, есть все-таки возможность не внося изменения в код, заставить это окно открыться или там просто не реализована поддержка FF?

Код: javascript
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.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
215.
216.
217.
218.
219.
220.
221.
222.
223.
224.
225.
226.
227.
228.
229.
function showDialog(_188,_189,_18a){
	if(typeof (_189)=="undefined"){
		var _189="position=absmiddle";}
	
	_189=_189.split(",");
	var _18b;
	
	for(var i=0;i<dialogProperties.length;i++){
		_18b=false;
		for(var j=0;j<_189.length;j++){
			if(_189[j].indexOf(dialogProperties[i])>=0){
				_18b=true;
				break;
			}
		}
		self["dialog_"+dialogProperties[i]]=(_18b)?_189[j].substr(_189[j].indexOf("=")+1,_189[j].length).trim():"undefined";
	}
	
	if(document.getElementById("_DIALOG_LAYER")==null){
		oDialog=document.createElement("DIV");
		oDialog.id="_DIALOG_LAYER";
		document.body.appendChild(oDialog);
	}else{
		oDialog=document.getElementById("_DIALOG_LAYER");
		oDialog.innerHTML="";
		oDialog.style.width="";
		oDialog.style.height="";
		closeDialog();
	}
	var _188="<div id=\"_DIALOG_CONTENT\">"+_188+"</div>";
	var box="<table class=\"DialogBox\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr><td class=\"boxTL\"><img src=\"/images/spacer.gif\" width=\"24\" height=\"1\"></td>";
	if(dialog_draggable!="undefined"&&dialog_draggable=="no"){
		box+="<td class=\"boxHeader\">";
	}else{
		box+="<td class=\"boxHeader drag\" onMouseDown=\"captureDialog(event)\">";
	}
	if(dialog_title!="undefined"){
		if(dialog_title.charAt(0)=="'"&&dialog_title.charAt(dialog_title.length-1)=="'"){
			dialog_title=dialog_title.substr(1,dialog_title.length-2);
		}
		if(dialog_title.trim().length==0){
			dialog_title="&nbsp;";
		}
	}else{
		dialog_title="&nbsp;";
	}
	box+=dialog_title+"</td><td class=\"boxCtrlButtonPane\">";
	if(dialog_closeButton!="undefined"&&dialog_closeButton=="no"){
		box+="&nbsp;</td>";
	}else{
		box+="<input type=\"button\" class=\"closeButton\" onClick=\"closeDialog()\"></td>";
	}
	
	box+="<td class=\"boxTR\"><img src=\"/images/spacer.gif\" width=\"24\" height=\"1\"></td></tr><tr><td class=\"boxML\"><img src=\"/images/spacer.gif\" width=\"1\" height=\"1\"></td><td colspan=\"2\" class=\"boxContent\">"+_188+"</td><td class=\"boxMR\"><img src=\"/images/spacer.gif\" width=\"1\" height=\"1\"></td></tr>";
	box+="<tr><td class=\"boxBL\"><img src=\"/images/spacer.gif\" width=\"1\" height=\"1\"></td><td class=\"boxBC\" colspan=\"2\"><img src=\"/images/spacer.gif\" width=\"1\" height=\"1\"></td><td class=\"boxBR\"><img src=\"/images/spacer.gif\" width=\"1\" height=\"1\"></td></tr></table>";
	
	oDialog.style.visibility="visible";
	var _18f=true;
	if(dialog_closeButton!="undefined"){
		if(dialog_title=="&nbsp;"&&dialog_closeButton=="no"){
			_18f=false;
		}
	}
	if(_18f){
		oDialog.innerHTML="<table cellpadding='0' cellspacing='0'><tr><td height='100%' style='display:block'>"+box+"</td></tr></table>";
	}else{
		oDialog.innerHTML="<table cellpadding='0' cellspacing='0'><tr><td height='100%' style='display:block'>"+_188+"</td></tr></table>";
	}
	oDialog.style.position="absolute";
	oDialog.style.left="-1000px";
	oDialog.style.top="-1000px";
	oDialog.style.zIndex="100";
	var _190=oDialog.getElementsByTagName("SCRIPT");
	
	for(var i=0;i<_190.length;i++){
		var _191=document.createElement("SCRIPT");
		_191.type="text/javascript";
		_191.language="javascript";
		if(_190[i].src!=""){
			_191.src=_190[i].src;
		}
		_191.text=_190[i].text;
		if(typeof document.getElementsByTagName("HEAD")[0]=="undefined"){
			document.createElement("HEAD").appendChild(_191);
		}else{
			document.getElementsByTagName("HEAD")[0].appendChild(_191);
		}
	}
	if(browser_opera){
		var temp=_188;
		var _193=oDialog.getElementsByTagName("STYLE");
		for(var i=0;i<_193.length;i++){
			_193[i].innerHTML=temp.substring(temp.indexOf("<style>")+7,temp.indexOf("</style>")-1);
			temp=temp.substring(temp.indexOf("</style>")+8,temp.length);
		}
	}
	if(dialog_width!="undefined"){
		if(browser_ie){
			oDialog.childNodes[0].style.width=parseInt(dialog_width)+"px";
		}
		else{
			if(browser_nn4||browser_nn6){
				oDialog.childNodes.item(0).style.width=parseInt(dialog_width)+"px";
			}
		}
	}
	if(dialog_height!="undefined"){
		if(browser_ie){
			oDialog.childNodes[0].style.height=parseInt(dialog_height)+"px";
		}
		else{
			if(browser_nn4||browser_nn6){
				oDialog.childNodes.item(0).style.height=parseInt(dialog_height)+"px";
			}
		}
	}
		
	oDialogContent=getObj("_DIALOG_CONTENT");
	var left=0,top=0;
	
	if(browser_opera){
		if(dialog_width!="undefined"){
			oDialogContent.style.width=parseInt(dialog_width)+"px";
		}
		else{
			oDialogContent.style.width=oDialogContent.offsetWidth+"px";oDialog.style.width=oDialogContent.offsetWidth+"px";
		}
	}
	
	if(browser_nn4||browser_nn6||browser_ie){
		if(dialog_width!="undefined"){
			oDialogContent.style.width=parseInt(dialog_width)+"px";
		}
		else{
			oDialogContent.style.width=(oDialogContent.offsetWidth+20)+"px";
		}
	}
	if(dialog_height!="undefined"){
		if(browser_ie&&(parseInt(dialog_height)<oDialogContent.offsetHeight)){
			left=-15;
		}
		oDialogContent.style.height=parseInt(dialog_height)+"px";
	}
	
	oDialogContent.style.overflow="auto";
	var _196=oDialog.offsetWidth;
	var _197=oDialog.offsetHeight;doc=findDocDim();
	if(dialog_closeOnEscKey!="undefined"&&dialog_closeOnEscKey=="no"){
		closeOnEscKey=false;
	}else{closeOnEscKey=true;}
	
	if(dialog_closeOnBodyClick!="undefined"&&dialog_closeOnBodyClick=="yes"){closeOnBodyClick=true;}
	else{closeOnBodyClick=false;}
	
	if(!browser_opera){
		if(dialog_modal!="undefined"&&dialog_modal=="yes"){freezeBackground();}
		else{
			if(document.getElementById("FreezeLayer")!=null){
				document.body.removeChild(document.getElementById("FreezeLayer"));
			}
		}
	}
	if(dialog_left!="undefined"){left+=parseInt(dialog_left);}
	if(dialog_top!="undefined"){top+=parseInt(dialog_top);}
	if(dialog_position!="undefined"&&dialog_position=="relative"){
		if(dialog_srcElement!="undefined"){
			srcEl=getObj(dialog_srcElement);
		}
		else{
			if(srcEl==null){srcEl=document.body;}
		}
		if((_196-(doc.width-findPosX(srcEl)))+scrollConst>0){
			left+=findPosX(srcEl)+((srcEl.offsetWidth)?srcEl.offsetWidth:0)-_196;
		}else{left+=findPosX(srcEl);}
		
		if((_197-(doc.height-findPosY(srcEl)))+scrollConst>0){top+=findPosY(srcEl)-_197;}
		else{top+=findPosY(srcEl)+((srcEl.offsetHeight)?srcEl.offsetHeight:0)+2;}
	}
	else{
		if(dialog_position!="undefined"&&dialog_position=="absolute"){
			left+=document.body.scrollLeft;top+=document.body.scrollTop;
		}
		else{left=(doc.width/2)-(_196/2)+document.body.scrollLeft;top=(doc.height/2)-(_197/2)+(document.body.scrollTop/2);}
	}
	left=(left>0)?left:0;
	top=(top>0)?top:0;
	if(dialog_transitionType!="undefined"){
		if(dialog_transitionInterval=="undefined"){
			dialog_transitionInterval=10;
		}
		MC_Effect.init({type:dialog_transitionType,speed:dialog_transitionInterval,layerId:"_DIALOG_LAYER",layerTop:top,layerLeft:left});
		MC_Effect.display();
	}
	else{oDialog.style.left=parseInt(left)+"px";oDialog.style.top=parseInt(top)+"px";}
	if(browser_ie&&!browser_opera){
		iframeIEHack=document.createElement("IFRAME");
		iframeIEHack.scrolling="no";
		iframeIEHack.frameBorder=0;
		if(window["CONTEXT_PATH"]!=null){
			iframeIEHack.src=CONTEXT_PATH+"/framework/html/blank.html";
		}
		else{iframeIEHack.src="/framework/html/blank.html";}
		iframeIEHack.style.position="absolute";
		iframeIEHack.style.zIndex="98";
		iframeIEHack.style.filter="progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)";
		if(dialog_modal!="undefined"&&dialog_modal=="yes"){
			iframeIEHack.style.width=document.getElementById("FreezeLayer").style.width;
			iframeIEHack.style.top="0px";
			iframeIEHack.style.left="0px";
		}
		else{
			iframeIEHack.style.width=oDialog.offsetWidth+"px";
			iframeIEHack.style.height=oDialog.offsetHeight+"px";
			iframeIEHack.style.top=parseInt(top)+"px";
			iframeIEHack.style.left=parseInt(left)+"px";
		}
		document.body.appendChild(iframeIEHack);
	}
	if(!browser_opera){
		if(dialog_modal!="undefined"&&dialog_modal=="yes"){
			document.getElementById("FreezeLayer").style.height=(document.body.offsetHeight+document.body.scrollHeight)+"px";
			if(browser_ie){
				iframeIEHack.style.height=document.getElementById("FreezeLayer").style.height;
			}
		}
	}
	if(_18a){_18a();}
	return oDialog;
}


...
Рейтинг: 0 / 0
Не открывается окно в firefox
    #37986393
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
san_ddialogProperties is undefined Ни о чем не говорит? Переменной такой нету. Откуда она берется - неизвестно? Или мож это какое-то чисто ИЕ-шечное свойство (это искать-проверять надо)...
...
Рейтинг: 0 / 0
Не открывается окно в firefox
    #37986494
san_d
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vkle,
да, это их баг, по ошибке нашел уже тему на сайте разработчике. Спасибо за наводку.
...
Рейтинг: 0 / 0
Не открывается окно в firefox
    #37986698
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да мне то не за что, это все консоль с гуглем )))
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Не открывается окно в firefox
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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