我有一个Web应用程序,可以在另一个aspx页面上创建图表。有时,无法根据规范创建图形,因为用户规范中存在错误(例如需要整数的字符串)。
我想立即弹出一个警告窗口,告诉他们在我尝试渲染图形时出现了问题。
问题是,我不知道如何立即检查是否应该为警报窗口插入脚本。一旦执行了我在“chart.aspx”(图像URL)上的代码,我就不知道如何从主页面立即检查是否有任何问题。我知道它发生在chart.aspx的代码中,但除了不渲染图像或渲染不同的图像之外,我不知道如何在另一个回发之前告诉用户。在呈现其中一个图像之后,我真的想看看页面生命周期中是否存在任何排序或事件或阶段。
如果无法做到这一点,我怎么能将chart.aspx传送给default.aspx的错误信息,如果它只是一个图像。也许是某种Response.Write(......?)
再次感谢你们。
答案 0 :(得分:1)
也许您可以尝试通过javascript监控图片的加载事件并处理onabort和onerror?
http://www.w3schools.com/jsref/dom_obj_image.asp
图像对象事件
Event The event occurs when...
onabort Loading of an image is interrupted
onerror An error occurs when loading an image
onload An image is finished loading
旧学校这样做的方式是渲染你的图片标签如下:
<img src="chart.aspx" onerror="alert('Image failed to load because XYZ.');" />
如今,我建议您使用jquery,如下所示:
<img src="placeholder.gif" class="chart" alt="chart">
<script type="text/javascript">
jQuery(function($) {
var img = $(document.createElement('img'));
img.on('error', function() { alert ('...'); });
img.on('load', function() { $('img.chart').attr('src', img[0].src); });
});