我发现safari跟IE和FF有点不兼容的地方,safari好像只有在onload里面才能获取到图片按钮的大小
结果是:IE和FF两次都能获取到图片按钮的大小,但Safari第一次获取到的大小 是0,0,第二次才能获取到大小,
请问这个要怎么处理呢?Safari能不能在后台注册的JS里获取到图片按钮的大小?
贴代码如下:
<head runat="server">
<title>无标题页</title>
<script type="text/javascript">
window.onload = function ()
{ //第二次显示图片大小
showImgSize();
}
function showImgSize()
{
var obj = document.getElementById("btn");
var width,height;
width = obj.width ? obj.width : obj.offsetWidth;
height= obj.height ? obj.height : obj.offsetHeight;
alert("width:"+width+",height:"+height);
return false;
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ImageButton ID="btn" runat="server" ImageUrl="~/App_Themes/Style01/Images/16.gif" />
</div>
</form>
</body> 在后台的Page_Load
protected void Page_Load(object sender, EventArgs e)
{
//第一次显示图片大小
ScriptManager.RegisterStartupScript(Page, typeof(Page), "alert", "showImgSize();", true);
}
结果是:IE和FF两次都能获取到图片按钮的大小,但Safari第一次获取到的大小 是0,0,第二次才能获取到大小,
请问这个要怎么处理呢?Safari能不能在后台注册的JS里获取到图片按钮的大小?
贴代码如下:
<head runat="server">
<title>无标题页</title>
<script type="text/javascript">
window.onload = function ()
{ //第二次显示图片大小
showImgSize();
}
function showImgSize()
{
var obj = document.getElementById("btn");
var width,height;
width = obj.width ? obj.width : obj.offsetWidth;
height= obj.height ? obj.height : obj.offsetHeight;
alert("width:"+width+",height:"+height);
return false;
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ImageButton ID="btn" runat="server" ImageUrl="~/App_Themes/Style01/Images/16.gif" />
</div>
</form>
</body> 在后台的Page_Load
protected void Page_Load(object sender, EventArgs e)
{
//第一次显示图片大小
ScriptManager.RegisterStartupScript(Page, typeof(Page), "alert", "showImgSize();", true);
}
<img src="" onload=showImgSize()>