Tôi có trang HTML chứa thẻ Đối tượng để lưu trữ trang HTML được nhúng.Thay đổi nội dung dữ liệu trên Thẻ đối tượng trong HTML
<object style="border: none;" standby="loading" id="contentarea"
width="100%" height="53%" type="text/html" data="test1.html"></object>
Tuy nhiên, tôi cần phải thay đổi trang HTML trong thẻ đối tượng. Mã hiện tại dường như tạo một bản sao của đối tượng và thay thế đối tượng hiện tại bằng đối tượng đó, như vậy:
function changeObjectUrl(newUrl)
{
var oContentArea = document.getElementById("contentarea");
var oClone = oContentArea.cloneNode(true);
oClone.data = newUrl;
var oPlaceHolder = document.getElementById("contentholder");
oPlaceHolder.removeChild(oContentArea);
oPlaceHolder.appendChild(oClone);
}
Điều này có vẻ hơi kém. Có ai biết cách 'thay đổi' trang nhúng?
Cảm ơn!
EDIT: Để trả lời câu trả lời bên dưới, đây là nguồn đầy đủ cho trang tôi hiện đang sử dụng. Sử dụng setAttribute dường như không thay đổi nội dung của thẻ Object.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Test</title>
<script language="JavaScript">
function doPage()
{
var objTag = document.getElementById("contentarea");
if (objTag != null)
{
objTag.setAttribute('data', 'Test2.html');
alert('Page should have been changed');
}
}
</script>
</head>
<body>
<form name="Form1" method="POST">
<p><input type="button" value="Click to change page" onclick="doPage();" /></p>
<object style="visibility: visible; border: none;" standby="loading data" id="contentarea" title="loading" width="100%" height="53%" type="text/html" data="test1.html"></object>
</form>
</body>
</html>
Trang Test1.html và Test2.html chỉ là các trang HTML đơn giản hiển thị văn bản 'Test1' và 'Test2' tương ứng.
Điều này đã không làm việc cho tôi. Cả hai 'object.location' và' object.parentWindow' đều không xác định. –