asp.net - html body中的Javascript遇到时是否执行?

标签 asp.net javascript html

我继承了一个 ASP.net 代码库,但我的 ASP.net 技能非常有限。我很难理解为什么某些东西有效,以及为什么它只在 IE 中有效。

页面中出现以下代码:-

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="map.aspx.cs" Inherits="Romtrac.auth_map" Culture="auto" UICulture="auto" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>
        <% = Resources.Resource.map %>
    </title>
</head>
<body>    
    <form id="adminlw_map_form" action="<%=geturl()%>" method="post"  >

    <% = Resources.Resource.loading %>...
    <textarea name="xml" id="xml" runat="server" style="display:none" cols="1" rows="1"></textarea>
    </form>
    <script language="javascript" type="text/javascript" >
      //submit main form immediately
        document.getElementById('adminlw_map_form').submit();
    </script>
</body>
</html>

此代码在 ASP.net 中运行良好。表单会自动提交,返回的页面会在 Iframe 中正确呈现。我的问题是;

1) body 中的 javascript 是否在遇到时才执行?这是好的做法还是应该响应事件执行?

2) 为什么这在其他浏览器中不起作用?

最佳答案

  1. 在浏览器完全呈现页面之前正在执行 javascript。在这种情况下,表单尚未呈现且无法通过 DOM 访问。

执行需要在DOM被浏览器完全加载后发生,可以通过将调用封装在一个函数中并通过body的onload事件调用该函数来实现,或者使用jquery等javascript库 Hook 来实现页面的加载事件。

关于asp.net - html body中的Javascript遇到时是否执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/859806/

相关文章:

.net - 客户端验证的作用与 .NET 页面验证器/XSS 预防相同吗?

javascript - RequireJS:无法读取回调中未定义的属性

c# - 将 HTML 页面切换到媒体打印模式

html - 在相对父级之外获得绝对div

javascript - 将 ViewModel 映射到 JS 对象

javascript - AJAX 过滤 webgrid

c# - DateTime.Now.DayOfWeek.ToString() 与 CultureInfo

javascript - 将图标/图像正确放置在 SVG 形状上?

javascript - 无法加载带有数据的选项卡式页面

javascript - ul的jquery宽度