如何编写路由器以从URL参数打开Joomla Squeezebox模式?

时间:2013-04-12 06:01:37

标签: javascript joomla mootools squeezebox

我有一个Joomla网站,它使用Squeezebox,这是Joomla的默认模态javascript。

我一直在使用Squeezebox进行模板覆盖。例如,我有一个链接,可以查看模板覆盖的每个页面:

<a href="http://www.viddler.com/embed/cd1b1bc5/?f=1&autoplay=1&player=full&secret=104492144&loop=0&nologo=1&hd=1" class="modal vid-primary" rel="{url:'http://www.viddler.com/embed/cd1b1bc5/?f=1&autoplay=1&player=full&secret=104492144&loop=0&nologo=1&hd=1', handler: 'iframe', size: {x:741, y:459} }" style="display: block; position: relative;">

这些链接以模态打开视频。

我需要做的是能够在存在URL参数的情况下在onLoad上打开此视频。例如:

http://mysite.com/page.html?vidload=vidload

所以我需要一个可以处理这个问题的路由器。我found something接近我所追求的目标,但却无法弄明白如何使其发挥作用。这是我到目前为止所得到的:

window.addEvent('domready', function() {
 function popModal() {
  SqueezeBox.open($('vid-primary'), {
        handler: 'adopt'
    });
}

var hash = window.location.hash;
if (hash.substring(1) == 'vidload') {
  popModal();
}

});

2 个答案:

答案 0 :(得分:2)

在模板覆盖中包含模态库:

<?php JHtml::_('behavior.modal'); ?>

使用以下链接:

<a class="modal" rel="{handler: 'iframe', size: {x: 800, y: 500}}" title="Modal box title" href="[your link]" >open</a>

更多内容 Squeezebox DocumentationJHtml::_('behaviour.modal') options

更新: 我认为阿迪迪的答案就是你所追求的。 如果您仍然加载MooTools更多,则可以使用URI class

var uri = new URI (location.href);
if (uri.getData('vidload') == 'vidload') {
    SqueezeBox.open($('vid-primary'), { handler: 'adopt' });
}

答案 1 :(得分:0)

您正在尝试获取哈希,并根据您的需要将其清空, 如果您需要的是一个获取查询字符串parmae​​ter的函数,您可以使用这个简单的函数:

function getURLParam(key,target){
    var value = '';
    if(!target){
        target = location.href;
    }

    var pattern = key + '=([^&#]+)';
    var o_reg = new RegExp(pattern,'i');
    var matches = o_reg.exec(target);
    if(matches && matches[1]){
        value = matches[1];
    }

    return value;
}

if(getURLParam('vidload') == 'vidload'){
  popModal();
}