我有这个POPUP我可以用来不断弹出 - 我想添加一个7天的cookie吗?这有可能与我有什么关系吗?
<script type="text/javascript">
jQuery(document).ready(function() {
$.fancybox(
'<h2>' + {{ settings.popup_title | json }} + '</h2><p>' + {{ settings.popup_content | json }} + '</p>',
{
'autoDimensions' : false,
'width' : 450,
'height' : 'auto',
'transitionIn' : 'none',
'transitionOut' : 'none'
}
);
});
</script>
答案 0 :(得分:2)
基于this answer,您可以根据自己的喜好调整代码:
function openFancybox() {
setTimeout(function () {
$.fancybox(
'<h2>' + {
{
settings.popup_title | json
}
} + '</h2 > < p > ' + {
{
settings.popup_content | json
}
} + ' < /p>', {
'autoDimensions': false,
'width': 450,
'height': 'auto',
'transitionIn': 'none',
'transitionOut': 'none'
});
}, 5000);
}
$(document).ready(function () {
var visited = $.cookie('visited');
if (visited == 'yes') {
return false;
} else {
openFancybox();
}
$.cookie('visited', 'yes', {
expires: 7
});
});
这将在首次访问后5秒钟(或您喜欢的时间)触发fancybox,并且在接下来的7天内,假设访问者尚未清除浏览器的缓存/ cookie。
确保您已正确加载jQuery cookie plugin以及jQuery + fancybox js和css文件。
答案 1 :(得分:0)
fn fetch_access_token(base_url: &str) -> Result<String, ()> {
let _url = format!("{}/v3/auth/token", base_url);
// ...
let token = String::from("test token");
Ok(token)
}
fn get_env_url() -> String {
String::from("http://www.test.com")
}
pub struct App {
// private fields!
base_url: String,
access_token: Option<String>,
}
impl App {
pub fn new() -> App {
App {
base_url: get_env_url(),
access_token: None,
}
}
/// set new base url; clears cached access token
pub fn set_base_url(&mut self, base_url: String) {
self.base_url = base_url;
self.access_token = None;
}
pub fn get_base_url(&self) -> &str {
&self.base_url
}
/// retrieve (possibly cached) access token. tries again if previous attempt failed.
pub fn retrieve_access_token(&mut self) -> Result<&str, ()> {
if self.access_token.is_none() {
self.access_token = Some(fetch_access_token(&self.base_url)?);
}
Ok(self.access_token.as_ref().unwrap())
}
}
fn main() {
let mut app = App::new();
println!("{}", app.retrieve_access_token().unwrap());
}