1

该应用程序有一个带有缩略图的页面。单击缩略图会调用播放器对象上的 SetURL() javascript 函数。

在 Windows 上的 Safari 中,大约 75% 的时间,插件会发出请求,发送 cookie,然后一切顺利。另外 25% 的时间,它在一半的时间内都无法加载,当它加载时,它不会循环。当它失败时,我们会看到以下请求:

127.0.0.1 - [20/May/2009:11:15:19 -0400] "GET /full/?id=1 HTTP/1.1" 302 - "-" 80 7542 0 QuickTime/7.6 (qtver=7.6;os= Windows NT 5.1Service Pack 3) 127.0.0.1 - [20/May/2009:11:15:19 -0400] "GET /denied/ HTTP/1.1" 200 3385 "-" 80 9050 0 QuickTime/7.6 (qtver=7.6 ;os=Windows NT 5.1Service Pack 3) 127.0.0.1 - [20/May/2009:11:15:20 -0400] "GET /full/?id=1 HTTP/1.1" 200 2639638 "-" 80 2005787 2 Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.27.1 (KHTML, like Gecko) 版本/3.2.1 Safari/525.27.1

第一个请求直接来自插件,并且该请求不包含会话 cookie,因此应用程序将其重定向到“未经授权的访问”页面。然后我们看到插件向重定向页面发出请求。然后我们看到来自浏览器本身的相同初始请求。该请求包含 cookie,因此它成功。大约一半的时间,电影播放,另一半没有。

正如我所说,如果我们在一个页面上有 10 个缩略图,那么其中至少 7 个都可以正常工作,因此我们知道插件实际上已加载。没有 javascript 错误。

我在 IE 中看到过类似的行为,但无法始终如一地重现它。

想法?

4

1 回答 1

0

在我们的开发服务器上,我们通过密码保护服务器级别的站点(通过 htpasswd)。

在 Firefox 中,第一次为新电影调用 SetURL() 时,浏览器将等待并弹出密码警报,无论它是否在钥匙串中“记住”。发送凭据后,QuickTime 将加载电影。

在 Chrome 中,它被记住了。

IE 仍然不会交换文件。立即下载 Charles Proxy...

于 2010-09-15T21:26:36.667 回答