【问题标题】:Not able to access external Jscript File even after referencing?即使在引用之后也无法访问外部 Jscript 文件?
【发布时间】:2012-07-10 14:57:39
【问题描述】:

我是一个初学者,尝试我的第一个程序在脚本标签的 scr 属性中添加外部 jscript 文件,按照我搜索的所有步骤操作,但它没有按应有的方式工作。有人可以帮我解决这个问题吗?

  1. 我有一个 aspx 表单,一个按钮 onclick 调用内部 javascript 函数。 我也有一键 onclick 调用外部 .js 文件功能。

这是我的 aspx 代码

<head runat="server">
<script type="text/javascript" language="javascript" src="ExternalJScript.js">
function Myfunction()
{
    document.getElementById("htmlbutton").innerHTML = "This is Button from Javascript            function";
    alert("Hi Function Called from Javascript");   
}
</script>
<title></title>
</head>

<body>
<form id="form1" runat="server">
    <div>
    <button type="button" id="htmlbutton" onclick="Myfunction()">This is html button</button><br />
    <button type="button" id="Button1" onclick="ExternalJSFileFunction()" value="Call File">HI</button>
    </div>
</form>

这是我的 .js 代码

ExternalJSFileFunction()
{
    alert("I m from external file");
}

【问题讨论】:

  • 我在 aspx 页面中的 javascript 函数工作正常。但外部不是。它给了我 Microsoft JScript 运行时错误:预期对象。

标签: javascript asp.net jscript.net


【解决方案1】:

外部脚本的脚本标签之间不应有代码。尝试将其更改为:

<head runat="server">
    <script type="text/javascript" language="javascript" src="ExternalJScript.js"></script>
    <script type="text/javascript">
    function Myfunction()
    {
    document.getElementById("htmlbutton").innerHTML = "This is Button from Javascript            function";
    alert("Hi Function Called from Javascript");   
    }
    </script>
    <title></title>
    </head>

    <body>
    <form id="form1" runat="server">
<div>
<button type="button" id="htmlbutton" onclick="Myfunction()">This is html button</button><br />
<button type="button" id="Button1" onclick="ExternalJSFileFunction()" value="Call File">HI</button>
</div>
    </form>

此外,Language 属性已被弃用且不再需要

编辑

这是因为您尝试调用的函数实际上不是函数,因为未使用 function 关键字。将外部文件更改为:

function ExternalJSFileFunction() 
{
    alert("I m from external file");
}

然后就可以了

此外,还有一些其他的提示:

如果你使用 HTML5 文档类型,你也可以去掉 &lt;script&gt; 元素的 type 属性

还要让你的左大括号与函数或条件在同一行,所以这样做:

function ExternalJSFileFunction() {

但不是:

function ExternalJSFileFunction()
{

您几乎应该总是将脚本添加到页面末尾,就在关闭 &lt;/body&gt; 标记之前以提高性能

使用onclick 属性也不是附加事件处理程序的推荐方法,您应该改用正确的addEventListener() 方法。如果您需要支持

【讨论】:

  • Thnks.. danwellman 我按照你的评论做了,但仍然遇到同样的错误:(
  • 嘿,非常感谢 :)) danwellman 帮助我解决了这个错误。我什至实施了你给定的提示。我使用 XHTML 1.0,我猜它比 HTML5 更高,如果我不写类型属性,它会发出警告。
  • 2.花括号你们将遵循hereafter.3。
【解决方案2】:

您的外部 JavaScript 文件中的函数未正确定义。

它应该是这样的(我添加了function 关键字)。

function ExternalJSFileFunction()
{
    alert("I m from external file");
}

您还需要做出 danwellman 在他的回答中建议的更改。

【讨论】:

    猜你喜欢
    • 2016-06-07
    • 1970-01-01
    • 2012-08-05
    • 2013-06-02
    • 1970-01-01
    • 1970-01-01
    • 2018-10-12
    • 2013-08-12
    • 2021-08-13
    相关资源
    最近更新 更多