Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Не открывается окно в firefox / 7 сообщений из 7, страница 1 из 1
06.10.2012, 10:46:24
    #37986312
san_d
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не открывается окно в firefox
Подскажите, пожалуйста, почему такой код может не работать в 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
06.10.2012, 10:59:42
    #37986318
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не открывается окно в firefox
Откройте консоль ошибок, там видно будет, что не так.
...
Рейтинг: 0 / 0
06.10.2012, 11:19:50
    #37986322
san_d
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не открывается окно в firefox
в консоли ошибок при клике на кнопку выводит:
Метка времени: 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
06.10.2012, 12:08:55
    #37986342
san_d
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не открывается окно в firefox
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
06.10.2012, 13:57:57
    #37986393
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не открывается окно в firefox
san_ddialogProperties is undefined Ни о чем не говорит? Переменной такой нету. Откуда она берется - неизвестно? Или мож это какое-то чисто ИЕ-шечное свойство (это искать-проверять надо)...
...
Рейтинг: 0 / 0
06.10.2012, 17:20:16
    #37986494
san_d
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не открывается окно в firefox
vkle,
да, это их баг, по ошибке нашел уже тему на сайте разработчике. Спасибо за наводку.
...
Рейтинг: 0 / 0
06.10.2012, 22:52:49
    #37986698
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не открывается окно в firefox
Да мне то не за что, это все консоль с гуглем )))
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Не открывается окно в firefox / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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