Javascript函数正确播放旧网站但不是新网站

时间:2014-01-18 15:53:15

标签: javascript php joomla

我最近将我的公司网站移至我们未使用的网络服务器之一,以便将Joomla后端从1.5.26更新到最新的Joomla 2.5。由于模块,我们无法转到3.x.I使用SP升级,一旦我安装了新的主题和当前模块,一切都很好地迁移。

我们在主页上有自定义的默认主题和指定的主题。在指定的主题(分配给主菜单)目录中,index.php在标题上方有一个脚本。我将在下面发布此代码。

可以在以下链接找到旧网站,当您第一次访问该网站时,您将看到视频播放。 cpmchurchministries.com/old

可以在以下链接中找到新网站,当您第一次访问该网站时,您将只看到一张图片。 cpmchurchministries.com/new

两个站点的代码相同,index.php:

<head>
    <jdoc:include type="head" />
    <link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/<?php echo $this->template ?>/css/template.css" type="text/css"/>
    <script type="text/javascript" src="<?php echo $this->baseurl ?>/templates/<?php echo $this->template ?>/swf/swfobject.js"></script>
    <script type="text/javascript">
        swfobject.embedSWF("<?php echo $this->baseurl ?>/templates/chosenpeople/swf/cpm_logo.swf", "flash_logo", "245", "162", "7");
        window.addEvent('domready', function() {
            if($('default_header')) {
                if(Cookie.get("cpm_movie") != "full") {
                    full_movie();
                } else {
                    small_movie();
                }
            }
        });

        function small_movie() {
            $('default_header').removeClass('full_movie');
            $('default_header').addClass('small_movie');
            swfobject.embedSWF("<?php echo $this->baseurl ?>/templates/cphome/swf/header_home.swf", "flash_header", "696", "157", "7");
        }

    function full_movie() {
        $('default_header').removeClass('small_movie');
        $('default_header').addClass('full_movie');
        Cookie.set("cpm_movie", "full", {duration: 365});
        swfobject.embedSWF("<?php echo $this->baseurl ?>/templates/cphome/swf/video_header.swf", "flash_header", "696", "400", "7");
    }
</script>
<?php if ($editmode) echo '<link rel="stylesheet" href="'.$this->baseurl.'/templates/system/css/general.css" type="text/css" />'."\n"; ?>

有没有人遇到过类似的问题?有可能得到任何帮助吗? 谢谢。 。

3 个答案:

答案 0 :(得分:2)

您使用的较新版本的Joomla使用较新版本的MooTools库,因此您需要对代码进行以下两项功能更改:


OLD

window.addEvent('domready', function() {
    if($('default_header')) {
        if(Cookie.get("cpm_movie") != "full") {
            full_movie();
        } else {
            small_movie();
        }
    }
});


function small_movie() {
    $('default_header').removeClass('full_movie');
    $('default_header').addClass('small_movie');
    swfobject.embedSWF("/new/templates/cphome/swf/header_home.swf", "flash_header", "696", "157", "7");
}

function full_movie() {
    $('default_header').removeClass('small_movie');
    $('default_header').addClass('full_movie');
    Cookie.set("cpm_movie", "full", {duration: 365});
    swfobject.embedSWF("/new/templates/cphome/swf/video_header.swf", "flash_header", "696", "400", "7");
}

NEW

window.addEvent('domready', function() {    
  if($('default_header')) {
            if(Cookie.read("cpm_movie") != "full") {
                full_movie();
            } else {
                small_movie();
            }
        }
    });

function small_movie() {
    $('default_header').removeClass('full_movie');
    $('default_header').addClass('small_movie');
    swfobject.embedSWF("/new/templates/cphome/swf/header_home.swf", "flash_header", "696", "157", "7");
}
function full_movie() {
    $('default_header').removeClass('small_movie');
    $('default_header').addClass('full_movie');
    Cookie.write("cpm_movie", "full", {duration: 365});
    swfobject.embedSWF("/new/templates/cphome/swf/video_header.swf", "flash_header", "696", "400", "7");
}

编辑,便于复制粘贴

答案 1 :(得分:0)

我的“新网站”上有这个错误: GET http://cdn.wibiya.com/Toolbars/dir_0775/Toolbar_775982/Loader_775982.js 403(禁止)

我无法访问“旧网站”,还有一个Joomla登录页面。如果我们可以访问它来比较两个站点会更容易。

答案 2 :(得分:0)

正如Pointy所说,你在Javascript控制台中遇到了一些错误:

  1. 未捕获的TypeError:对象函数 (){e(this); if(g。$ prototyping){return this;} this。$ caller = null; var I =(this.initialize)this.initialize.apply(这一点,参数):?这,这$呼叫者= this.caller = NULL; return i;}没有方法'get'(索引):27
  2. GET http://cdn.wibiya.com/Toolbars/dir_0775/Toolbar_775982/Loader_775982.js 403(禁止)(指数):249
  3. 未捕获的ReferenceError:未定义JCaption(索引):17
  4. 获取http://cpmchurchministries.com/main/flash/menorah_shine.swf 404 (未找到)
  5. 当Javascript出现错误时,流程会停止,因此标题上的图片不会被视频替换(不是“视频”,而是flash swf电影)。

    其中一个违规代码是:

      <script type="text/javascript">
    window.addEvent('load', function() {
                    new JCaption('img.caption');
                });
      </script> 
    

    如果您无法删除此代码,请尝试使用此link解决JCaption问题,然后重试您的网站。

    顺便说一下,要查看控制台上的错误,请尝试使用Chrome浏览器,工具,Javascript控制台(每个webdev都必须这样做!)