【发布时间】:2015-09-24 23:02:52
【问题描述】:
我已经为这个问题寻找了几个小时的答案,但我似乎找不到任何有效的解决方案。我使用 jquery 创建了一个动态对象标记,并将其数据设置到我网站上的另一个页面。我将对象标记附加到 div 并将 div 附加到页面的正文。我想要做的是访问我设置为我的对象标记数据的页面的 html,以便监视该页面上的更改并根据这些更改更新我的当前页面。在 html 中定义对象标签时,我可以使用对象标签的 contentDocument 属性访问其内容,但是在动态生成标签时,contentDocument 是未定义的。我也尝试过使用 jquery 的内容函数,但它返回一个长度为 0 的对象。这基本上是我尝试过的:
这是我的页面 test.php 的代码:
<!DOCTYPE html>
<html>
<head>
<title>Test</title>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
function test()
{
var parentDiv = document.createElement("div");
$(parentDiv).addClass("parentDiv");
var object = $("<object>");
$(object).attr("id","objectId");
$(parentDiv).append(object);
$("body").append(parentDiv);
$(object).attr("data","test2.html");
$(object).addClass("object");
// These give errors
var content = object.contentDocument;
alert(content.getElementById("div"));
var content = $(object).contents();
alert(content.length());
/* THIS WORKS IF object defined as a tag in HTML body
var content = document.getElementById("objectId").contentDocument;
alert(content.getElementById("div").innerHTML);
*/
}
</script>
</head>
<body onload="test()">
<!-- <object id="objectId" data="test2.html"></object> -->
</body>
</html>
这是对象数据test.html页面的代码:
<!DOCTYPE html>
<html>
<head>
<title>Test 2</title>
</head>
<body>
<div id="div" style="width:200px;height:200px;background-color:red">
DIV Contents
</div>
</body>
</html>
非常感谢任何帮助。谢谢。
【问题讨论】:
-
你为什么需要那个?点击事件等?
-
object标签中我需要的页面就像一个警报监视器,会不断变化。我需要能够看到何时有警报,并在警报发生时在我的页面上执行一些操作。
标签: javascript jquery html