Javascript:运行";document.write";在createElement脚本中失败
Javascript: Run "document.write" in createElement script failed
我的document.write
有问题。现在,我有了一个动态加载脚本的页面。因此,我使用document.createElement
来创建一个<script>
。在javascript文件中,我使用document.write
创建一个dom
或iframe
元素。但它并不是适用于所有浏览器。为什么不呢?
主页中的代码:
var script = document.createElement('script');
script.setAttribute('src', 'http://yoururl/test.js');
document.getElementsByTagName('head')[0].appendChild(script);
脚本test.js:中的代码
(function(){document.write('hello');})();
页面加载完成后运行的任何document.write语句都将创建一个新页面并覆盖当前页面的所有内容。这几乎肯定不是你想要发生的事情。
http://javascript.about.com/library/blwrite.htm
如果你想创建一个dom元素,可以这样做,并将其附加到文档(或元素(中:
var elem = document.createElement('iframe');
elem.src = "http://www.google.com";
document.getElementById('myContainer').appendChild(elem);
https://developer.mozilla.org/en/DOM/document.createElement
您正在头中添加新的脚本元素。头中的内容不会显示,因此即使document.write调用成功,您也不会看到文本。
如果你想显示内容,你必须将其添加到主体(作为子体或其他子体(,所以将脚本移动到主体:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<title>Document.write test</title>
<body>
<div>
<script type="text/javascript">
var script = document.createElement('script');
script.src = 'http://yoururl/test.js';
document.getElementsByTagName('div')[0].appendChild(script);
</script>
</div>
...
</body>
请注意,在文档.write完成后,您必须仍然有一个有效的文档。
以上内容在Firefox 5中不起作用,但在IE 6中起作用。注意HTML5规范中关于document.write的警告:
这种方法具有非常特殊的行为。在某些情况下,当解析器处于运行,导致DOM与文件在其他情况下,呼叫可以先清除当前页面,就好像document.open((已被调用。在里面在更多的情况下,方法很简单忽略或引发异常。到更糟糕的是,确切的行为在某些情况下取决于网络延迟可能导致非常很难调试。由于所有这些原因,这种方法的使用非常强烈气馁。**
- 铬:“;未捕获的语法错误:意外的标记:"
- 如何使用nodes和.createElement(“b”)将文本加粗
- 可以设置“;文件名"发生错误时显示的内联脚本标记的
- JS表单提交"无法使用Chrome数据保护程序加载此页面.尝试重新加载页面.调试信息:POST CISmtuK
- 检测电话窃听,即:<a href="电话:xxx">在UIWebview上
- createElement("a") - FireFox JavaScript
- 使用“+="操作人员
- //而不是在src=“”上使用http://"属性
- "未捕获的语法错误:意外的标记}"
- 可以<脚本类型=“;text/javascript”>window.location=“/"</
- "实例范围”;TypeScript类的getter/setter
- Javascript复选框函数:;缺少:在属性id之后"
- "“;变量未引用正确的对象
- "日期“;AJAX请求返回的类型值未定义
- 得到"TypeError:无法读取属性'filename'未定义的“;调用“npm start
- Soundcloud api"未捕获的类型错误:无法读取属性'uri'“未定义”;
- "工具提示"jQuery插件坏了
- "锻造;React中的表达式
- 图像可以从源<img src=""/>.TEXT可以在没有javascript的情况下从外部
- 如何提取“;href"最近列表项中的属性值