2014-02-19 145 views
0

问题:在加载“内容页面”时加载Javascript。在内容页面触发OnOoad Javascript .net内容页面

我有我

<body onload="javascript:SomeFunction()"> 

(代码具体是<body onload="GetMap(); ClickGeocode()">

但是我现在希望把代码放到具有母版。净页推出一些测试JavaScript代码。我不想做的是在主页面上加载Javascript,因为这意味着当我只需要在一个页面上时,它会加载到每个页面上。

我试过在这里和谷歌找到一个解决方案,但不知道的术语! 我曾看过How do I call a JavaScript function on page load?作为研究的一个例子。

代码全:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html> 
<head> 
    <title></title> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
     <script type="text/javascript" src="http://ecn.dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6.3"></script> 

<script type="text/javascript"> 

    var map = null; 

    function GetMap() { 
     map = new VEMap('myMap'); 
     map.LoadMap(); 

    } 

    function ClickGeocode() { 

     map.Geocode(document.getElementById('<%= txtQuery.ClientID %>').value, findCallback); 
    } 

    function findCallback(layer, findResults, placeResults, moreResults, error) { 
     var s = ''; 
     if (placeResults) { 
      for (var i = 0; i < placeResults.length; ++i) { 
       s += 'Name: ' + placeResults[i].Name + '\n'; 
       s += 'LatLong: ' + placeResults[i].LatLong + '\n'; 
       s += 'MatchCode: ' + placeResults[i].MatchCode + '\n'; 
       s += 'MatchConfidence: ' + placeResults[i].MatchConfidence + '\n'; 
       s += '\n\n'; 
      } 
     } 
     else { 
      // Code was an error! 
      // Do something else! 
     // console.log(error); 
     } 

    } 
</script> 
    </head> 
    <body onload="GetMap(); ClickGeocode()"> 

     <div id='myMap' style="position:relative; width:400px; height:400px;"></div>  

    <form runat="server"> 
     <asp:TextBox ID="txtQuery" runat="server" text="Postcode Here" /> 

     </form> 
    </body> 
</html> 
+0

你的示例代码不显示您在问题中提到的内容,只显示单个页面,而不显示母版页和内容页面。 – Nunners

+0

这可能会有所帮助:http://stackoverflow.com/questions/1235985/attach-a-body-onload-event-with-js – Nunners

回答

2

使用正确的事件或致电代码中所需的元素已经上市。

以下内容添加到文档的底部(当然里面的<body>):

<script type="text/javascript"> 
    myFunction(); 
</script> 

使用的事件,可能在这两个<head><body>

<script type="text/javascript"> 
    document.addEventListener("DOMContentLoaded", myFunction, false); 
</script> 
+1

值得关注的是IE8,下不支持'DOMContentLoaded'事件。 https://developer.mozilla.org/en-US/docs/Web/Reference/Events/DOMContentLoaded – Nunners

+0

也就是说,当然是正确的。或者,也可以使用“加载”事件,尽管它稍后会被触发。 –

+0

好吧,如果我正确地阅读它,我会进入内容页面,并放在最后一个内容区域,我把它放在然后添加<脚本类型= “文本/ JavaScript的”> document.addEventListener( “DOMContentLoaded”,myFunction的,假); 要在标题部分的内容页面还是两种方法来做呢? – indofraiser