如何根据URL显示特定的模式?
我正在使用Bootstrap作为响应框架。
我有两种模式(实际上有很多模式):
使用url和jquery打开模态:
$(document).ready(function() {
if(window.location.href.indexOf('#privilege_10') != -1) {
$('#privilege_10').modal('show');
}
});
$(document).ready(function() {
if(window.location.href.indexOf('#privilege_11') != -1) {
$('#privilege_11').modal('show');
}
});
如果URL为 index.php#privilege_10 ,则 privilege_10 的模式将被打开,并且URL为 index.php#privilege_11 ,那么将打开 privilege_11 的模式。
由于存在许多这样的模式,因此为每个模式添加代码将非常长。
那么如何只编写一次代码就可以做到呢? (如循环播放)
if(window.location.href.indexOf('#privilege_10') != -1)
可以更改为检查网址是否包含 #privilege (如果是:
$('#privilege_10').modal('show');
应该更改为 $('what ever the url contains [#privilege_10 or #privilege_11]').modal('show');
,就像我们在 php ($_GET['']
)
答案 0 :(得分:0)
让URL的哈希值代替模式的ID,而不是检查特定的模式。因此,您所需要做的就是获取哈希值,然后使用该值调用模式。
$(window.location.hash).modal('show');
如果模态不存在,则不会发生任何事情。如果是这样,将显示模态。请注意,此示例没有对window.location.hash
进行任何检查。
答案 1 :(得分:0)
您可以尝试从URL获取锚,然后可以验证其正确性,如果正确,请弹出模式。
我要执行的功能:
$(function () {
var anchor = window.location.hash;
if (anchor.split('_')[0] == '#privilege') {
$(anchor).modal('show');
}
}