Траблы с JavaScript в IE7.0 после переезда на выделенный сервер

ifedorov

Новичок
Траблы с JavaScript в IE7.0 после переезда на выделенный сервер

Привет всем!

Подскажите плиз - одна важная страничка/система (написанная на PHP + Ajax + Javascript) после переезда
с виртуального хостинга на выделенный сервер перестала корректно работать в Internet Explorer 7, но при этом корректно работает в браузере Opera...
Какие настройки нужно подкрутить, чтобы сайт снова корректно заработал в IE7 (там все странички открываются через что-то вроде: "javascript:pWin(1234)" - это как бы ссылка; в Опере открывается а в IE никакой реакции)???
Что и как нужно подкручивать: Апач, Настройки PHP на Unix-сервере, или настройки IE7?
Суппорт хостера помочь не может :(
Мои попытки "копания кода" также пока ни к чему не привели (уже несколько недель мучаюсь)...
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
ifedorov
Скажи, только чесно, ты понимаешь бредовость своего вопроса поставленного таким образом?
 

ifedorov

Новичок
Автор оригинала: Mr_Max
ifedorov
Скажи, только чесно, ты понимаешь бредовость своего вопроса поставленного таким образом?
Нет. Я сам не понимаю в чём дело. И даже саппаорт хостера не может помочь... :(
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
ifedorov
исходя из твоего описания НИКТО И НИКОГДА не сможет тебе подскзать возможные проблемы.

И даже саппаорт хостера не может помочь
мда... :D

-~{}~ 16.01.08 15:41:

ты знаешь, что делает кусок кода
?

-~{}~ 16.01.08 15:42:

можно попробовать отловить проблему FireFox-ом + FireBug-ом
 

ifedorov

Новичок
Он через Smarty загружает нужные страницы...

-~{}~ 16.01.08 16:44:

А как именно отловить проблему? :)
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
Он через Smarty загружает нужные страницы...
скорее всего ошибка javascript в ф-ции pWin
>javascript
http://ru.wikipedia.org/wiki/JavaScript

А как именно отловить проблему?
FireFox-ом + FireBug-ом
-~{}~ 16.01.08 15:55:

Расставь алерты через строку, что-ли, если уж совсем лень.
 

basboy

Новичок
ifedorov
А до этого в какм IE тестил? 6 или 7?
из-за переезда JS не полетит сто пудов.
 

basboy

Новичок
значит проблема не в JS.
Если ajax заюзан, значит результат возвращаемый от сервера содержит не корректную информацию. Копай там.
 

maxwell

artifex
ifedorov, а чего так скромно то? «Ajax+Javascript+XML+IE7+Apache+HTML+Notepad» сразу бы использовал бы, проблем не было бы.

По теме:
http://en.wikipedia.org/wiki/XMLHttpRequest
 

ifedorov

Новичок
Всем привет!

Вот пример участка кода отвечающего за вывод информации в таком виде:

Код:
<?php
$row2='<form action="'.$mod_href.'&act=em" method="post">
<table class="fmTable" cellspacing=1 cellpadding=8 border=0>
<tr><td class="fmCapt"><b>№ заказа</b></td><td class="fmCapt">Подробности заказа</td>
<td class="fmCapt">Доставка</td></tr>';
	$irow=0;
	
	$db->SelectDB('sitemanager4');
	$r=$db->Query("SELECT ID,LID,PRICE_DELIVERY,PRICE,USER_ID,PAY_SYSTEM_ID,DELIVERY_ID,DATE_INSERT,USER_DESCRIPTION FROM b_sale_order WHERE CANCELED='N' AND STATUS_ID='D' ORDER BY ID");
	while($f=$db->FetchArray($r))
		{
		if($irow % 2) { $st_tr='';} else { $st_tr=' bgcolor="#f5f5f5"';}
		$irow++;
		
		$arUser=getUserBitrixByID($f['USER_ID'],$f['ID']);
		
		$sprop='';
		foreach($arUser['PROPS'] as $k=>$v) { $sprop.=$v.'<br>';}
		
		if($f['PAY_SYSTEM_ID'] == 1 || $f['PAY_SYSTEM_ID'] == 21) { $spay='наличными';}
		elseif($f['PAY_SYSTEM_ID'] == 11 || $f['PAY_SYSTEM_ID'] == 20)
			{
			$spay='<b style="color:#ff9900">Банковский перевод</b>';
			}
		else{ $spay='<b style="color:#ff9900">Сбербанк</b>';}
		
		$sdelivery='';
		if($f['DELIVERY_ID'])
			{
			if($f2=$db->QueryFirst("SELECT NAME FROM b_sale_delivery WHERE ID='".$f['DELIVERY_ID']."' LIMIT 0,1"))
				{
				$sdelivery='<b>'.$f2['NAME'].'</b><br>';
				}
			
			if($f['PRICE_DELIVERY'] > 0)
				{ // цена доставки
				$sprice=round($f['PRICE_DELIVERY']);
				$sdelivery.='Стоимость доставки: <font color="#FF0000">'.$sprice.'</font> руб.<br>';
				}
			}
		
		$sprice=round($f['PRICE']);
		$sdate=ConvDate($f['DATE_INSERT']);
		
		if($f['LID'] != 'ru')
			{ // выделить оптовый заказ
			$spay.='<br><b style="color:#008000">Оптовый клиент</b>';
			}
		
		$row2.='<tr'.$st_tr.'><td align="center"><a href="javascript:pWin('.$f['ID'].')"><b>'.$f['ID'].'</b></a><br><br>'.$sdate.'</td>
	<td valign="top"><i>'.$arUser['NAME'].' '.$arUser['LAST_NAME'].'</i>
		<br><br>Сумма: <font color="#FF0000">'.$sprice.'</font> руб.
		<br>Оплата: '.$spay.'
		</td>
	<td valign="top">'.$sdelivery.$sprop;
			if($f['USER_DESCRIPTION']) { $row2.='<br><u>Комментарии:</u> '.$f['USER_DESCRIPTION'];}
			$row2.='</td>
</tr>';
		//echo '<pre>'; print_r($f); echo '</pre>';
		}
	$row2.='
</table>
</form>
<script language="JavaScript">
ResetTimer();
timerID = setTimeout("dDlv(2)",30000);	// 30 секунд
</script>';

$VARS['TITLE']='Заказы';
if(!isset($_REQUEST['ajax']))
	{
	$smarty->assign('VARS',$VARS);
	$smarty->assign('out',$row2);
	$row2=$smarty->fetch('private/ajax_frame.htm');
	}
?>
Быть может он поможет Вам (спецам!) прояснить ситуёвину...

-~{}~ 17.01.08 10:59:

В других файлах я нашёл описание этой функции:

Код:
function pWin(i)
{
fetchUrl("'.$mod_href.'&act=order&ajax=2&id="+i,"DivOrders");
}
и

Код:
function pWin(i)
{
fetchUrl("'.$mod_href.'&act=order&id="+i,"DivOrders");
// myWin=open("'.$mod_href.'&act=order&id="+i,"pwin"+i,"width=600,height=540,status=no,toolbar=no,menubar=no");
}
В чём трабл может быть подскажите плиз?

-~{}~ 17.01.08 11:33:

Загвоздка явно в строке:
fetchUrl("'.$mod_href.'&act=order&ajax=2&id="+i,"DivOrders");
Если её заменить на:
myWin=open("'.$mod_href.'&act=order&id="+i,"DivOrders");
То заказ открывается (но в новом окне, что не верно).
Возможно трабл в функции fetchUrl:
Код:
// fetchUrl
function fetchUrl(urlName, divName)
{
// Fetch HTML fragment
Zapatec.Transport.fetch({
	// URL to fetch
	url: urlName + "&ajax=" + Math.random(),

	// Onload event handler
	onLoad: function(objRequest)
		{ // Show container
		document.getElementById(divName).style.display = "";

        // Put fetched fragment into sample div
        var strHtml = objRequest.responseText;
        Zapatec.Transport.setInnerHtml({
          html: strHtml,
          container: divName
			});

		// Put fetched fragment into sourceCode div
		//var strSource = strHtml.replace(/</g, "&lt;").replace(/>/g, "&gt;");
		//document.getElementById("sourceCode").innerHTML = "<pre>" + strSource + "</pre>";
		}
	});
}
Что здесь может быть неправильно?
 

basboy

Новичок
maxwell
а чего так скромно то? «Ajax+Javascript+XML+IE7+Apache+HTML+Notepad» сразу бы использовал бы,
Ну и к чему это?
Если есть дельное что-то, то пиши, а умные слова с плюсиком тебя умнее не делают.

-~{}~ 17.01.08 11:46:

ifedorov
Скажи, это всё ты писал, или кто-то другой?
 

basboy

Новичок
baev
http://phpclub.ru/talk/showthread.p...1954#post771954
Личное?

ifedorov
Другой ессно. Я ж говорю - наш бывший веб-программист...
Понимаешь, форум для прогеров, которые знают что им нужно.
Если прогер свалил, то найди другого. Работу за тебя никто делать не будет.
так что, если хочешь обзаться, то задавай конкретные вопросы.
 

Anghram

Новичок
ifedorov
насколько я понял вашу проблему - вам нужно отключить блокировку попапов (всплывающих окон) в IE7.0
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
Anghram
Дирол? Орбит? Гадание таро?
 
Сверху