Articles of 互联网浏览器

X-Accel-Redirect for mp4仅在Internet Explorer Windows 7上提供不受支持的videotypes

我正尝试使用NGINX X-Accel-Redirect标头在html5 video标签中提供mp4。 这是一个示例链接(第二个video作品,直接提供): https://www.sonoclipshare.com/testfiles/test.htm 适用于Chrome / Safari / FF的mp4s,但在Windows 7上只能在IE 11上出现错误。 此外,我可以使用X-Accel-Redirect以(通过下面的xfiles.php)方式传递任何其他文件 – 它在Win7 / IE11上正常工作。 不支持的videotypes或无效的文件path。 当直接服务时,video在IE上完美运行。 我怀疑这是如何具体到我的标题。 这里是简单的html: <video width="800" controls> <source src="xfiles.php?&file=001.mp4" type="video/mp4"> </video> 和xfiles.php : include('../cururl.php'); $murl = curPageURL(); parse_str($murl, $result); $filename=$result['file']; $folder=$result['folder']; $file="/var/www/uploads/" . $folder . "/" . $filename; $aliasedFile = '/protected/' . $folder .'/' . $filename; header('Content-Type: ' […]

IE对hash改变做出额外的GET请求

当我做一个XMLHttpRequest,我也改变window.location.hash 。 例如, mysite.com/gallery/q#1变成mysite.com/gallery/q#2 。 当发生这种情况时,IE8,如Fiddler和nginx日志显示,将这个奇怪的额外请求mysite.com/gallery/ (这是404)。 该页面不重载,它就像一个XMLHttpRequest。 GET http://mysite.com/gallery/ HTTP/1.1 Accept: */* Referer: http://mysite.com/gallery/q User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727) Accept-Encoding: gzip, deflate Host: mysite.com Connection: Keep-Alive 另外,哈希更改或Ajax请求不会触发这个额外的。 另外需要注意的是 – 额外的请求并不是每个 Ajax请求都发生。 它看似随机发生。 它可以是Nginx的configuration错误? 或者它只是众多IE8漏洞中的一个? 有没有解决方法? 我不想要这个额外的负载。 更新 这里是Ajax代码( $代表jQuery): var id = link.getAttribute('data-id') var xhr = $.ajax({ […]

只有在IE9上提交django表单的HTTP 403

我正在使用Django版本1.4.2。 我已经实现了这个简单的表单示例(受djangobook启发): # views.py from django.shortcuts import render from django.http import HttpResponseRedirect from django.core.mail import send_mail from mysite.contact.forms import ContactForm def contact(request): if request.method == 'POST': form = ContactForm(request.POST) if form.is_valid(): cd = form.cleaned_data send_mail( cd['subject'], cd['message'], cd.get('email', 'noreply@example.com'), ['siteowner@example.com'], ) return HttpResponseRedirect('/contact/thanks/') else: form = ContactForm() return render(request, 'contact_form.html', {'form': form}) # contact_form.html <html> […]

使用nginx将旧的IE用户redirect到不同的URL

我能够通过使用我的服务器块中的以下片段为旧的IE用户提供过时的浏览器页面: location / { if ($http_user_agent ~ "MSIE 8.0") { rewrite ^ /ie.html break; } } 这工作正常,nginx为IE 8用户提供ie.html 。 不过,我有两个问题。 一个是我想redirect旧的IE用户/upgradebrowser浏览器,而不是只是为他们提供一个HTML页面。 有没有办法可以发送一个Location:标题或什么? 其次,有什么方法可以让我轻松地捕捉IE的所有老用户? 目前这只是做IE 8.0,有没有办法使用$http_user_agent < "MSIE 8.0" ? 谢谢你的帮助!

读取GET请求时舞者随机挂起

我正在和Linux上的perl dancer玩,如果浏览器通过局域网直接连接到服务器,那么所有的都很好。 但是,当我通过广域网连接并且浏览器是IE9时,偶尔忙光标不会消失。 我可以通过连续10次重新加载页面apx来挑起这个问题。 即使在每次重新加载之间等待整整一秒时,我也会遇到这个问题。 页面本身非常简单,并通过W3C检查。 如果我以root身份运行dancer,或者端口是80还是3000,那也没有什么区别。同时也用apachetesting了一个页面的频繁重装,似乎没有问题。 我跑了一下,我有一个印象,那就是在舞者试图阅读的时候,请求数据有时是不可用的。 这是跟踪的样子 工作时: {sa_family=AF_INET, sin_port=htons(52073), sin_addr=inet_addr("78.42.213.92")}, [16]) = 4 ioctl(4, SNDCTL_TMR_TIMEBASE or TCGETS, 0xbfab5028) = -1 ENOTTY (Inappropriate ioctl for device) _llseek(4, 0, 0xbfab5070, SEEK_CUR) = -1 ESPIPE (Illegal seek) ioctl(4, SNDCTL_TMR_TIMEBASE or TCGETS, 0xbfab5028) = -1 ENOTTY (Inappropriate ioctl for device) _llseek(4, 0, 0xbfab5070, SEEK_CUR) = -1 […]

