相关疑难解决方法(0)

IE11-仅提交错误

我在页面上有一个表单,简单如下:

<form action="form/submit" method="post">
    <button type="submit">Submit</button>
</form>
Run Code Online (Sandbox Code Playgroud)

它适用于每一个浏览器,包括旧版本的IE,但在IE11中失败,标签卡在一个连续的加载循环中,在提交后永远不会改为"谢谢"页面.但是,如果我打开控制台,它就可以工作了.

我知道IE已经使用的console.log问题,并且已经在使用:

if (!window.console) {
    console = {
        log: function() {}
    };
}
Run Code Online (Sandbox Code Playgroud)

为了避免它,这似乎做得很好(如上所述,每个其他IE工作).有关问题可能存在的任何见解?

javascript forms internet-explorer internet-explorer-11

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

IE 11+ Windows 8.1中的doPostback失败

我在Windows 8.1预览中的IE 11中得到空白页.检查页面后,我认为下面的代码可能是罪魁祸首,因为在这些行之后没有进一步显示调试器窗口,所以代码在这一行之后就破了.

IE 11

<!-- <form name="aspnetForm" method="post" action="Register" id="aspnetForm">
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKMTkwNDQ3O
Run Code Online (Sandbox Code Playgroud)

我在Windows 8.1预览版的Chrome版本29.0.1547.57 m中尝试了相同的页面它在那里正常工作,我得到了以下代码.


<script type="text/javascript">
//<![CDATA[
var theForm = document.forms['aspnetForm'];
if (!theForm) {
theForm = document.aspnetForm;
}
function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
    theForm.__EVENTTARGET.value = eventTarget;
    theForm.__EVENTARGUMENT.value = eventArgument;
    theForm.submit();
}
}
//]]>
</script>
Run Code Online (Sandbox Code Playgroud)

- >

javascript internet-explorer windows-8.1

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

Asp.Net 4.0的Internet Explorer 11会话问题

我遇到一个奇怪的问题我已经在asp.net 4.0开发了一个网站,它在所有浏览器上工作正常,因为我正在处理会话,所以用户必须登录才能使用该网站.

在Internet Explorer 11上,当您访问网站URL时,它会在网址中附加奇怪的字符串.

当您登录该网站并单击其中的链接时,会将您注销.

我不知道为什么会发生这种情况,因为我在本地测试了它工作正常,但是当文件上传到服务器并且你从IE11打开链接时就会产生这个问题.

请有人帮我解决这个问题.

这是我得到的网址

http://wwww.someurl.com/FM2/(S(iyrnv2rrbds5uisv2qqc3rjy))/login.aspx

谢谢

asp.net session internet-explorer iis-7

15
推荐指数
1
解决办法
1万
查看次数

ASP.Net 4.0,IE 11中未输出JavaScript

在我们的ASP.Net 4.0项目中,我们注意到,在IE 11只(包括上Windows 7 SP1Windows 8.1),一些JavaScript没有被输出ASP.Net.

对于例如in IE 10和under,我们看到:

<select name="ctl00$ctl00$cpHeading$cpHeading$ucWebStoreHeader$lshSubjectHeader$ddlVersionList" onchange="javascript:setTimeout(&#39;__doPostBack(\&#39;ctl00$ctl00$cpHeading$cpHeading$ucWebStoreHeader$lshSubjectHeader$ddlVersionList\&#39;,\&#39;\&#39;)&#39;, 0)" id="ctl00_ctl00_cpHeading_cpHeading_ucWebStoreHeader_lshSubjectHeader_ddlVersionList">
Run Code Online (Sandbox Code Playgroud)

IE 11:

<select name="ctl00$ctl00$cpHeading$cpHeading$ucWebStoreHeader$lshSubjectHeader$ddlVersionList" id="ctl00_ctl00_cpHeading_cpHeading_ucWebStoreHeader_lshSubjectHeader_ddlVersionList">
Run Code Online (Sandbox Code Playgroud)

我们使用以下方法设置此脚本:

Page.ClientScript.RegisterClientScriptBlock(GetType(), null, script, true);
Run Code Online (Sandbox Code Playgroud)

这可能是因为.Net 4.0没有更新的浏览器定义文件IE 11用其非"MSIE"用户代理字符串识别吗?

我采用了这个假设,并尝试了Scott Hanselman建议在托管Web应用程序的机器上的Win 7 SP1和Win Server 2008 R2上安装KB2836939,但我没有注意到C中任何.browser文件的更新:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\BrowsersC:\ Windows\Microsoft.NET\Framework\v4.0.30319\Config\Browsers.

所以,我最终创建了自己的.browser文件,将其放在上面的文件夹中,而AppBrowsers则没有运气(运行aspnet_regbrowsers –i and iisreset).这是我放在文件夹中的IE11.browser文件的内容:

<browsers>
<browser id="IE11" parentID="Mozilla">
<identification>
    <userAgent match="Trident/(?'layoutVersion'[7-9]|0*[1-9]\d+)(\.\d+)?;(.*;)?\s*rv:(?'version'(?'major'\d+)(\.(?'minor'\d+)))" />
    <userAgent nonMatch="IEMobile" …
Run Code Online (Sandbox Code Playgroud)

javascript c# asp.net internet-explorer-11

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