我正在尝试使用JavaScript将一组 .NET 托管控件动态加载到页面中,以将 OBJECT 标记注入 HTML。
我的问题是对象没有实例化,只会出现在页面加载时可见的静态对象。有没有办法让这些对象加载?
<h1>
Visible static</h1>
<div id="staticObject">
<object id="Object1" name="dropfolder" classid="http:DropFolder.dll#DropFolder.DropFolder">
<param name="FolderName" value="Intranet only - Worcs">
<param name="NodeKey" value="default|Intranet">
<param name="DropAction" value="">
</object>
</div>
<h2>
Hidden static</h2>
<div id="objwrap" style="display: none;">
<object id="default_Intranet" name="dropfolder" classid="http:DropFolder.dll#DropFolder.DropFolder">
<param name="FolderName" value="Intranet only - Worcs">
<param name="NodeKey" value="default|Intranet">
<param name="DropAction" value="">
</object>
</div>
<input type="button" value="unhide!" onclick="document.getElementById('objwrap').style.display = 'block';" />
<h2>
OnLoad target</h2>
<div id="objectTarget1">
</div>
<h2>
Click target</h2>
<div id="objectTarget2">
</div>
<input type="button" value="inject" onclick="javascript:inject('objectTarget2');" />
<script type="text/javascript">
function inject(target) {
var target = document.getElementById(target);
target.innerHTML =
'<object id="default_Intranet" name="dropfolder" classid="http:DropFolder.dll#DropFolder.DropFolder">' +
'<param name="FolderName" value="Intranet only - Worcs">' +
'<param name="NodeKey" value="default|Intranet">' +
'<param name="DropAction" value="">' +
'</object>';
};
inject('objectTarget1');
</script>