0

过去几天我一直在使用 javascript,并决定将其用于我的网站。我还决定在单个 .js 文件中使用外部函数

function imageLoad() {
    var path,domain,cut;
    path = window.location.pathname;
    domain = "WEBSITE DOMAIN ADDRESS";

    cut = path.substring(domain.length,path.length);

    /* Still in progress */
}

function pageStart() {
    var image-on = 0;
    var imgArray = new Array();

    alert("boo"); /* Used to check the script will run */
}

现在这是一个简单的过程。没什么太复杂的。我做了以下事情(这是我模板的代码摘录)

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

<head>
    <link rel="stylesheet" href="main.css" type="text/css" />
    <title>Grandpa Pixel</title>
</head>

<body onload="pageStart();">

现在这应该可以解决问题。在身体加载时,它应该会引起警报“嘘”。但事实并非如此。它只是正常加载页面。但是,如果我使外部脚本仅包含行 alert("boo"),它可以完美运行。我能问一下为什么会这样吗?这是否意味着每个外部文件只能有一个功能?

4

2 回答 2

0

检查这个:

function pageStart() {
    var image_on = 0;
    var imgArray = new Array();

    alert("boo"); /* Used to check the script will run */
}

HTML

<head>
    <link rel="stylesheet" href="main.css" type="text/css" />
    <title>Grandpa Pixel</title>
<script type="text/javascript" src="main_script.js"></script>
</head>

<body onload="pageStart();">
于 2013-07-28T11:15:44.317 回答
0

建议使用 Firebug 或其他调试器。

错误

SyntaxError: missing ; before statement
var image-on = 0;

main_script.js (line 12, col 13)

ReferenceError: pageStart is not defined

pageStart();

解决方案

改变

var image-on = 0;

var imageOn = 0;

将 <script> 标签放入 <header> 标签会更简洁。

于 2013-07-28T11:39:44.437 回答