За последние 24 часа нас посетили 18665 программистов и 1621 робот. Сейчас ищут 1716 программистов ...

Спецы, ПАМАГИТЕ!! в упор не вижу ошибки,так как код из двига

Тема в разделе "JavaScript и AJAX", создана пользователем nayre, 20 фев 2009.

  1. nayre

    nayre Активный пользователь

    С нами с:
    17 дек 2008
    Сообщения:
    29
    Симпатии:
    0
    Есть сайт, бесплатный проект http://www.fedorovka.net
    Работает на двиге instantCMS, и все бы хорошо.... но ;((((
    Те кто работают в 3 Файрфоксе на главноц в новостях, на странице реги, и еще в некоторых местах вместо кириллицы видят мусор....
    Для примера код новостей
    PHP:
    1.  
    2. <?php
    3. //Настройки**************************************************************************************
    4. $news_categories            = array(            //Из каких категорий брать новости (или ничего - для всех категорий)
    5.                                 'Новости сайта',
    6.                                 'Новости компании',
    7.                                 'Статьи'
    8.                             );
    9.                            
    10. $news_count                 = 10;               // Количетово последних новостей
    11. $animation_type             = 'scroll_up';      //Тип анимации  (scroll_right scroll_up scroll_down effect_fade effect_replace scroll_left)
    12. $animation_delaytime        = 5;                //Отображение новости, сек.
    13. $animation_animationtime    = 500;              //Время анимации, миллисек.
    14. $xheight                    = 120;              //Высота модуля
    15. $menuid                     = 10;               //Пункт меню
    16.  
    17. //Конец******************************************************************************************
    18.  
    19. global $_CFG;
    20. if(!defined('VALID_CMS')) {
    21.     define("VALID_CMS", 1);
    22.     chdir ('../../');
    23.     include('includes/config.inc.php');
    24.     include('includes/database.inc.php');
    25. }
    26.  
    27.     $numrows = isset($_REQUEST['total'])?intval($_REQUEST['total']):0;
    28.     $curnews = isset($_REQUEST['curnews'])?intval($_REQUEST['curnews']):0;
    29.     $flashnum = $curnews;
    30.    
    31. function loadObjectList( $cur ) {
    32.     $array = array();
    33.     while ($row = mysql_fetch_object( $cur )) {
    34.         $array[] = $row;
    35.     }
    36.     return $array;
    37. }
    38.    
    39. foreach ($news_categories as $key => $val){
    40.     $news_categories[$key] = "'".$val."'";
    41. }
    42. $news_categories = implode(",",$news_categories);
    43.  
    44. $query  = "SELECT `id`, `title`, `description` FROM `cms_content` WHERE ";
    45. if ($news_categories!=''){
    46.     $query .= "`category_id` in (SELECT `cms_category`.`id` from `cms_category` where `cms_category`.`title` IN ($news_categories)) AND ";
    47. }
    48. $query .="published = 1 "
    49.         ."ORDER BY `pubdate` DESC "
    50.         ."LIMIT 0,$news_count";
    51.  
    52. $result = mysql_query($query) or die(mysql_error());
    53. $rows = loadObjectList($result);
    54. $numrows = count($rows);
    55.  
    56. function output_newsflash($row){
    57.     global $menuid;
    58.     return '<h3><a title="'.$row->title.'" href="/content/'.$menuid.'/read'.$row->id.'.html">'.$row->title.'</a></h3>'
    59.     .'<div class="nfcontent">'.$row->description.'</div>';
    60. }
    61. if ( $numrows ) {
    62.     if (!isset($_GET['loadajax'])) {
    63.         $flashnum = 0;
    64.         srand ((double) microtime() * 1000000);
    65.         $flashnum = rand( 0, $numrows-1 );
    66.     }
    67.     $row = $rows[$flashnum];
    68. } else { return;}
    69.  
    70. if (!isset($_GET['loadajax'])) {
    71. ?>
    72. <link href="/templates/<?php echo $_CFG['template']; ?>/css/newsflash.css" rel="stylesheet" type="text/css">
    73. <script type="text/javascript" src="/includes/myphp/cms_newsflash/newsflash-scroll.js"></script>
    74.     <script type="text/javascript">
    75.     if (!self.Newsflash) {
    76.         Newsflash = new Object();
    77.        
    78.     }
    79.         Newsflash.animation = '<?php echo $animation_type; ?>';
    80.         Newsflash.livesite = '<?php echo 'http://'.$_SERVER['HTTP_HOST']; ?>';
    81.         Newsflash.delaytime = <?php echo $animation_delaytime ; ?>;
    82.         Newsflash.interval= <?php echo $animation_animationtime; ?>;
    83.         Newsflash.currentItem = <?php echo $flashnum;?>;   
    84.         Newsflash.totalItem = <?php echo $numrows;?>;  
    85.     </script>
    86.     <div style="position:relative; width:100%;height:<?php echo $xheight; ?>px; overflow:hidden;" id="scrollwrap">
    87.         <div id="scroll_1" style="position:absolute; top:0;  left:0; width: 100%; display:block;">
    88.  
    89.     <?php
    90.         $html = output_newsflash( $row );
    91.         echo $html;
    92.     ?>
    93.         </div>
    94.         <div id="scroll_2" style="position: absolute; top:0; left:0; width: 100%; display:none;">
    95.         </div>
    96.     </div> 
    97.     <?php
    98. }else{
    99.     $html = output_newsflash( $row );
    100.     echo $html;
    101.     return;
    102. }
    103. ?>
    104.  
    код джабы
    [js]
    function loadjs(src) {
    document.write('<script src="'+src+'" type="text/javascript"><\/script>');
    }

    if (typeof(jaAddEvent) == 'undefined') {
    function jaAddEvent(obj, evType, fn){
    if (obj.addEventListener){
    obj.addEventListener(evType, fn, false);
    return true;
    } else if (obj.attachEvent){
    var r = obj.attachEvent("on"+evType, fn);
    return r;
    } else {
    return false;
    }
    }
    }

    if (!self.Newsflash) {
    var Newsflash = {
    get: function() {
    //get a random number
    var news = 0;
    var i = 10;
    while (--i > 0)
    {
    news = Math.floor(Newsflash.totalItem*Math.random());
    if(news != Newsflash.currentItem) break;
    }
    Newsflash.currentItem = news;
    $.get(Newsflash.livesite + '/includes/myphp/cms_newsflash.php',
    {curnews : Newsflash.currentItem, loadajax : 1, total : Newsflash.totalItem},
    function(data){
    Newsflash.objs[1].innerHTML = data;

    switch(Newsflash.animation){
    case 'scroll_right':
    Newsflash.scroll_right();
    break;
    case 'scroll_up':
    Newsflash.scroll_up();
    break;
    case 'scroll_down':
    Newsflash.scroll_down();
    break;
    case 'scroll_left':
    Newsflash.scroll_left();
    break;
    case 'effect_replace':
    Newsflash.effect_replace();
    break;
    case 'effect_fade':
    default:
    $("#"+Newsflash.objs[0].id).fadeOut(Newsflash.interval);
    $("#"+Newsflash.objs[1].id).fadeIn(Newsflash.interval);
    break;

    }
    term = Newsflash.objs[0];
    Newsflash.objs[0] = Newsflash.objs[1];
    Newsflash.objs[1] = term;
    Newsflash.timer = setTimeout(Newsflash.get, Newsflash.delaytime*1000);
    return false;
    }
    );
    return false;
    },
    scroll_left: function (){
    Newsflash.objs[0].style.left=0;
    Newsflash.objs[1].style.left='100%';
    Newsflash.objs[0].style.display="block";
    Newsflash.objs[1].style.display="block";
    W = Newsflash.objs[0].offsetWidth;
    Newsflash.objs[0].style.width = W + "px";
    Newsflash.objs[1].style.width = W + "px";
    $("#"+Newsflash.objs[0].id).animate({left: "-"+Newsflash.objs[0].style.width}, Newsflash.interval);
    $("#"+Newsflash.objs[1].id).animate({left: "0px"}, Newsflash.interval);
    return false;
    },
    scroll_right: function (){
    W = Newsflash.objs[0].offsetWidth;
    Newsflash.objs[0].style.left=0;
    Newsflash.objs[1].style.left="-"+W+"px";
    Newsflash.objs[0].style.display="block";
    Newsflash.objs[1].style.display="block";
    Newsflash.objs[0].style.width = W + "px";
    Newsflash.objs[1].style.width = W + "px";
    $("#"+Newsflash.objs[0].id).animate({left: Newsflash.objs[0].style.width}, Newsflash.interval);
    $("#"+Newsflash.objs[1].id).animate({left: "0px"}, Newsflash.interval);
    return false;
    },
    scroll_up: function (){
    W = document.getElementById("scrollwrap").offsetHeight;
    Newsflash.objs[0].style.top=0;
    Newsflash.objs[1].style.top=W+"px";
    Newsflash.objs[0].style.display="block";
    Newsflash.objs[1].style.display="block";
    Newsflash.objs[0].style.height = "100%";
    Newsflash.objs[1].style.height = W + "px";
    Newsflash.objs[0].style.overflow="hidden";
    $("#"+Newsflash.objs[0].id).animate({top: "-"+W+"px"}, Newsflash.interval);
    $("#"+Newsflash.objs[1].id).animate({top: "0px"}, Newsflash.interval);
    return false;
    },
    scroll_down: function (){
    W = document.getElementById("scrollwrap").offsetHeight;
    Newsflash.objs[0].style.top=0;
    Newsflash.objs[1].style.top="-"+W+"px";
    Newsflash.objs[0].style.display="block";
    Newsflash.objs[1].style.display="block";
    Newsflash.objs[0].style.height = W + "px";
    Newsflash.objs[1].style.height = W + "px";
    Newsflash.objs[1].style.overflow="hidden";
    $("#"+Newsflash.objs[0].id).animate({top: W+"px"}, Newsflash.interval);
    $("#"+Newsflash.objs[1].id).animate({top: "0px"}, Newsflash.interval);
    return false;
    return false;
    },
    effect_replace: function (){
    W = document.getElementById("scrollwrap").offsetHeight;
    Newsflash.objs[0].style.top=0;
    Newsflash.objs[1].style.top=W+"px";
    Newsflash.objs[0].style.display="block";
    Newsflash.objs[1].style.display="block";
    Newsflash.objs[0].style.height = W + "px";
    Newsflash.objs[1].style.height = W + "px";
    $("#"+Newsflash.objs[0].id).slideUp(Newsflash.interval);
    $("#"+Newsflash.objs[1].id).animate({top: "0px"}, Newsflash.interval);
    return false;
    },
    init: function (){

    Newsflash.timer = setTimeout(Newsflash.get, Newsflash.delaytime*1000);
    Newsflash.objs = new Array();
    Newsflash.objs[0] = document.getElementById("scroll_1");
    Newsflash.objs[1] = document.getElementById("scroll_2");
    }
    }
    jaAddEvent(window,'load', Newsflash.init);
    }
    [/js]
    В Пыхе я ошибок не вижу....
    Джабу не пойму :(((((((((
    Особенность - первая загрузка page идет нормально, а как только начинает работать авто смена новостей лезут КРЯКОЗЯБРЫ.
    парсет w3g пишет что ошибка кодировок текста, однако везде безусловно прописана 1