首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何编写路由器以从URL参数打开Joomla Squeezebox模式?

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

Stack Overflow用户
提问于 2013-04-12 14:01:37
回答 2查看 2K关注 0票数 1

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

我一直在使用带有模板覆盖的Squeezebox。例如,我有一个链接,它显示在模板覆盖的每个页面上:

代码语言:javascript
复制
<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;">

这些链接在模式中打开视频。

我需要做的是能够打开这个视频onLoad,如果网址参数是存在的。例如:

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

所以我需要一个路由器来处理这个问题。我found something接近我想要的东西,但不太明白如何让它工作。这是我到目前为止所得到的:

代码语言:javascript
复制
window.addEvent('domready', function() {
 function popModal() {
  SqueezeBox.open($('vid-primary'), {
        handler: 'adopt'
    });
}

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

});
EN

回答 2

Stack Overflow用户

发布于 2013-04-12 15:25:53

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

代码语言:javascript
复制
<?php JHtml::_('behavior.modal'); ?>

使用如下链接:

代码语言:javascript
复制
<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

代码语言:javascript
复制
var uri = new URI (location.href);
if (uri.getData('vidload') == 'vidload') {
    SqueezeBox.open($('vid-primary'), { handler: 'adopt' });
}
票数 2
EN

Stack Overflow用户

发布于 2013-04-12 21:34:45

您正在尝试获取散列,但根据您的需要它是空的,如果您需要的是一个获取querystring参数的函数,您可以使用这个简单的函数:

代码语言:javascript
复制
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();
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15964158

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档