是的,如果您以不同方式处理 url 参数,则 appcache 可用于动态内容。
我通过使用本地存储解决了这个问题(我使用了 jquery localstorage 插件来帮助解决这个问题)。
过程是
- 当您通常从锚点或重定向中引用时,在页面内部,而是调用一个函数为您重定向。该函数将参数从url存储到localstorage,然后只重定向到不带参数的url。
- 在接收目标页面上。从本地存储中获取参数。
重定向代码
function redirectTo(url) {
if (url.indexOf('?') === -1) {
document.location = url;
} else {
var params = url.split('?')[1];
$.localStorage.set("pageparams", params);
document.location = url.split('?')[0];
};
}
目标页面代码
var myParams = GetPageParamsAsJson();
var page = myParams.page;
function GetPageParamsAsJson() {
return convertUrlParamsToJson($.localStorage.get('pageparams'));
}
function convertUrlParamsToJson(params) {
if (params) {
var json = '{"' + decodeURI(params).replace(/"/g, '\\"').replace(/&/g, '","').replace(/=/g, '":"') + '"}';
return JSON.parse(json);
}
return [];
}