自定义协议处理程序启动IE – 不一致的结果

我正在面临一个问题,使自定义协议处理程序启动IE行为正常。 这是我想要做的:我有我的网页,用户需要访问铬。 该页面有一些外部networking应用程序的链接。 这些外部networking应用程序只能在Internet Explorer上运行。 我必须以某种方式启动IE的外部networking应用程序的链接点击。 客户不愿意使用像IETab这样的插件来启动这些外部应用程序。 因此,我试图定义一个自定义协议处理程序,它将获取目标URL作为参数,并启动Internet Explorer浏览器与目标URL。 只要没有IE窗口已经打开,似乎工作正常。 但是,当已经有一个IE实例运行时,其行为会有所不同。 我使用了下面的代码: 在HTML文件中: function launchIE(target){ window.location = "launchIE:\"http://external.url.com?param1=1&param2=2\""; } 我已经注册处理程序的自定义协议“launchIE”通过将以下内容添加到Windowsregistry中: Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\launchIE] "URL Protocol"="\"\"" @="\"URL:launchIE Protocol\"" [HKEY_CLASSES_ROOT\launchIE\DefaultIcon] @="\"iexplore.exe,1\"" [HKEY_CLASSES_ROOT\launchIE\shell] [HKEY_CLASSES_ROOT\launchIE\shell\open] [HKEY_CLASSES_ROOT\launchIE\shell\open\command] @="cmd /C set myvar=%1 & call set myvar=%%myvar:launchIE:=%% & call start /separate iexplore %%myvar%% & exit" 随着上述设置,当我点击button来触发上述JavaScript我启动Internet Explorer。 如果没有Internet Explorer的实例已经打开,IE将正确打开URL […]

从IE自动运行login过程

我需要编写一个脚本,将用户名和密码发布到服务器url上,获取会话cookie并将其保存到IE的cookie目录中。 基本上我想要一个脚本自动login到一个网站,只需运行它。 任何帮助如何做到这一点? 任何从C,VBS到python,perl都行。

调用IWebBrowser2-> get_Document时错误800706B5

在使用IE8的Vista上,我有一个IWebBrowser2的实例,用于获取当前的HTML文档: IWebBrowser2* browser; CComPtr<IDispatch> disp; HRESULT hr = browser->get_Document(&disp); 当这由pipe理员执行时,调用成功。 但是,当被普通用户调用时,尽pipe页面处于“受信任站点”和“保护模式”处于closures状态,但调用返回错误代码“800706B5”(“界面未知”)。 这个相同的代码在Vista上的IE7和XP上的IE8上都没有问题。 有谁知道为什么这个错误可能会发生,我能做些什么来解决这个问题? 以pipe理员身份运行并不理想,Jon Skeet也被这个难以理解:) 更新:这个问题似乎围绕UAC:closuresUAC完全允许一些常规用户的工作(虽然它明显不安全)

Windows身份validation不提示login

我已经有一段时间在我们网站的某个区域进行了Windows身份validation设置,至今为止它已经完美运行。 最近,login提示停止出现,并由于某种原因直接进入“页面无法显示”。 当连接到我们的networking,页面正常工作。 在我们的networking之外,用户应该会收到一个login提示,但是他们现在没有,而是接收到“无法显示页面”错误。 为什么会突然发生,如何解决? 我试图删除虚拟目录,并重新添加它,但似乎没有任何工作。 奇怪的是这只是发生在IE浏览器 – 谷歌浏览器工作正常(我收到login提示)。 是否有一个设置或IIS内禁用此login提示或东西? 很奇怪,这也是一个特定于IE的问题 – IE的状态从一天到下一天都没有改变。 任何人有什么可能造成这种想法的想法? 谢谢

检测Internet Explorer中的状态更改

我正在尝试在Internet Explorer上自动执行一些testing。 我怎样才能知道所显示网页的状态是否改变? 有什么方法可以知道页面何时完成加载,是否更改,滚动等? 我想知道如何从另一个正在运行的进程中获得这个状态信息。