我的HTML代码
<script language="JavaScript" type="text/javascript">
function autoResize(id)
{
var newheight;
var newwidth;
if (document.getElementById)
{
newheight = document.getElementById(id).contentWindow.document.body.scrollHeight;
newwidth = document.getElementById(id).contentWindow.document.body.scrollWidth;
}
document.getElementById(id).height = (newheight) + "px";
document.getElementById(id).width = (newwidth) + "px";
}
</script>
<asp:DataList ID="dtlhtml" runat="server" Width="100%">
<ItemTemplate>
<table cellpadding="0" cellspacing="0" width="100%">
<tr>
<td>
<iframe src='<%#Eval("html") %>' width="713" height="250" id="iframe1" frameborder="0" onload="autoResize(this.id);"></iframe>
</td>
</tr>
</table>
</ItemTemplate>
</asp:DataList>
页面加载事件.cs代码
DataTable dt1 = new DataTable();
dt1.Columns.Add("html");
DataRow dr = dt1.NewRow();
dr["html"] = "";//Any dynamic url path
dt1.Rows.Add(dr);
dtlhtml.DataSource = dt1;
dtlhtml.DataBind();
这不是在当地工作,但在网上工作正常 的问题 我在Firefox上运行它,版本24.0运行正常,但在我的2朋友电脑上滚动相同版本。
答案 0 :(得分:0)
您的if条件不正确,请执行以下操作
if(document.getElementById(id))
{
}
答案 1 :(得分:0)
我不确定,但我猜问题就在于:数字值+字符串可能导致错误。
document.getElementById(id).height = (newheight) + "px";
document.getElementById(id).width = (newwidth) + "px";
您可以将其写为
document.getElementById(id).height = newheight;
document.getElementById(id).width = newwidth;
也可以删除'px',因为默认长度仅以像素为单位。
答案 2 :(得分:0)
嘿,我的问题解决了,因为我正在给路径
dr["html"] = "http://stackoverflow.com/file/1.html";
但正确的方法是给我的iframe调用html页面的路径是
dr["html"] ="http://www.stackoverflow.com/file/1.html"