如题,下面这小段html代码,可以弹出alert框
<html>
<head>
<script language="text/javascript" src="jstar.js">
</script>
</head>
<body onload="alert('hello');">
<body>
<html>其中jstar.js里面的内容是
function f(){
  alert('OK');
}但是如果我把body的onload改成下面这样
<body onload="f();">
就不会有alert('OK')的对话框出现。我在IE和ff试了,都不行。为什么呢? 

解决方案 »

  1.   

    function f(){
      alert('OK');
    }()
      

  2.   

    JS文件引用错误
    <html>
    <head>
    <script src="jstar.js">
    </script>
    </head>
    <body onload="alert('hello');">
    <body>
    <html>
      

  3.   

    <script type="text/javascript" src="jstar.js">
      

  4.   

    引入jstar.js 路径或是写法有问题
      

  5.   

    你们都错了,这个问题我曾经也找了好久,是因为函数名的小写问题。如果把页面和js分开单独文件,函数名为小写时,是调用不到的,这点我是用firebug查找到的,改成大写,就OK!去试试吧。
    ps:7楼那位大虾,js中表示字符串时单引双引都可
      

  6.   

    有的,我用的时候是这样,小写时firebug提示找不到函数,改成大写就OK了。也找了我一个上午
      

  7.   


    用widow.onload = f;
      

  8.   

    确认html和js文件用的相同的编码。比如都用utf-8。
      

  9.   

    <html>
    <head>
    <script src="jstar.js">
    </script>
    </head>
    <body onload="JavaScript:alert('hello');">
    <body>
    <html>应该这样~~
      

  10.   

    <script language="text/javascript" src="jstar.js">
    </script>改写为
    <script language="javascript" src="jstar.js">
    </script>
    这样就OK了
      

  11.   

    language script 不赞成使用。规定脚本语言。请使用 type 属性代替它。 TF