我为我的网站制定了一个解决方案,其中包括使用ajax在网站上显示一般信息.在这样做时,每次用户使用window.history.pushState方法加载某些特定内容时,我都会更改URL.但是,当我按退格键或按回时,未加载旧URL的内容(但是加载了URL).
我已经尝试了几个解决方案,没有任何运气.
以下是其中一个ajax函数的示例:
$(document).ready(function(){
$(document).on("click",".priceDeckLink",function(){
$("#hideGraphStuff").hide();
$("#giantWrapper").show();
$("#loadDeck").fadeIn("fast");
var name = $(this).text();
$.post("pages/getPriceDeckData.php",{data : name},function(data){
var $response=$(data);
var name = $response.filter('#titleDeck').text();
var data = data.split("%%%%%%%");
$("#deckInfo").html(data[0]);
$("#textContainer").html(data[1]);
$("#realTitleDeck").html(name);
$("#loadDeck").hide();
$("#hideGraphStuff").fadeIn("fast");
loadGraph();
window.history.pushState("Price Deck", "Price Deck", "?p=priceDeck&dN="+ name);
});
});
Run Code Online (Sandbox Code Playgroud)
希望你们能帮忙:)
我正在使用Jersey服务器,它以下列方式返回cookie:
return Response.ok()
.cookie(
new NewCookie(
"userAccessToken", userTokenDTO.getToken(), "/", "",
"what is this", 3600, false
)
).build();
Run Code Online (Sandbox Code Playgroud)
当我调用返回cookie的方法时,我在chrome中得到以下结果:

但由于某种原因,它没有在cookie选项卡中设置:
我已经尝试将域都设置为false,null,"",在hosts文件中重命名127.0.0.1创建一个条目.
return Response.ok()
.cookie(
new NewCookie(
"userAccessToken", userTokenDTO.getToken(), "/", "127.0.0.1",
"what is this", 3600, false)
).build();
Run Code Online (Sandbox Code Playgroud)
适用于IE 11,但仍然不是Chrome或Firefox ......
我已经多次尝试为127.0.0.1插入另一个主机名.在此示例中,它是text.myexample.com.它仍然无法在除IE11之外的任何其他浏览器中运行.
return Response.ok()
.cookie(
new NewCookie(
"userAccessToken", userTokenDTO.getToken(), "/", "test.myexample.com",
"what", 7200, false)
).build();
Run Code Online (Sandbox Code Playgroud)
我尝试在Google Chrome控制台中执行以下操作:
document.cookie = "userAccessToken=72bebbe0-44fd-45ce-a6e1-accb72201eff;Version=1;Comment=what;Domain=test.myexample.com;Path=/;Max-Age=7200"
Run Code Online (Sandbox Code Playgroud)
哪个是Chrome中服务器返回的标头中的Cookie.这很好.我几乎不知道这里发生了什么.
我已经google了很多,发现很奇怪,没有人关心为什么COM接口是不可变的.我想你无法从COM接口中删除任何方法的原因是因为依赖于该接口的客户端会遇到错误,这是不好的.但是为什么在接口上添加新功能会改变其中的任何一个?这与底层vtable有关吗?