1

我有一个使用 Squeezebox 的 Joomla 站点,它是 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 参数,我需要做的是能够在加载时打开此视频。例如:

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

所以我需要一个可以处理这个问题的路由器。我发现了一些接近我所追求的东西,但不知道如何让它发挥作用。这是我到目前为止所得到的:

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

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

});
4

2 回答 2

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 文档JHtml::_('behaviour.modal') 选项

更新:我认为下面阿迪迪的回答就是你所追求的。如果你加载 MooTools More,你可以使用URI 类

var uri = new URI (location.href);
if (uri.getData('vidload') == 'vidload') {
    SqueezeBox.open($('vid-primary'), { handler: 'adopt' });
}
于 2013-04-12T07:25:52.607 回答
0

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

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();
}
于 2013-04-12T13:34:45.190 回答