我有一个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();
}
});
答案 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 Documentation和JHtml::_('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)
您正在尝试获取哈希,并根据您的需要将其清空, 如果您需要的是一个获取查询字符串parmaeter的函数,您可以使用这个简单的函数:
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();
}