head中的Javascript函数在body中未定义
我正在开发一个HTML应用程序,它打开一个包含摘要报告的新窗口,并提供打印该窗口的选项。这个新窗口是动态生成的,但我在 问题是头部中定义的“printThis()”函数在主体中无法识别。单击“打印”按钮时,会出现“打印此未知对象”或“预期对象”错误。我放入了一个完全没有内容的伪“printThis2()”函数。在尸体上也没有发现。我一定是犯了一个很基本的错误,但我肯定找不到。HTML代码总是验证得很好。我不知道javascript函数是否有效。我在网上获得了它,但由于这个问题,我无法运行它 代码部分:head中的Javascript函数在body中未定义,javascript,html,Javascript,Html,我正在开发一个HTML应用程序,它打开一个包含摘要报告的新窗口,并提供打印该窗口的选项。这个新窗口是动态生成的,但我在 问题是头部中定义的“printThis()”函数在主体中无法识别。单击“打印”按钮时,会出现“打印此未知对象”或“预期对象”错误。我放入了一个完全没有内容的伪“printThis2()”函数。在尸体上也没有发现。我一定是犯了一个很基本的错误,但我肯定找不到。HTML代码总是验证得很好。我不知道javascript函数是否有效。我在网上获得了它,但由于这个问题,我无法运行它 代码
<script type="/text/javascript">
/* <![CDATA[ */
function printThis() {
var a = window.open('','', scrollbars=yes, width=800, height=600);
a.document.open("text/html");
a.document.write(document.getElementById('printableContent').innerHTML);
a.document.close();
a.print();
}
/* ]]> */
</script>
/* */
。。。在头上,在身体里
<div id="printDiv">
<input type="button" value=" Print " id="printButton" onClick="Javascript: printThis()">
</div>
我已经做了很多年的网站和应用程序,但我从来没有遇到过这样的事情。任何帮助(或指导)都将不胜感激。
<script type="/text/javascript">
^
|
^
|
您的浏览器可能没有将您的代码识别为javascript,因为这是一个错误的类型
属性(删除前导斜杠)。
^
|
您的浏览器可能没有将您的代码识别为javascript,因为此属性错误
type
(删除前导斜杠)。您应该得到的实际错误应该是不言自明的:
未捕获引用错误:未定义yes
因为函数需要三个字符串参数,如下所示:
window.open('','', 'scrollbars=yes, width=800, height=600');
当前,Javascript正在以语句形式执行
scrollbars=yes
,试图将变量yes
分配给全局scrollbars
变量。由于该变量不存在,您将得到一个错误。您应该得到的实际错误应该是不言自明的:
未捕获引用错误:未定义yes
因为函数需要三个字符串参数,如下所示:
window.open('','', 'scrollbars=yes, width=800, height=600');
当前,Javascript正在以语句形式执行
scrollbars=yes
,试图将变量yes
分配给全局scrollbars
变量。由于该变量不存在,您将得到一个错误。谢谢各位。。。这两种观点都是正确的。第一个问题是我有一个带前导斜杠“/text/javascript”的片状脚本类型。这就是为什么这个函数没有被识别。应该让她知道的
正如所写的,函数“window.open”看起来需要5个参数。在我剪切和粘贴之前,她应该更仔细地检查脚本。有了适当的引号,一切都很好
非常感谢。谢谢各位。。。这两种观点都是正确的。第一个问题是我有一个带前导斜杠“/text/javascript”的片状脚本类型。这就是为什么这个函数没有被识别。应该让她知道的 正如所写的,函数“window.open”看起来需要5个参数。在我剪切和粘贴之前,她应该更仔细地检查脚本。有了适当的引号,一切都很好
非常感谢。也许从
type=“/text/javascript”
中删除前导斜杠……也许从type=“/text/javascript”
中删除前导斜杠……+1,因为这显然足以破坏东西,但对我来说,这听起来不像问题中描述的问题。另外,你真的会得到那个错误吗?我认为语法错误的可能性更大,而且解释器甚至不会尝试执行scrollbars=yes
赋值(除非这是ES6,并且它支持默认参数值)。绝对正确。引擎将以Javascript语句的形式执行scrollbars=yes,width=800,height=600
,其结果可能是一个字符串。例子:啊,当然!很抱歉我的困惑,谢谢你花时间来启发我。现在我也意识到,我关于默认参数的想法根本不适用于这种情况,因为这是关于函数声明而不是调用的。+1因为这显然足以破坏事情,但对我来说,这听起来不像问题中描述的问题。另外,你真的会得到那个错误吗?我认为语法错误的可能性更大,而且解释器甚至不会尝试执行scrollbars=yes
赋值(除非这是ES6,并且它支持默认参数值)。绝对正确。引擎将以Javascript语句的形式执行scrollbars=yes,width=800,height=600
,其结果可能是一个字符串。例子:啊,当然!很抱歉我的困惑,谢谢你花时间来启发我。现在我也意识到我关于默认参数的想法根本不适用于这种情况,因为这是关于函数声明而不是调用的。