如何检索HTML对象标记的文档对象
JavaScript: How to retrieve document object of HTML object tag?
我试着调用document。打开/写入/关闭对象元素中的序列(type="text/html")。在Safari/Chrome中,我能够通过contentDocument属性抓取内部文档对象。示例代码(使用jquery):
$(document).ready(function() {
var container = $('<object/>')
.css({'width': '700px', 'height': '100px', 'border': '0px none'})
.attr({'type': 'text/html'}).appendTo('body');
var doc = container.get(0).contentDocument;
doc.open();
doc.write('<h1>Hello world!</h1>');
doc.close();
});
是否有办法在其他浏览器做同样的?
我想做这样奇怪的事情的原因是我需要调用包含文档的外部脚本。在DOM关闭后写入。我已经尝试过处理iframes,但由于ie和Opera的bug,我失败了。
这应该适合您。我不知道为什么(我只有怀疑)。
$(document).ready(function () {
var container = $('<object>')
.css({
'width': '700px',
'height': '100px',
'border': '0 none'
})
.attr({
'type': 'text/html',
'data': 'about:blank'
})
.appendTo('body');
function writeToDoc() {
var obj, doc;
obj = container.get(0);
if (obj.document) {
doc = obj.document;
} else if (obj.contentWindow) {
doc = obj.contentWindow.document;
}
else if (obj.contentDocument) {
doc = obj.contentDocument;
}
if (doc) {
doc.open();
doc.write('<h1>Works!</h1>');
doc.close();
} else {
$('body').append('<h1>No luck...</h1>');
}
};
// yes, this is weird
setTimeout(writeToDoc, 0);
});
Object元素在HTML5中已被弃用,所以你将无法再这样做了
相关文章:
- 枚举附加到文档的HTML对象的所有事件
- 如何将文档对象创建为HTML页面
- javascript对象与阅读文档——初学者查询效率
- MongoDB findAndModify:>>>查找和更新文档数组中的对象
- 将文档对象传递给函数
- 如何使用猫鼬将常规 JSON 对象转换为 Mongo 文档
- 从 JSON 对象数组中获取与条件匹配的文档
- findAndModify,如何对文档进行操作's数组搜索对象并更改字段值
- ajax响应JavaScript中的文档对象
- 如何在JQUERY中从HTML文档中获取XML对象
- XUL文档与HTML文档对象有何不同
- 使用JavaScript将自定义对象添加到文档中
- 查找包含子对象MongoDb和Node.js的特定字段的文档
- 我可以在不使用XMLHttpRequest或文档对象的情况下使用Javascript来获取网页吗
- 为什么广播在文档中被描述为标志,而它实际上是一个对象
- 在MongoDB和Node.js中查找某个字段具有与对象完全相同元素的文档
- 带有<对象>的jQuery对话框无法从对象文档中调用对话框('close')
- 在Phonegap中加载[对象文档]的AJAX成功数据
- AJAX响应带有未定义/对象文档
- 如何是DOM对象文档.Cookie属性已建立