script脚本加载问题

      script脚本为网页设计提供了很大的方便,然而我们时常会遇到错误。尤其是script的language属性是javascript,即使有错误存在脚本中,浏览器也不会发出任何错误信息,这也就把初学者搞的很郁闷。
      我们先来了解一下脚本的运行机制,脚本是优先于html的Tag加载到浏览器的。在涉及到内联服务器脚本的时候,最好用同一语言来写,也就是说不要在一个内联脚本中把几种脚本语言混合来用。比如,在页面前面的@指令中我们指定的VBScript,当我们在页面里面写下下面的脚本时就会在低版本的iis中出现问题,如下:
         <%="script inline<br>"%>
         <script language="javascript" runat="server">
               document.writeln("javascript")
          </script>
      运行的时候就会有提示:采用非缺省语言的脚本
      这样我们就能理解上述所说,不要用不同的脚本语言来写内联脚本。
      不同语言写的客户端脚本也要注意脚本放置的顺序。举例来说,在一个页面里面,我们先放置一个VBScript脚本,其调用javascript脚本中的function,注意,javascript脚本放置在VBScript脚本的后面,执行页面的时候调用的javascript中的function就会失败。为甚么?浏览器执行脚本是顺序执行的,它分析不到javascript中的function.如果你了解结构化语言,就会明白了:先声明,再使用,套用一下,也就是要先定义,再使用。
       在上面我们说到脚本是优先执行的,但是当用<% %>做标记,这就不成立了。比较一下如下:
               <script></script>标记:
               <html>
                     <head>
                           <title>test</title>
                      </head>
                      <body>
                             hellow world
                             <script language="javascript">
                                     document.write("javascript")
                             </script>
                      </body>
                 </html>
               <%  %>标记:
                  <html>
                         <head>
                               <title>test</title>
                          </head>
                          <body>
                                  hellow world
                                  <%="script"%>
                           </body>
                     </html>
       执行后就可以更加清楚的看到两者的区别了,还可以查看各自生产的源码。
       明白了这些后,当我们在设计web页面的时候就可以很好的运用script来丰富我们设计了。接下来,再来看一下在script在asp.net中的运用。
        在.net中,webform里的服务器端控件同样可以调用脚本,不过要在.cs文件中进行调用。如下例:
        在.aspx中有一个button:<asp:button id="Test" name="button" runat="server"/>,在.cs文件里面的Page_load中添加要调用的脚本函数或过程func():
                       Test.Attribute.add("func()");
         可能你会说,为什么在下面的写法中会出错?
         <asp:button id="Test" name="button" runat="server" οnclick="javascript:func()">
    那么只能说明你对asp.net完全不熟悉,该好好的补一下相关的知识了,尤其是webform页面的加载执行。 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值