我开发了一个使用表单身份验证和cookie的MVC4 Web应用程序.在所有浏览器中,自从我开始(几年)以来它一直运行良好.
我现在尝试从微软虚拟盒中使用IE11测试此站点,并且登录过程不起作用.当我点击登录时没有任何反应,我被重定向回登录页面,好像我没有经过身份验证.
起初我以为是因为cookie已经过期但是cookie被设置为我可以在临时文件中看到它.我的代码似乎没有做任何棘手的事情.
注意:当我将站点添加到兼容性视图时,登录过程有效
这是登录/ Cookie代码
public void SignIn(HttpResponseBase response, string userName, bool rememberMe)
{
if (String.IsNullOrWhiteSpace(userName))
throw new ArgumentException("Value cannot be null or empty.", "userName");
var ticket = new FormsAuthenticationTicket(
1,
userName,
DateTime.Now,
DateTime.Now.AddMinutes(FormsAuthentication.Timeout.TotalMinutes),
rememberMe,
string.Empty);
var cookie = new HttpCookie(
FormsAuthentication.FormsCookieName,
FormsAuthentication.Encrypt(ticket));
cookie.HttpOnly = true;
if (rememberMe)
{
cookie.Expires = ticket.Expiration;
}
response.Cookies.Add(cookie);
}
Run Code Online (Sandbox Code Playgroud)
我已经创建了一个自定义AuthorizeAttribute,它应该委托链,因为我没有通过ajax登录.
public class OverseerAuthorizeAttribute : AuthorizeAttribute
{
protected override void HandleUnauthorizedRequest(AuthorizationContext context)
{
if (FormsAuthentication.IsEnabled)
{
if (context.HttpContext.Request.IsAjaxRequest())
{
context.HttpContext.Response.AddHeader("REQUIRES_AUTH", "1");
context.Result = …Run Code Online (Sandbox Code Playgroud) 我在所有浏览器中为暗按钮做了渐变,看起来不错,除了IE10,IE11版本.顶部和底部有浅色条纹. 我通过colorzilla渐变编辑器生成渐变.

HTML
<div class="dark-button">div button</div>
Run Code Online (Sandbox Code Playgroud)
CSS
.dark-button {
background: #0874b6; /* Old browsers */
/* IE9 SVG, needs conditional override of 'filter' to 'none' */
background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzM0ODliZCIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMwMTZjYWQiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
background: -moz-linear-gradient(top, #0874b6 0%, #016cad 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #0874b6), color-stop(100%, #016cad)); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, #0874b6 0%, #016cad 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, #0874b6 0%, #016cad 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top, #0874b6 0%, #016cad 100%); /* IE10+ */
background: …Run Code Online (Sandbox Code Playgroud) 我在Windows 7中使用IE11.然后我在C#项目c:\ Windows\System32\mshtml.tld中添加了一个引用并尝试获取mshtml.IHTMLDocument6或mshtml.IHTMLDocument7,但VS2013没有看到它.我只能得到mshtml.IHTMLDocument,mshtml.IHTMLDocument2 .. mshtml.IHTMLDocument5.
IHTMLDocument7接口 https://msdn.microsoft.com/ru-ru/library/windows/hardware/ff975572
我在编写一些代码时偶然发现了这一点:
var obj = {
myFunc() {
document.body.innerHTML = 'Hello World!';
}
};
obj.myFunc();Run Code Online (Sandbox Code Playgroud)
我想输入的是:
var obj = {
myFunc: function() {
// ...
}
};
Run Code Online (Sandbox Code Playgroud)
我没有注意到我不小心输入了第一个,直到我意识到我的代码没有在 IE11 中运行。
为什么第一个示例适用于 Chrome/Firefox,而不适用于 IE11?
另外,如果这是官方语言功能,这叫什么?
我在 Internet Explorer 11 中调度事件时遇到问题。目前,我们有:
fireEvent
对于 IE 和
createEvent
initEvent
dispatchEvent
Run Code Online (Sandbox Code Playgroud)
普通浏览器的习惯用法。
问题是这些在 IE 11 中都不起作用。新方法 - 使用new Event()/也不起作用new CustomEvent()。
看起来微软弃用了他们的专有fireEvent(对于 IE 11),但没有提供对正确调度的支持。
附注。我相信我已经阅读了与此相关的所有主题,但仍然找不到工作解决方案
javascript events internet-explorer dispatch internet-explorer-11
我有一种情况,我添加了一个包含破坏性参数的中间件当在谷歌浏览器中打开时,它工作正常。但它在 Internet Explorer 中失败了这是我的 webpack 配置文件
var path = require('path');
var webpack = require('webpack');
var HtmlWebpackPlugin = require('html-webpack-plugin');
var AppCachePlugin = require('appcache-webpack-plugin');
var appConfig= require('./config.js');
console.log("appConfig is ->>>",appConfig);
var appPort = appConfig.APP_PORT;//Port on which the application is running
process.noDeprecation = true;
var ASSET_PATH = '/'
module.exports = function(options) {
var entry, jsLoaders, plugins, cssLoaders, devtool;
console.log('options webconfig-->', options, 'directory name', __dirname);
// If production is true
if (options.prod) {
console.log('production minification');
// Entry
entry = {
veris:path.resolve(__dirname,'./VerisInstrument/js/VerisApp.js'),
au680 : path.resolve(__dirname,'./Au680Instrument/js/au680App.js'), …Run Code Online (Sandbox Code Playgroud)我已经编写了一个Angular 4 Material 2应用程序,一切都在Chrome中工作正常,但在Internet Explorer上页面是空的.我已经添加了一个<h1>到index.html,但是在我的content.component.html中添加一个不起作用,甚至整个组件的代码也没有添加到DOM中.
index.html(<h1>Test</h1>在IE中显示):
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="utf-8">
<title>ITEM Projekte</title>
<base href="/">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/x-icon" href="favicon.ico">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700,400italic">
</head>
<body>
<h1>Test</h1>
<app-root></app-root>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
app.component.html(<h1>Test</h1>未在IE中显示):
<h1>Test</h1>
<md-card>
<md-card-title>ITEM Projekt anlegen</md-card-title>
<md-card-subtitle>PROJEKTDATEN</md-card-subtitle>
<md-card-content>
<div style="width: 100%; ">
<md-input-container *ngFor="let item of projektdaten" style="margin-right: 15px; display: inline-block; ">
<label style="width: 120px; display: block;">{{item.identifier}}:</label><input mdInput name={{item.identifier}} style="width: 150px; " (keyup)="setProjectData(item, …Run Code Online (Sandbox Code Playgroud) 我正在努力调整一些组件,以便它们在高对比度模式下都能正常工作并看起来不错。Edge 似乎在 IE11 未添加的所有文本下添加黑色背景。我似乎无法找到一种在 CSS 中定位此背景的方法,或任何其他方法来规范两个浏览器之间的行为。
例如,假设我有以下内容:
<div class="SelectedText">
Text!
</div>
Run Code Online (Sandbox Code Playgroud)
假设我将background-color: cyan;和分配color: black;给了.SelectedTextdiv。
在这种情况下,IE11 按预期使用具有指定颜色的 div 和文本呈现它。然而,在 Edge 中,div 背景和文本被赋予正确的颜色,但文本本身在其背后绘制了黑色背景,使其在黑色文本上无法读取。
下图说明了在具有上述基本相同标记的菜单项上下文中发生的此问题。
有什么方法可以禁用或针对 Edge 添加的这个额外背景?
css high-contrast internet-explorer-11 microsoft-edge web-accessibility
我正在使用 Webpack 编译 Typescript (v2.4.2)。一切都编译正常,但是当我在 IE11 中运行我的代码时,我收到以下错误:'Promise' 未定义。
这是我的 tsconfig:
{
"compilerOptions": {
"outDir": "./wwwroot/js",
"sourceMap": true,
"allowJs": true,
"lib": [
"dom",
"es5",
"scripthost",
"es2015.iterable"
],
"target": "es5",
"module": "commonjs",
"moduleResolution": "node",
"skipDefaultLibCheck": true,
"types": [ "es6-promise" ]
},
"include": [
"./Ts/**/*"
]
}
Run Code Online (Sandbox Code Playgroud)
这是我的 webpack 配置:
const path = require('path');
const webpack = require('webpack');
const UglifyJsPlugin = require('uglifyjs-webpack-plugin');
module.exports = {
entry: {
main: "./Ts/main.ts"
},
output: {
filename: "[name].js",
path: path.resolve(__dirname, "wwwroot/js")
},
devtool: "source-map",
resolve: {
extensions: …Run Code Online (Sandbox Code Playgroud) 如何为不支持当前规范的浏览器通过功能查询或媒体查询可靠地为CSS网格样式创建后备?
根据此类文章,浏览器会忽略无法解析的CSS。因此,我希望否定功能查询即使在不支持它的浏览器上也能正常工作。例如IE11不支持功能查询,因此我希望它忽略这一行并在查询中应用样式:@supports not (display: grid){}。但是,正如您在此测试中所看到的,IE11会忽略该查询中的所有样式。
我找到了针对IE10 +的媒体查询,但该查询排除了其他不支持网格的浏览器。当然,我可以先声明后备样式并用@supports (grid-area: area)查询覆盖它们,但是我更喜欢不需要覆盖的解决方案。
css ×3
javascript ×2
angular ×1
babeljs ×1
c# ×1
css-grid ×1
dispatch ×1
ecmascript-6 ×1
events ×1
fetch ×1
gradient ×1
material ×1
promise ×1
typescript ×1
webpack ×1