在 Edge 浏览器中重新提交表单
Form re-submitting in Edge browser
我有一个简单的表单一键式按钮和一个网格视图。当用户点击按钮时,他们的名字和他们点击的时间被记录下来。我使用元标记每 30 秒刷新一次页面。它在 IE、Chrome 和 Firefox 中运行良好,但在 Edge 浏览器上,当它刷新时,它会弹出一个窗口让用户重新提交,每次重新提交并再次记录它们。
<meta http-equiv="refresh" content="30" />
<form id="form1" runat="server">
<asp:Button ID="btnSave" runat="server" Text="Pick Up"/>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:BoundField DataField="PLUSER" HeaderText="User" S
SortExpression="name" ItemStyle-Width="100px" />
<asp:BoundField DataField="PLDATE" HeaderText="Date"
SortExpression="timeDate" ItemStyle-Width="250px" />
</Columns>
</asp:GridView>
</form>
edge在meta标签方面有什么特别的设置吗?
为了解决所有浏览器的这个问题,最终使用 asp.net 计时器而不是元标记,它在边缘和其他浏览器中工作。
HTML
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<asp:Timer ID="Timer1" runat="server"></asp:Timer>
Vb.Net
Dim MinuteCount = 0
Dim x = "off"
Dim count As Integer = 0
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If (Not IsPostBack Or x = "off") Then
MinuteCount = 0
Timer1.Interval = 60 * 500
Timer1.Enabled = True
x = "on"
End If
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
x = "off"
Label1.Text = "Checked at: " & DateTime.Now()
checkData()
End Sub
if someone else figures out why the meta tag fails in Edge...
我发现了 META 标签在 Edge 浏览器中不起作用的几个原因。
- 安全设置:
Internet Explorer 中的安全设置不允许元标记刷新。它位于“安全”选项卡下,然后选择“自定义级别”和“杂项”下的“元标记刷新”。如果禁用,元刷新将停止工作。
可能需要您在内容中指定URL:
http://www.whosebug.com">
META标签不是空标签,在HTML中没有结束标签,只有在XHTML.
[=43=中]
所以HTML:
<meta http-equiv="refresh" content="30">
XHTML:
<meta http-equiv="refresh" content="30"> </meta>
Ref.
恐怕即使有所有这些潜在的解决方案,它仍然无法在 Edge 中运行。
一个好的解决方法是使用渐进增强,就像您使用脚本管理器所做的那样,另一种方法是直接在此处使用 Javascript:https://davidwalsh.name/meta-refresh-javascript
<script>
ESPN_refresh=window.setTimeout(function(){window.location.href=window.location.href},900000);
</script>
<noscript>
<meta http-equiv="refresh" content="900" />
</noscript>
Use JavaScript as your primary means for automatic page refreshes and a META tag as your fallback.
我有一个简单的表单一键式按钮和一个网格视图。当用户点击按钮时,他们的名字和他们点击的时间被记录下来。我使用元标记每 30 秒刷新一次页面。它在 IE、Chrome 和 Firefox 中运行良好,但在 Edge 浏览器上,当它刷新时,它会弹出一个窗口让用户重新提交,每次重新提交并再次记录它们。
<meta http-equiv="refresh" content="30" />
<form id="form1" runat="server">
<asp:Button ID="btnSave" runat="server" Text="Pick Up"/>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:BoundField DataField="PLUSER" HeaderText="User" S
SortExpression="name" ItemStyle-Width="100px" />
<asp:BoundField DataField="PLDATE" HeaderText="Date"
SortExpression="timeDate" ItemStyle-Width="250px" />
</Columns>
</asp:GridView>
</form>
edge在meta标签方面有什么特别的设置吗?
为了解决所有浏览器的这个问题,最终使用 asp.net 计时器而不是元标记,它在边缘和其他浏览器中工作。
HTML
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<asp:Timer ID="Timer1" runat="server"></asp:Timer>
Vb.Net
Dim MinuteCount = 0
Dim x = "off"
Dim count As Integer = 0
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If (Not IsPostBack Or x = "off") Then
MinuteCount = 0
Timer1.Interval = 60 * 500
Timer1.Enabled = True
x = "on"
End If
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
x = "off"
Label1.Text = "Checked at: " & DateTime.Now()
checkData()
End Sub
if someone else figures out why the meta tag fails in Edge...
我发现了 META 标签在 Edge 浏览器中不起作用的几个原因。
- 安全设置:
Internet Explorer 中的安全设置不允许元标记刷新。它位于“安全”选项卡下,然后选择“自定义级别”和“杂项”下的“元标记刷新”。如果禁用,元刷新将停止工作。
可能需要您在内容中指定URL:
http://www.whosebug.com">
META标签不是空标签,在HTML中没有结束标签,只有在XHTML.
[=43=中]
所以HTML:
<meta http-equiv="refresh" content="30">
XHTML:
<meta http-equiv="refresh" content="30"> </meta>
Ref.
恐怕即使有所有这些潜在的解决方案,它仍然无法在 Edge 中运行。 一个好的解决方法是使用渐进增强,就像您使用脚本管理器所做的那样,另一种方法是直接在此处使用 Javascript:https://davidwalsh.name/meta-refresh-javascript
<script>
ESPN_refresh=window.setTimeout(function(){window.location.href=window.location.href},900000);
</script>
<noscript>
<meta http-equiv="refresh" content="900" />
</noscript>
Use JavaScript as your primary means for automatic page refreshes and a META tag as your fallback.