相关疑难解决方法(0)

检测浏览器何时收到文件下载

我有一个页面,允许用户下载动态生成的文件.生成需要很长时间,所以我想显示一个"等待"指标.问题是,我无法弄清楚如何检测浏览器何时收到文件,所以我可以隐藏指标.

我正在以隐藏的形式发出请求,该请求POST到服务器,并针对其结果定位隐藏的iframe.这样我就不会用结果替换整个浏览器窗口.我在iframe上监听"加载"事件,希望在下载完成后它会触发.

我在文件中返回"Content-Disposition:attachment"标题,这会导致浏览器显示"保存"对话框.但浏览器不会在iframe中触发"加载"事件.

我尝试过的一种方法是使用多部分响应.因此它会发送一个空的HTML文件,以及附加的可下载文件.例如:

Content-type: multipart/x-mixed-replace;boundary="abcde"

--abcde
Content-type: text/html

--abcde
Content-type: application/vnd.fdf
Content-Disposition: attachment; filename=foo.fdf

file-content
--abcde
Run Code Online (Sandbox Code Playgroud)

这适用于Firefox; 它接收空的HTML文件,触发"load"事件,然后显示可下载文件的"Save"对话框.但它在IE和Safari上失败了; IE触发"加载"事件但不下载文件,Safari下载文件(名称和内容类型错误),并且不会触发"加载"事件.

一种不同的方法可能是调用启动文件创建,然后轮询服务器直到它准备就绪,然后下载已经创建的文件.但我宁愿避免在服务器上创建临时文件.

有没有人有更好的主意?

javascript mime http

464
推荐指数
11
解决办法
28万
查看次数

为什么jquery的.ajax()方法没有发送我的会话cookie?

登录$.ajax()到站点后,我尝试$.ajax()向该站点发送第二个请求 - 但是当我检查使用FireBug发送的标头时,请求中不包含会话cookie.

我究竟做错了什么?

cookies ajax session jquery

326
推荐指数
6
解决办法
31万
查看次数

在域上创建JavaScript cookie并跨子域读取它

下面是一个JavaScript cookie,写在用户的计算机上12个月.

在我们在主域上设置cookie之后example.com,如果用户访问子域test.example.com,我们需要继续在"test"子域中识别用户的活动.

但是使用当前的代码,一旦他们离开www.example.com并访问test.example.com,他们就不再被标记为"HelloWorld".

是否有人能够帮助我的代码允许跨子域读取cookie?

<script type="text/javascript">
  var cookieName = 'HelloWorld';
  var cookieValue = 'HelloWorld';
  var myDate = new Date();
  myDate.setMonth(myDate.getMonth() + 12);
  document.cookie = cookieName +"=" + cookieValue + ";expires=" + myDate;
</script>
Run Code Online (Sandbox Code Playgroud)

javascript cookies

96
推荐指数
3
解决办法
20万
查看次数

cookie域中的点前缀是什么意思?

在此输入图像描述

local.test.com和之间有什么区别.local.test.com?屏幕截图来自Chrome.

cookies

70
推荐指数
4
解决办法
4万
查看次数

Chrome localhost Cookie未设置

我有一个ASP.net应用程序,它使用cookie来存储用户选择的语言.一切正常,除非我在localhost上.用127.0.0.1替换localhost使它再次工作......为什么?

我看到了对file://的预期限制,但我实际上找不到对localhost的预期限制的任何引用.

我无法理解的是为什么ASP.net会话(ASP.NET_SessionId)和ASP.net表单身份验证Cookie(.FSAUTHSSO)是为localhost域正确设置的,但我的cookie不是......为什么?!

我已经google了很多,没有任何作用:

  • 设置Chrome命令行标志--enable-file-cookies [不工作]
  • 将cookie设置为HttpOnly [无关紧要]
  • 将到期时间更改为会话或日期... [无关紧要]
  • 将Cookie路径更改为根(/)或其他任何内容[无关紧要]

那有什么关系呢?:)

为什么ASP.net cookie可以设置而我的不会?有什么不同?

最后一件事就是提到这也发生在IE上,但在FF上工作正常.

谢谢!

亚历克斯

asp.net cookies session google-chrome

49
推荐指数
6
解决办法
6万
查看次数

为什么asp.net不会在localhost中创建cookie?

好的,这真的有点开始让我烦恼.我有一个简单的Web项目设置位于:"C:\ Projects\MyTestProject \".在我的机器上的IIS中,我已经将虚拟目录映射到此位置,因此我可以在本地运行我的站点(我知道我可以从Visual Studio运行它,我更喜欢这种方法).我已将此虚拟目录命名为"mtp",我通过http://localhost/mtp/index.aspx访问它.这一切都很好.

但是,每当我尝试创建一个cookie时,它根本就不会被写出来?我在FF3和IE7中试过这个,它只是简单的不会写出cookie.我不明白.我的主机文件中有"127.0.0.1 localhost",我真的无法想到我能做的其他事情.谢谢你的建议.

詹姆士

cookies localhost

