Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/416.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在运行时添加脚本?(document.write不是一个函数)_Javascript_Xul - Fatal编程技术网

Javascript 如何在运行时添加脚本?(document.write不是一个函数)

Javascript 如何在运行时添加脚本?(document.write不是一个函数),javascript,xul,Javascript,Xul,我正在尝试在运行时向Xul应用程序添加脚本,包括: document.write('<script type="text/javascript" src="chrome://myapp/content/myscript.js"/>'); document.write(“”); 但我得到了: 错误:document.write不是一个 作用 该功能确实存在。我还从文档中得到了以下示例: document.open(); document.write("<h1>Out w

我正在尝试在运行时向Xul应用程序添加脚本,包括:

document.write('<script type="text/javascript" src="chrome://myapp/content/myscript.js"/>');
document.write(“”);
但我得到了:

错误:document.write不是一个 作用

该功能确实存在。我还从文档中得到了以下示例:

document.open();
document.write("<h1>Out with the old - in with the new!</h1>");
document.close();
document.open();
文档。写下(“用旧的写出来,用新的写进去!”);
document.close();
但我得到了:

document.open不是一个函数

知道怎么了吗

--更新


也许我可以将我的js代码放在JavaScript模块中,并将其导入到
文档中(查找将资源放在何处以及如何引用它)。

如果您使用的是XHTML,write
函数不可用;请参阅:。很可能您正在使用XHTML


您应该评估是否确实需要使用XHTML。如果没有,则可以使用
document.write
。但是,如果这样做,则需要使用另一种方法来操作DOM。您可以直接使用DOM方法,也可以使用帮助程序库,如jQuery。

文档。
如果您使用的是XHTML,则write
函数不可用;请参阅:。很可能您正在使用XHTML

您应该评估是否确实需要使用XHTML。如果没有,则可以使用
document.write
。但是,如果这样做,则需要使用另一种方法来操作DOM。您可以直接使用DOM方法,也可以使用帮助程序库,如jQuery。

From

在XUL中使用createElement方法 让您完成类似于 document.write在HTML中使用 可以创建新页面和页面的一部分 网页

在XUL中使用createElement方法 让您完成类似于 document.write在HTML中使用 可以创建新页面和页面的一部分 网页


脚本标记中是否包含javascript?你在代码中的某个地方启动了这个函数吗?它不是自己运行的

这项工作:

<html>
<head>
<script type="text/javascript">
function addCont(){
document.open();
document.write("<h1>New text</h1>");
document.close();
}
</script>
</head>
<body onload="addCont()">
<p>Some text...</p>
</body>
</html>

函数addCont(){
document.open();
文件。书写(“新文本”);
document.close();
}
一些文字


脚本标记中是否包含javascript?你在代码中的某个地方启动了这个函数吗?它不是自己运行的

这项工作:

<html>
<head>
<script type="text/javascript">
function addCont(){
document.open();
document.write("<h1>New text</h1>");
document.close();
}
</script>
</head>
<body onload="addCont()">
<p>Some text...</p>
</body>
</html>

函数addCont(){
document.open();
文件。书写(“新文本”);
document.close();
}
一些文字


您在对另一个答案的评论中说,您在一个从setTimeout调用的函数中执行document.write(),该函数本身在onload中我建议不要在页面加载后使用document.write()。根据Mozilla文档:

一个自动的document.open()调用 在调用document.write()时发生 在页面加载后调用,但是 这在W3C中没有定义 规格

而且由于自动文档的缘故。open()

如果目标中存在文档,此方法将清除该文档

根据记忆,我认为IE的旧版本只是在页面加载后使用document.write()时出现了一个错误,但我不想费心在他们的文档中查找任何内容

正如其他人提到的,它不适用于xhtml


为什么要在这个实例中执行document.write()?为什么不直接包含脚本呢?

您在对另一个答案的评论中说,您在一个函数中执行document.write(),该函数是从onload中的setTimeout调用的我建议不要在页面加载后使用document.write()。根据Mozilla文档:

一个自动的document.open()调用 在调用document.write()时发生 在页面加载后调用,但是 这在W3C中没有定义 规格

而且由于自动文档的缘故。open()

如果目标中存在文档,此方法将清除该文档

根据记忆,我认为IE的旧版本只是在页面加载后使用document.write()时出现了一个错误,但我不想费心在他们的文档中查找任何内容

正如其他人提到的,它不适用于xhtml


为什么要在这个实例中执行document.write()?为什么不直接包含脚本?

有两种方法可以在运行时动态加载脚本

第一种方式是通过


第二种方法是创建一个覆盖来动态加载脚本。

有两种方法可以在运行时动态加载脚本

第一种方式是通过


第二种方法是创建一个覆盖,用于动态加载脚本。

在该范围级别的代码中是否有重新定义“文档”的内容?例如,是否是一个局部变量隐藏了真正的“document”变量?@Tejs not,no where。该文档是原始文档。在该范围级别的代码中是否存在重新定义“文档”的内容?例如,是否是一个局部变量隐藏了真正的“document”变量?@Tejs not,no where。该文档是原始文档。试图添加到文档。我得到的
document.body未定义。尝试使用window.appendChild(这是继承的方法),我得到了
window.appendChild不是一个函数
。知道这里有什么问题吗?正在尝试添加到document.body我得到的
document.body未定义。尝试使用window.appendChild(这是继承的方法),我得到了
window.appendChild不是一个函数
。知道这里有什么问题吗?是的,我确实在脚本标记中有js,并且我在onload方法中的setTimeout中调用该函数。这难道不应该起作用吗?可能是因为您正在向文档添加脚本标记?脚本将“自行运行”。函数本身不运行,但函数中不包含的单独代码行(如一个单独的
document.write()
)将在不需要ca的情况下运行