私はASP.netのコードベースを継承しており、ASP.netのスキルは非常に限られています。なぜ私は何かがうまく動作する理由とIEでしか動作しない理由を理解するのに苦労しています。HTMLボディのJavascriptは実行されたときに実行されますか?
次のコードでは、ページに表示されます: -
<%@ 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)身体の中のJavaScriptは、遭遇したときに実行されるだけですか?この良い習慣であるか、それともイベントに応じて実行すべきか?
2)これは他のブラウザでは機能しないのはなぜですか?
レンダリングされたHTMLソースをASPコードではなくポストすると、それがIEでのみ機能する理由を識別するのに役立ちます(ブラウザはサーバーサイドコードを気にしません) – DanSingerman