Javascript 如何在运行时添加脚本?(document.write不是一个函数)
我正在尝试在运行时向Xul应用程序添加脚本,包括: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
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的情况下运行