42
推荐指数
3
解决办法
3万
查看次数

当用户关闭<div>时,在所有网站页面上隐藏<div>

我开发了几个显示在所有网站页面上的警报框.

警报框的屏幕截图

用户可以分别关闭每个盒子:

$(document).ready(function() {
  $("#close-alert-box-news").click(function() {
    $("#alert-box-news").hide(800);
  });
  $("#close-alert-box-maintenance").click(function() {
    $("#alert-box-maintenance").hide(800);
  });
});
Run Code Online (Sandbox Code Playgroud)
.alert-box {
  width: 50vw;
  position: relative;
  margin: 20px auto;
  border: 1px solid black;
}
.alert-box-close {
  position: absolute;
  top: -12px;
  right: -12px;
  cursor: pointer;
}
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js">
</script>

<article class="alert-box" id="alert-box-news">
  <h1>News Alerts</h1>
  <p>text text text text text text text text text text text text text text</p>
  <a class="alert-box-close" id="close-alert-box-news">
    <img src="http://i.imgur.com/czf8yas.png" height="25" width="25" alt="">
  </a>
</article>

<article class="alert-box" id="alert-box-maintenance">
  <h1>Site Maintenance</h1>
  <p>text text text text text …
Run Code Online (Sandbox Code Playgroud)

javascript php cookies jquery local-storage

36
推荐指数
3
解决办法
2042
查看次数

为跨源请求设置cookie

如何共享cookie跨源?更具体地说,如何将Set-Cookie标题与标题结合使用Access-Control-Allow-Origin

这是我的情况的解释:

我正在尝试localhost:4000为托管在其上的Web应用程序中运行的API设置cookie localhost:3000.

我似乎在浏览器中收到了正确的响应标题,但不幸的是它们没有任何效果.这些是响应标头:

HTTP/1.1 200 OK
Access-Control-Allow-Origin: http://localhost:3000
Vary: Origin, Accept-Encoding
Set-Cookie: token=0d522ba17e130d6d19eb9c25b7ac58387b798639f81ffe75bd449afbc3cc715d6b038e426adeac3316f0511dc7fae3f7; Max-Age=86400; Domain=localhost:4000; Path=/; Expires=Tue, 19 Sep 2017 21:11:36 GMT; HttpOnly
Content-Type: application/json; charset=utf-8
Content-Length: 180
ETag: W/"b4-VNrmF4xNeHGeLrGehNZTQNwAaUQ"
Date: Mon, 18 Sep 2017 21:11:36 GMT
Connection: keep-alive

此外,Response Cookies当我使用Chrome开发者工具的"网络"标签检查流量时,我可以看到cookie .但是,我看不到在"应用程序"选项卡下设置的cookie Storage/Cookies.我没有看到任何CORS错误,所以我假设我错过了其他的东西.

有什么建议?

更新I:

我正在使用React-Redux应用程序中的请求模块/signin向服务器上的端点发出请求.对于服务器我使用快递.

快递服务器:

res.cookie('token', 'xxx-xxx-xxx', { maxAge: 86400000, httpOnly: true, domain: 'localhost:3000' })

在浏览器中请求:

request.post({ uri: '/signin', json: { userName: …

authentication cookies localhost http-headers cors

35
推荐指数
4
解决办法
4万
查看次数

Javascript document.cookie总是空字符串

我有客户端javascript设置cookie这个真正奇怪的问题.我正在开发一个小页面的演示,目前使用cookie来存储一些'偏好'.请注意,我不能使用服务器端语言进行此演示或任何第三方jQuery插件.

所以我写了一个javascript对象来设置一个cookie:

var cookie = {
  set: function (name,value,exdays) {

    var exdate = new Date();
    exdate.setDate(exdate.getDate() + exdays);
    var value = escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
    document.cookie=name + "=" + value;
    console.log(document.cookie);
  }
}

cookie.set('foo','bar',2);
console.log(document.cookie);
Run Code Online (Sandbox Code Playgroud)

它只返回一个空字符串.我已经进入Chrome控制台,看看我是否可以通过直接修改来实现document.cookie

> document.cookie = "foo=bar";
"foo=bar"
> document.cookie
""
Run Code Online (Sandbox Code Playgroud)

你如何通过客户端javascript设置cookie?

编辑:我未处于隐身模式且已启用Cookie.

javascript cookies

34
推荐指数
2
解决办法
5万
查看次数

Sinatra - response.set_cookie不起作用

我需要为我的Sinatra应用程序使用cookie.如果我使用最简单的方法是有效的:

response.set_cookie('my_cookie', 'value_of_cookie')
Run Code Online (Sandbox Code Playgroud)

但我需要一些选项,如域名和过期日期,所以我试试这个:

response.set_cookie("my_cookie", {:value => 'value_of_cookie', :domain => myDomain, :path => myPath, :expires => Date.new})
Run Code Online (Sandbox Code Playgroud)

不起作用.没有cookie.我需要这么多......

请帮忙......谢谢!

ruby cookies set sinatra

12
推荐指数
1
解决办法
9236
查看次数